Haz scraping de páginas individuales, rastrea sitios completos y mapea URL desde tu aplicación de Elixir. El SDK valida todos los parámetros en tiempo de ejecución con NimbleOptions y usa Req para HTTP, así que obtienes errores claros por errores tipográficos y opciones no válidas antes de realizar cualquier solicitud.
Cada función tiene una variante con bang (!) que lanza una excepción en lugar de devolver tuplas {:error, ...}.
Instalación#
Añade firecrawl a tu lista de dependencias en mix.exs y configura tu clave de API:
O pasa la clave de API en cada solicitud:
Uso#
- Obtén una clave de API en firecrawl.dev
- Configura la clave de API en tu aplicación o pásala como opción a cualquier función.
Scraping de una URL#
Haz scraping de una URL con scrape_and_extract_from_url. Devuelve el contenido de la página como datos estructurados, incluidos markdown, metadatos y cualquier otro formato que solicites.
Rastrear un sitio web#
Para rastrear un sitio web, usa crawl_urls. Recibe la URL inicial y parámetros opcionales, como el límite de páginas, los dominios permitidos y el formato de salida.
Iniciar un rastreo#
Inicia un trabajo de rastreo y devuelve el ID del trabajo sin bloquear:
Consultar el estado de un rastreo#
Consulta el estado de un trabajo de rastreo con get_crawl_status:
Cancelar un rastreo#
Cancela un trabajo de rastreo con cancel_crawl:
Mapea un sitio web#
Usa map_urls para generar una lista de URL de un sitio web:
Buscar#
Busca en la web y, opcionalmente, haz scraping de los resultados:
Extracción por lotes#
Haz scraping de varias URL en un único trabajo por lotes:
Agent#
Inicia una tarea de extracción de datos con agentes:
Browser#
Inicia sesiones de navegador en la nube y ejecuta código de forma remota.
Crear una sesión#
Ejecutar código#
Perfiles#
Guarda y reutiliza el estado del navegador (cookies, localStorage, etc.) entre sesiones:
Listar & cerrar sesiones#
Instancias autogestionadas#
Para usar una instancia autogestionada de Firecrawl, pasa la opción base_url:
Manejo de errores#
Las funciones sin bang devuelven {:ok, response} o {:error, exception}. Las variantes con bang lanzan una excepción en caso de error. NimbleOptions valida todos los parámetros antes de enviar la solicitud, detectando de inmediato errores tipográficos, campos obligatorios ausentes y errores de tipo.
Todas las funciones disponibles#
| Función | Descripción |
|---|---|
scrape_and_extract_from_url | Hace scraping de una sola URL |
scrape_and_extract_from_urls | Realiza una extracción por lotes de varias URL |
crawl_urls | Rastrea un sitio web |
get_crawl_status | Comprueba el estado del trabajo de rastreo |
get_crawl_errors | Obtiene los errores del trabajo de rastreo |
get_active_crawls | Lista los rastreos activos |
cancel_crawl | Cancela un trabajo de rastreo |
map_urls | Mapea las URL de un sitio web |
search_and_scrape | Busca y hace scraping de los resultados |
start_agent | Inicia una tarea de extracción con agente |
get_agent_status | Comprueba el estado del trabajo del agente |
cancel_agent | Cancela un trabajo del agente |
create_browser_session | Crea una sesión del navegador |
execute_browser_code | Ejecuta código en una sesión del navegador |
list_browser_sessions | Lista las sesiones del navegador |
delete_browser_session | Elimina una sesión del navegador |
get_batch_scrape_status | Comprueba el estado de la extracción por lotes |
get_batch_scrape_errors | Obtiene los errores de la extracción por lotes |
cancel_batch_scrape | Cancela una extracción por lotes |
get_credit_usage | Obtiene los créditos restantes |
Todas las funciones anteriores tienen una variante bang (!) (por ejemplo, scrape_and_extract_from_url!) que lanza una excepción en lugar de devolver tuplas de error.
Para consultar la documentación completa de la API, consulta hexdocs.pm/firecrawl.

