Instalación#
El SDK oficial de Go se encuentra en el monorepo de Firecrawl, en apps/go-sdk.
Para instalar el SDK de Firecrawl para Go, ejecuta:
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 conoption.WithAPIKey(...)
Aquí tienes un ejemplo rápido con la API actual del SDK:
Scraping de una URL#
Para hacer scraping de una sola URL, usa el método Scrape.
Extracción JSON#
Extrae JSON estructurado con JsonOptions mediante el endpoint Scrape:
Rastreo de un sitio web#
Para rastrear un sitio web y esperar a que finalice, usa Crawl.
Iniciar un rastreo#
Inicia un trabajo sin esperar con StartCrawl.
Consultar el estado del rastreo#
Consulta el progreso del rastreo con GetCrawlStatus.
Cancelar un rastreo#
Cancela un rastreo en ejecución con CancelCrawl.
Mapeo de un sitio web#
Encuentra enlaces en un sitio con Map.
Buscar en la Web#
Busca con opciones de búsqueda opcionales mediante Search.
Scraping por lotes#
Realiza scraping de varias URL en paralelo con BatchScrape.
Agent#
Ejecuta un agente con IA mediante Agent.
Con un esquema JSON para una salida estructurada:
Uso & métricas#
Consulta la concurrencia y los créditos restantes:
Browser#
El SDK de Go incluye utilidades para el sandbox del navegador.
Crear una sesión#
Ejecutar código#
Sesión interactiva vinculada al scraping#
Usa un ID de trabajo de scraping para ejecutar código adicional del navegador en el mismo contexto reproducido:
Interact(...)ejecuta código en la sesión del navegador vinculada al scraping (y la inicializa en el primer uso).StopInteractiveBrowser(...)detiene explícitamente la sesión interactiva cuando hayas terminado.
Listar & cerrar sesiones#
Configuración#
firecrawl.NewClient() acepta opciones funcionales:
| Opción | Tipo | Predeterminado | Descripción |
|---|---|---|---|
option.WithAPIKey | string | variable de entorno FIRECRAWL_API_KEY | Tu clave de API de Firecrawl |
option.WithAPIURL | string | https://api.firecrawl.dev (o FIRECRAWL_API_URL) | URL base de la API |
option.WithTimeout | time.Duration | 5 * time.Minute | Tiempo de espera del cliente HTTP |
option.WithMaxRetries | int | 3 | Reintentos automáticos ante fallos transitorios |
option.WithBackoffFactor | float64 | 0.5 | Factor de backoff exponencial en segundos |
option.WithHTTPClient | *http.Client | Se construye a partir del timeout | Instancia de cliente HTTP preconfigurada |
option.WithHeader | string, string | — | Añade una cabecera adicional a todas las solicitudes |
Cliente HTTP personalizado#
Puedes pasar un *http.Client preconfigurado para controlar la configuración del transporte, del proxy, de TLS y más. Cuando se proporciona, la opción WithTimeout se ignora y prevalece la propia configuración del cliente.
Compatibilidad con context.Context#
Todos los métodos aceptan context.Context como primer argumento para gestionar la cancelación y los plazos:
Manejo de errores#
El SDK usa errores tipados del paquete firecrawl.
Lógica de reintento#
El SDK reintenta automáticamente los errores transitorios:
- Se reintentan: errores 408, 409 y 5xx, y fallos de conexión
- No se reintentan: errores 401, 429 y otros errores 4xx
- Backoff: backoff exponencial con factor configurable
Funciones auxiliares para punteros#
El SDK proporciona funciones auxiliares para campos de puntero opcionales:
¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta firecrawl.dev/agent-onboarding/SKILL.md para ver las instrucciones de incorporación automática.

