Instalación#
El SDK oficial de Firecrawl para .NET se mantiene en el monorepo de Firecrawl, en apps/dot-net-sdk.
Para instalar el SDK de Firecrawl para .NET, agrega el paquete NuGet:
Uso#
- Obtén una clave de API de firecrawl.dev
- Configura la clave de API como una variable de entorno llamada
FIRECRAWL_API_KEYo pásala al constructor deFirecrawlClient
Aquí tienes un ejemplo rápido con la API actual del SDK:
Hacer scraping de una URL#
Para hacer scraping de una sola URL, usa el método ScrapeAsync.
Extracción JSON#
Extrae JSON estructurado con JsonFormat a través del endpoint de scraping:
Rastreo de un sitio web#
Para rastrear un sitio web y esperar a que finalice, usa CrawlAsync. Este método gestiona el sondeo y la paginación automáticamente.
Iniciar un rastreo#
Inicia un trabajo sin esperar con StartCrawlAsync.
Consultar el estado del rastreo#
Consulta el progreso del rastreo con GetCrawlStatusAsync.
Cancelar un rastreo#
Cancela un rastreo en curso con CancelCrawlAsync.
Mapeo de un sitio web#
Descubre enlaces en un sitio con MapAsync.
Búsqueda en la Web#
Realiza búsquedas con opciones de búsqueda opcionales utilizando SearchAsync.
Scraping por lotes#
Realiza scraping de varias URL en paralelo con BatchScrapeAsync. Este método se encarga del sondeo y la paginación automáticamente.
Extracción por lotes con clave de idempotencia#
Para evitar que se procesen solicitudes duplicadas, pasa una IdempotencyKey:
Uso y métricas#
Consulta la concurrencia y los créditos restantes:
Compatibilidad con async#
Todos los métodos del SDK de Firecrawl para .NET son async de forma predeterminada y devuelven Task<T>. Admiten CancellationToken para una cancelación cooperativa.
Configuración#
El constructor de FirecrawlClient admite las siguientes opciones:
| Opción | Tipo | Predeterminado | Descripción |
|---|---|---|---|
apiKey | string? | Variable de entorno FIRECRAWL_API_KEY | Tu clave de la API de Firecrawl |
apiUrl | string? | https://api.firecrawl.dev (o FIRECRAWL_API_URL) | URL base de la API |
timeout | TimeSpan? | 5 minutos | Tiempo de espera de la solicitud HTTP |
maxRetries | int | 3 | Reintentos automáticos ante fallos transitorios |
backoffFactor | double | 0.5 | Factor de retroceso exponencial en segundos |
httpClient | HttpClient? | Se crea a partir de timeout | Instancia de HttpClient preconfigurada |
Cliente HTTP personalizado#
Puedes pasar un HttpClient preconfigurado para controlar el pool de conexiones, los proxies, los manejadores de mensajes y cualquier otra funcionalidad de HttpClient. Cuando se proporciona, la configuración de timeout se ignora y prevalece la propia configuración del cliente.
Configuración de variables de entorno#
El SDK obtiene la configuración a partir de variables de entorno cuando se omiten los parámetros del constructor:
Manejo de errores#
El SDK lanza excepciones específicas bajo Firecrawl.Exceptions.
La jerarquía de excepciones:
| Exception | HTTP Code | When |
|---|---|---|
AuthenticationException | 401 | Clave de API no válida o ausente |
RateLimitException | 429 | Demasiadas solicitudes |
JobTimeoutException | — | El trabajo asíncrono (crawl/extracción por lotes) no se completó a tiempo |
FirecrawlException | varía | Excepción base para todos los demás errores de la API |
Los fallos transitorios (408, 409, 502 y otros errores 5xx) se reintentan automáticamente con backoff exponencial antes de que se lance una excepción.
¿Eres un agente de IA y necesitas una clave de API de Firecrawl? Consulta firecrawl.dev/agent-onboarding/SKILL.md para obtener instrucciones de incorporación automatizada.

