Skip to main content

.NET

O SDK .NET do Firecrawl é um wrapper da API do Firecrawl para ajudar você a transformar sites em markdown com facilidade.
3 min read

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:

Note
Requer .NET 8.0 ou superior.

Uso#

  1. Obtenha uma chave de API em firecrawl.dev
  2. Defina a chave de API como uma variável de ambiente chamada FIRECRAWL_API_KEY ou passe-a para o construtor FirecrawlClient

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:

OptionTypeDefaultDescription
apiKeystring?variável de ambiente FIRECRAWL_API_KEYSua chave de API do Firecrawl
apiUrlstring?https://api.firecrawl.dev (ou FIRECRAWL_API_URL)URL base da API
timeoutTimeSpan?5 minutosTempo limite da solicitação HTTP
maxRetriesint3Tentativas automáticas para falhas transitórias
backoffFactordouble0.5Fator de backoff exponencial em segundos
httpClientHttpClient?Criado a partir de timeoutInstâ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çãoCódigo HTTPQuando
AuthenticationException401Chave de API inválida ou ausente
RateLimitException429Muitas solicitações
JobTimeoutExceptionJob assíncrono (rastreamento/extração em lote) não foi concluído a tempo
FirecrawlExceptionvariaExceçã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.