Scraping básico con Firecrawl
/scrape.
Extracción de PDF
parsers (por ejemplo, parsers: ["pdf"]) cuando quieras asegurar el análisis de PDF.
Opciones de extracción
/scrape, puedes personalizar la extracción con las siguientes opciones.
Formatos (formats)
- Tipo:
array - Cadenas:
["markdown", "links", "html", "rawHtml", "summary", "images"] - Formatos de objeto:
- JSON:
{ type: "json", prompt, schema } - Captura de pantalla:
{ type: "screenshot", fullPage?, quality?, viewport? } - Seguimiento de cambios:
{ type: "changeTracking", modes?, prompt?, schema?, tag? }(requieremarkdown)
- JSON:
- Valor predeterminado:
["markdown"]
Contenido completo de la página vs contenido principal (onlyMainContent)
- Tipo:
boolean - Descripción: De forma predeterminada, el scraper devuelve solo el contenido principal. Configúralo en
falsepara devolver el contenido completo de la página. - Predeterminado:
true
- Tipo:
array - Descripción: Etiquetas, clases o IDs de HTML que se incluirán en el scraping.
- Tipo:
array - Descripción: Etiquetas/clases/ids HTML que se excluirán del scraping.
Esperar a que la página esté lista (waitFor)
- Tipo:
integer - Descripción: Milisegundos de espera adicional antes de realizar el scraping (usar con moderación). Este tiempo de espera se suma a la función de espera inteligente de Firecrawl.
- Valor predeterminado:
0
Actualidad y caché (maxAge)
- Tipo:
integer(milisegundos) - Descripción: Si existe una versión en caché de la página más reciente que
maxAge, Firecrawl la devuelve al instante; de lo contrario, vuelve a extraerla y actualiza la caché. Establece0para forzar siempre una obtención en vivo. - Predeterminado:
172800000(2 días)
Tiempo de espera de la solicitud (timeout)
- Tipo:
integer - Descripción: Duración máxima, en milisegundos, antes de cancelar.
- Valor predeterminado:
30000(30 segundos)
Análisis de PDF (parsers)
- Tipo:
array - Descripción: Controla el comportamiento del análisis. Para analizar PDFs, establece
parsers: ["pdf"]. - Costo: El análisis de PDF cuesta 1 crédito por página de PDF. Para omitir el análisis de PDF y recibir el archivo como base64 (por una tarifa plana de 1 crédito), establece
parsers: []. - Limitar páginas: Para limitar el análisis de PDF a un número específico de páginas, usa
parsers: [{"type": "pdf", "maxPages": 10}].
Acciones (actions)
- Tipo:
array - Descripción: Secuencia de pasos del navegador que se ejecutan antes del scraping.
- Acciones compatibles:
wait- Esperar a que la página cargue:{ type: "wait", milliseconds: number }o{ type: "wait", selector: string }click- Hacer clic en un elemento:{ type: "click", selector: string, all?: boolean }write- Escribir texto en un campo:{ type: "write", text: string }(el elemento debe estar enfocado primero con un clic)press- Pulsar una tecla del teclado:{ type: "press", key: string }scroll- Desplazar la página:{ type: "scroll", direction: "up" | "down", selector?: string }screenshot- Tomar una captura de pantalla:{ type: "screenshot", fullPage?: boolean, quality?: number, viewport?: { width: number, height: number } }scrape- Extraer un subelemento:{ type: "scrape" }executeJavascript- Ejecutar código JS:{ type: "executeJavascript", script: string }pdf- Generar un PDF:{ type: "pdf", format?: string, landscape?: boolean, scale?: number }
Notas sobre la ejecución de acciones
- Acción de escritura: Primero debes enfocar el elemento usando una acción de
clickantes de usarwrite. El texto se escribe carácter por carácter para simular la entrada por teclado. - Selector de scroll: Si quieres desplazar un elemento específico en lugar de toda la página, pasa el parámetro
selectorascroll. - Espera con selector: Puedes esperar a que un elemento específico sea visible usando
waitcon un parámetroselector, o esperar un tiempo fijo usandomilliseconds. - Las acciones son secuenciales: Las acciones se ejecutan en orden y Firecrawl espera a que se completen las interacciones con la página antes de pasar a la siguiente acción.
- Las acciones no son compatibles con PDFs: Las acciones requieren un motor de navegador y no se pueden usar en URLs que devuelven contenido PDF (incluyendo URLs que redirigen a PDFs). Si incluyes
actionsen tu petición y la URL resuelve en un PDF, la petición fallará. Eliminaactionsde tu petición cuando hagas scraping de PDFs.
Ejemplos de acciones avanzadas
cURL
cURL
cURL
Ejemplo de uso
cURL
- Devuelve el contenido completo de la página en markdown.
- Incluye el markdown, el HTML sin procesar, el HTML, los enlaces y una captura de pantalla en la respuesta.
- Incluye solo las etiquetas HTML
<h1>,<p>,<a>y los elementos con la clase.main-content, excluyendo cualquier elemento con los IDs#ady#footer. - Espera 1000 milisegundos (1 segundo) antes de realizar el scraping para permitir que la página cargue.
- Establece la duración máxima de la solicitud de scraping en 15000 milisegundos (15 segundos).
- Analiza PDF explícitamente mediante
parsers: ["pdf"].
Extracción JSON mediante formatos
formats para extraer datos estructurados en una sola operación:
Endpoint de extracción
Rastreo de múltiples páginas
/v2/crawl.
cURL
Consultar trabajo de rastreo
cURL
Paginación/URL siguiente
next, una URL de la siguiente página de resultados.
Vista previa del prompt y parámetros de rastreo
prompt en lenguaje natural para que Firecrawl derive la configuración de rastreo. Primero, prévisualízala:
cURL
Opciones del rastreador
/v2/crawl, puedes personalizar el comportamiento del rastreo con:
includePaths
- Tipo:
array - Descripción: Patrones de expresiones regulares a incluir. De forma predeterminada, se comparan solo con el pathname de la URL (no con los parámetros de consulta). Para hacer coincidir con la URL completa, incluidas las query strings, usa
regexOnFullURL: true. - Ejemplo:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- Tipo:
array - Descripción: Patrones de expresiones regulares para excluir. De forma predeterminada, se comparan únicamente con el pathname de la URL (no con los parámetros de consulta). Para hacer coincidir contra la URL completa, incluidas las query strings, usa
regexOnFullURL: true. - Ejemplo:
["^/admin/.*$", "^/private/.*$"]
regexOnFullURL
- Type:
boolean - Description: Cuando es
true, los patrones deincludePathsyexcludePathsse evalúan contra la URL completa (incluidos los parámetros de consulta) en lugar de solo elpathname. Útil para filtrar URLs por parámetros de consulta. - Default:
false
maxDiscoveryDepth
- Tipo:
integer - Descripción: Profundidad máxima de descubrimiento para encontrar nuevas URLs.
limit
- Tipo:
integer - Descripción: Número máximo de páginas a rastrear.
- Valor predeterminado:
10000
crawlEntireDomain
- Type:
boolean - Description: Explorar a través de páginas hermanas y superiores para cubrir todo el dominio.
- Default:
false
allowExternalLinks
- Tipo:
boolean - Descripción: Seguir enlaces a dominios externos.
- Valor predeterminado:
false
allowSubdomains
- Tipo:
boolean - Descripción: Seguir los subdominios del dominio principal.
- Valor predeterminado:
false
delay
- Tipo:
number - Descripción: Retraso en segundos entre scrapes.
- Predeterminado:
undefined
sitemap
- Type:
string - Enum:
"skip","include","only" - Description: Controla cómo el rastreador usa el sitemap del sitio web.
"include"(predeterminado) usa el sitemap junto con el descubrimiento de enlaces."skip"ignora el sitemap por completo."only"restringe el rastreo a las URL encontradas en el sitemap (más la URL inicial). - Default:
"include"
deduplicateSimilarURLs
- Tipo:
boolean - Descripción: Cuando es
true, el rastreador trata como duplicadas las variantes de URL que apuntan a la misma página; por ejemplo,www.frente a no-www.,httpfrente ahttps, barras finales y sufijosindex.html/index.phpse normalizan antes de comprobar si hay duplicados. Esto no elimina los parámetros de consulta de la URL (para eso, usaignoreQueryParameters). - Valor predeterminado:
true
ignoreQueryParameters
- Type:
boolean - Description: Cuando es
true, las cadenas de consulta se eliminan de las URL antes de la deduplicación, por lo que/page?a=1y/page?a=2se consideran la misma URL y solo se rastrean una vez. - Default:
false
scrapeOptions
- Tipo:
object - Descripción: Opciones para el scraper (consulta los formatos arriba).
- Ejemplo:
{ "formats": ["markdown", "links", {"type": "screenshot", "fullPage": true}], "includeTags": ["h1", "p", "a", ".main-content"], "excludeTags": ["#ad", "#footer"], "onlyMainContent": false, "waitFor": 1000, "timeout": 15000} - Valores predeterminados:
formats: ["markdown"], caché habilitada de forma predeterminada (maxAge ~ 2 días)
Ejemplo de uso
cURL
Mapeo de enlaces de sitios web
/v2/map identifica las URL relacionadas con un sitio web dado.
Uso
cURL
Opciones de mapeo
search
- Tipo:
string - Descripción: Filtra enlaces que contengan el texto.
limit
- Tipo:
integer - Descripción: Número máximo de enlaces a retornar.
- Valor por defecto:
100
sitemap
- Tipo:
"only" | "include" | "skip" - Descripción: Controla el uso del sitemap durante el mapeo.
- Predeterminado:
"include"
includeSubdomains
- Tipo:
boolean - Descripción: Incluye los subdominios del sitio web.
- Valor predeterminado:
true
Agregar Firecrawl a la lista de permitidos
Permitir que Firecrawl rastree tu sitio web
- User Agent: Firecrawl se identifica con el user agent
FirecrawlAgent. Permite esta cadena de user agent en tu firewall o en tus reglas de seguridad. - Direcciones IP: Firecrawl no utiliza un conjunto fijo de direcciones IP para las solicitudes de rastreo salientes.
Permitir que tu aplicación llame a la API de Firecrawl
35.245.250.27 a la lista de permitidos para habilitar las llamadas a la API de Firecrawl.
