Neynar (Farcaster API)
Interagissez avec le protocole social décentralisé Farcaster via l'API de Neynar.
Démarrage rapide
Configuration
- Obtenez une clé API sur dev.neynar.com
- Créez la configuration :
mkdir -p ~/.clawdbot/skills/neynar
cat > ~/.clawdbot/skills/neynar/config.json << 'EOF'
{
"apiKey": "YOUR_NEYNAR_API_KEY",
"signerUuid": "YOUR_SIGNER_UUID"
}
EOF
Note : signerUuid est uniquement requis pour publier des casts. Obtenez-en un via la gestion des signers de Neynar.
Vérifier la configuration
scripts/neynar.sh user dwr.eth
Concepts clés
- FID — Farcaster ID, un identifiant numérique permanent pour chaque utilisateur
- Cast — Une publication sur Farcaster (comme un tweet)
- Channel — Des fils thématiques (comme les subreddits)
- Frame — Des mini-applications interactives intégrées dans les casts
Utilisation
Recherche d'utilisateur
# Par nom d'utilisateur
scripts/neynar.sh user vitalik.eth
# Par FID
scripts/neynar.sh user --fid 5650
# Plusieurs utilisateurs
scripts/neynar.sh users dwr.eth,v,jessepollak
Lire le fil
# Casts d'un utilisateur
scripts/neynar.sh feed --user dwr.eth
# Fil d'un channel
scripts/neynar.sh feed --channel base
# Fil tendance
scripts/neynar.sh feed --trending
# Fil des abonnements (requiert un signer)
scripts/neynar.sh feed --following
Recherche
# Rechercher des casts
scripts/neynar.sh search "ethereum"
# Rechercher des utilisateurs
scripts/neynar.sh search-users "vitalik"
# Rechercher dans un channel
scripts/neynar.sh search "onchain summer" --channel base
Obtenir un cast
# Par hash
scripts/neynar.sh cast 0x1234abcd...
# Par URL
scripts/neynar.sh cast "https://warpcast.com/dwr.eth/0x1234"
Publier un cast (requiert un signer)
# Cast simple
scripts/neynar.sh post "gm farcaster"
# Réponse à un cast
scripts/neynar.sh post "great point!" --reply-to 0x1234abcd
# Cast dans un channel
scripts/neynar.sh post "hello base" --channel base
# Cast avec embed
scripts/neynar.sh post "check this out" --embed "https://example.com"
Réactions
# Liker un cast
scripts/neynar.sh like 0x1234abcd
# Recast
scripts/neynar.sh recast 0x1234abcd
Suivre/Ne plus suivre
scripts/neynar.sh follow dwr.eth
scripts/neynar.sh unfollow dwr.eth
Référence API
Endpoints utilisés
| Action | Endpoint | Auth |
|---|---|---|
| Recherche d'utilisateur | GET /v2/farcaster/user/by_username |
Clé API |
| Utilisateur par FID | GET /v2/farcaster/user/bulk |
Clé API |
| Fil d'utilisateur | GET /v2/farcaster/feed/user/casts |
Clé API |
| Fil d'un channel | GET /v2/farcaster/feed/channels |
Clé API |
| Tendances | GET /v2/farcaster/feed/trending |
Clé API |
| Rechercher des casts | GET /v2/farcaster/cast/search |
Clé API |
| Obtenir un cast | GET /v2/farcaster/cast |
Clé API |
| Publier un cast | POST /v2/farcaster/cast |
Clé API + Signer |
| Réagir | POST /v2/farcaster/reaction |
Clé API + Signer |
| Suivre | POST /v2/farcaster/user/follow |
Clé API + Signer |
Format de réponse
Toutes les réponses sont en JSON. Le script extrait les champs clés pour la lisibilité :
{
"user": {
"fid": 3,
"username": "dwr.eth",
"display_name": "Dan Romero",
"follower_count": 450000,
"following_count": 2800,
"verified_addresses": ["0x..."]
}
}
Motifs courants
Surveiller un channel
# Obtenir les derniers casts du channel /base
scripts/neynar.sh feed --channel base --limit 20
Trouver des utilisateurs actifs
# Rechercher des utilisateurs par mot-clé
scripts/neynar.sh search-users "ethereum developer"
Partager depuis Twitter
# Publier le même contenu sur Farcaster
scripts/neynar.sh post "gm, just shipped a new feature 🚀"
Répondre aux mentions
# Obtenir vos notifications (requiert un signer)
scripts/neynar.sh notifications
# Répondre à un cast spécifique
scripts/neynar.sh post "thanks!" --reply-to 0xabc123
Gestion des erreurs
| Erreur | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Clé API invalide | Vérifiez config.json |
| 403 Forbidden | Signer requis | Configurez un signer pour les opérations d'écriture |
| 404 Not Found | Utilisateur/cast inexistant | Vérifiez le nom d'utilisateur/hash |
| 429 Rate Limited | Trop de requêtes | Attendez et réessayez |
Configuration du signer
Pour les opérations d'écriture (publier, liker, suivre), vous avez besoin d'un signer :
- Allez sur dev.neynar.com
- Créez un nouveau signer ou utilisez un signer managé
- Ajoutez
signerUuidà votre configuration
Les signers managés sont les plus simples — Neynar gère la garde des clés.
Limites de débit
- Tier gratuit : 300 requêtes/minute
- Tiers payants : Limites supérieures disponibles
- Vérifiez l'en-tête
X-RateLimit-Remaining
Bonnes pratiques
- Mettre en cache les recherches d'utilisateurs — Les FIDs ne changent pas, les noms d'utilisateur rarement
- Utiliser les channels — Meilleure portée qu'une publication aléatoire
- S'engager authentiquement — La culture Farcaster valorise l'authenticité
- Regrouper les requêtes — Utilisez les endpoints en masse quand c'est possible
- Gérer les limites de débit — Implémentez un backoff
Ressources
- Docs Neynar : https://docs.neynar.com
- Référence API : https://docs.neynar.com/reference
- Portail développeur : https://dev.neynar.com
- Docs Farcaster : https://docs.farcaster.xyz
Dépannage
La clé API ne fonctionne pas
# Vérifier que la clé fonctionne
curl -H "x-api-key: YOUR_KEY" \
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
Problèmes de signer
- Assurez-vous que le signer est approuvé et actif
- Vérifiez que les permissions du signer correspondent à votre FID
- Les signers managés sont plus simples que les signers auto-hébergés
Le cast n'apparaît pas
- Les casts se propagent en quelques secondes, mais l'indexation peut prendre plus de temps
- Vérifiez le hash du cast dans la réponse
- Vérifiez directement sur warpcast.com