Skip to main content

Go

Le SDK Go de Firecrawl est un wrapper de l’API Firecrawl qui vous aide à convertir facilement des sites web en Markdown.
3 min read

Installation#

Le SDK Go officiel est maintenu dans le monorepo de Firecrawl, sous apps/go-sdk.

Pour installer le SDK Go de Firecrawl, exécutez :

Note
Nécessite Go 1.23 ou version ultérieure.

Utilisation#

  1. Obtenez une clé API sur firecrawl.dev
  2. Définissez la clé API dans une variable d’environnement nommée FIRECRAWL_API_KEY, ou transmettez-la avec option.WithAPIKey(...)

Voici un exemple rapide avec l’API actuelle du SDK :

Scraping d’une URL#

Pour scraper une seule URL, utilisez la méthode Scrape.

Extraction de JSON#

Extrayez des données JSON structurées à l’aide de JsonOptions via le point de terminaison Scrape :

Crawler un site web#

Pour crawler un site web et attendre la fin de l’opération, utilisez Crawl.

Démarrer un crawl#

Lancez une tâche sans attendre avec StartCrawl.

Vérifier l’état du crawl#

Vérifiez la progression du crawl avec GetCrawlStatus.

Annuler un crawl#

Annulez un crawl en cours à l’aide de CancelCrawl.

Cartographier un site web#

Découvrez les liens d’un site avec Map.

Recherche sur le Web#

Effectuez une recherche avec des paramètres de recherche facultatifs via Search.

Scraping par lots#

Scrapez plusieurs URL en parallèle avec BatchScrape.

Agent#

Lancez un agent basé sur l’IA avec Agent.

Avec un schéma JSON pour une sortie structurée :

Utilisation & métriques#

Consultez la concurrence et les crédits restants :

Browser#

Le SDK Go inclut des fonctions utilitaires pour Browser Sandbox.

Créer une session#

Exécuter du code#

Session interactive liée à une tâche de scraping#

Utilisez l’ID d’une tâche de scraping pour exécuter du code de navigateur de suivi dans le même contexte rejoué :

  • Interact(...) exécute du code dans la session de navigateur liée à la tâche de scraping (et l’initialise lors de la première utilisation).
  • StopInteractiveBrowser(...) arrête explicitement la session interactive lorsque vous avez terminé.

Lister & fermer des sessions#

Configuration#

firecrawl.NewClient() accepte des options fonctionnelles :

OptionTypePar défautDescription
option.WithAPIKeystringvariable d’environnement FIRECRAWL_API_KEYVotre clé d’API Firecrawl
option.WithAPIURLstringhttps://api.firecrawl.dev (ou FIRECRAWL_API_URL)URL de base de l’API
option.WithTimeouttime.Duration5 * time.Minutedélai d’expiration du client HTTP
option.WithMaxRetriesint3tentatives automatiques en cas d’échecs transitoires
option.WithBackoffFactorfloat640.5facteur de backoff exponentiel, en secondes
option.WithHTTPClient*http.ClientCréé à partir du délai d’expirationinstance de client HTTP préconfigurée
option.WithHeaderstring, stringAjoute un en-tête supplémentaire à toutes les requêtes

Client HTTP personnalisé#

Vous pouvez fournir un *http.Client préconfiguré pour contrôler les paramètres de transport, la configuration du proxy, les paramètres TLS, etc. Lorsqu'il est fourni, le paramètre WithTimeout est ignoré au profit de la configuration propre au client.

Prise en charge de context.Context#

Toutes les méthodes acceptent un context.Context comme premier argument afin de gérer l’annulation et les délais :

Gestion des erreurs#

Le SDK utilise des erreurs typées du package firecrawl.

Logique de réessai#

Le SDK réessaie automatiquement en cas d’échec temporaire :

  • Réessayés : erreurs 408, 409, 5xx et échecs de connexion
  • Non réessayés : erreurs 401, 429 et autres erreurs 4xx
  • Backoff : backoff exponentiel avec facteur configurable

Fonctions utilitaires pour les pointeurs#

Le SDK fournit des fonctions utilitaires pour les champs pointeurs facultatifs :

Êtes-vous un agent d’IA ayant besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir des instructions d’intégration automatisée.