Instalação#
O SDK oficial do .NET é mantido no monorepo do Firecrawl em apps/dot-net-sdk.
Para instalar o SDK .NET do Firecrawl, adicione o pacote NuGet:
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 para o construtorFirecrawlClient
Aqui está um exemplo rápido usando a API atual do SDK:
Fazer scraping de uma URL#
Para fazer scraping de uma única URL, use o método ScrapeAsync.
Extração JSON#
Extraia JSON estruturado com JsonFormat pelo endpoint /scrape:
Rastreamento de um site#
Para rastrear um site e aguardar a conclusão, use CrawlAsync. Esse método faz as consultas e a paginação automaticamente.
Iniciar um rastreamento#
Inicie um job sem aguardar usando StartCrawlAsync.
Verificando o status do rastreamento#
Verifique o andamento do rastreamento com GetCrawlStatusAsync.
Cancelando um rastreamento#
Cancele um rastreamento em andamento com CancelCrawlAsync.
Mapear um site#
Descubra links em um site com MapAsync.
Pesquisando na Web#
Pesquise na Web com configurações de busca opcionais usando SearchAsync.
Scraping em lote#
Faça scraping de várias URLs em paralelo usando BatchScrapeAsync. Esse método gerencia as consultas e a paginação automaticamente.
Extração em lote com chave de idempotência#
Para garantir que solicitações duplicadas não sejam processadas, forneça uma IdempotencyKey:
Uso & métricas#
Confira a concorrência e os créditos restantes:
Suporte a async#
Todos os métodos no SDK .NET são assíncronos por padrão e retornam Task<T>. Eles oferecem suporte a CancellationToken para cancelamento cooperativo.
Configuração#
O construtor FirecrawlClient oferece suporte às seguintes opções:
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string? | variável de ambiente FIRECRAWL_API_KEY | Sua chave de API do Firecrawl |
apiUrl | string? | https://api.firecrawl.dev (ou FIRECRAWL_API_URL) | URL base da API |
timeout | TimeSpan? | 5 minutos | Tempo limite da solicitação HTTP |
maxRetries | int | 3 | Tentativas automáticas para falhas transitórias |
backoffFactor | double | 0.5 | Fator de backoff exponencial em segundos |
httpClient | HttpClient? | Criado a partir de timeout | Instância pré-configurada de HttpClient |
Cliente HTTP personalizado#
Você pode passar um HttpClient pré-configurado para controlar o pool de conexões, proxies, handlers de mensagem e qualquer outro recurso do HttpClient. Quando fornecido, a configuração de tempo limite é ignorada em favor da configuração do próprio cliente.
Configuração de variáveis de ambiente#
O SDK obtém a configuração a partir de variáveis de ambiente quando os parâmetros do construtor são omitidos:
Tratamento de erros#
O SDK lança exceções específicas em Firecrawl.Exceptions.
Hierarquia de exceções:
| Exceção | Código HTTP | Quando |
|---|---|---|
AuthenticationException | 401 | Chave de API inválida ou ausente |
RateLimitException | 429 | Muitas solicitações |
JobTimeoutException | — | Job assíncrono (rastreamento/extração em lote) não foi concluído a tempo |
FirecrawlException | varia | Exceção base para todos os outros erros da API |
Falhas transitórias (408, 409, 502 e outros erros 5xx) são repetidas automaticamente com backoff exponencial antes de uma exceção ser lançada.
Você é um agente de IA que precisa de uma chave de API do Firecrawl? Consulte firecrawl.dev/agent-onboarding/SKILL.md para instruções automatizadas de onboarding.

