Instalação#
O SDK Go oficial é mantido no monorepo do Firecrawl, em apps/go-sdk.
Para instalar o SDK Go do Firecrawl, execute:
Uso#
- Obtenha uma chave de API em firecrawl.dev
- Defina a chave de API como uma variável de ambiente chamada
FIRECRAWL_API_KEYou passe-a comoption.WithAPIKey(...)
Aqui está um exemplo rápido usando a API atual do SDK:
Fazendo scraping de uma URL#
Para fazer scraping de uma única URL, use o método Scrape.
Extração JSON#
Extraia JSON estruturado usando JsonOptions no endpoint Scrape:
Rastreando um site#
Para rastrear um site e aguardar a conclusão, use Crawl.
Iniciar um rastreamento#
Inicie um job sem aguardar com StartCrawl.
Verificando o status do rastreamento#
Verifique o andamento do rastreamento com GetCrawlStatus.
Cancelar um rastreamento#
Cancele um rastreamento em execução com CancelCrawl.
Mapeando um site#
Descubra links de um site usando Map.
Pesquisando na web#
Pesquise com configurações opcionais de busca usando Search.
Scraping em lote#
Faça o scraping de várias URLs em paralelo com BatchScrape.
Agente#
Execute um agente com IA usando Agent.
Com um schema JSON para resultado estruturado:
Uso & Métricas#
Confira a concorrência e os créditos restantes:
Browser#
O SDK de Go inclui utilitários do Browser Sandbox.
Criar uma sessão#
Executar código#
Sessão interativa vinculada ao scraping#
Use um ID do job de scraping para executar código de navegador subsequente no mesmo contexto reproduzido:
Interact(...)executa código na sessão do navegador vinculada ao scraping (e a inicializa no primeiro uso).StopInteractiveBrowser(...)encerra explicitamente a sessão interativa quando você terminar.
Listar & Encerrar Sessões#
Configuração#
firecrawl.NewClient() aceita opções funcionais:
| Option | Type | Default | Description |
|---|---|---|---|
option.WithAPIKey | string | variável de ambiente FIRECRAWL_API_KEY | Sua chave de API do Firecrawl |
option.WithAPIURL | string | https://api.firecrawl.dev (ou FIRECRAWL_API_URL) | URL base da API |
option.WithTimeout | time.Duration | 5 * time.Minute | Tempo limite do cliente HTTP |
option.WithMaxRetries | int | 3 | Retentativas automáticas para falhas transitórias |
option.WithBackoffFactor | float64 | 0.5 | Fator de backoff exponencial em segundos |
option.WithHTTPClient | *http.Client | Construído com base no tempo limite | Instância de cliente HTTP pré-configurada |
option.WithHeader | string, string | — | Adiciona um cabeçalho extra a todas as requisições |
Cliente HTTP personalizado#
Você pode passar um *http.Client pré-configurado para controlar configurações de transporte, proxy, TLS e muito mais. Quando fornecido, a configuração WithTimeout é ignorada em favor da configuração do próprio cliente.
Suporte a Contexto#
Todos os métodos aceitam um context.Context como primeiro argumento para controle de cancelamento e tempo limite:
Tratamento de erros#
O SDK usa erros tipados no pacote firecrawl.
Lógica de retentativa#
O SDK tenta novamente automaticamente em falhas transitórias:
- Com retentativa: erros 408, 409, 5xx e falhas de conexão
- Sem retentativa: erros 401, 429 e outros erros 4xx
- Backoff: backoff exponencial com fator configurável
Helpers para ponteiros#
O SDK fornece funções auxiliares para campos de ponteiro opcionais:
Você é um agente de IA que precisa de uma chave de API do Firecrawl? Consulte firecrawl.dev/agent-onboarding/SKILL.md para instruções de onboarding automatizado.

