Saltar al contenido principal

Instalación

Instala la CLI de Firecrawl de forma global con npm:
CLI
# Instalar globalmente con npm
npm install -g firecrawl-cli
Si lo estás usando en un agente de IA como Claude Code, puedes instalar la habilidad de Firecrawl a continuación y el agente podrá configurarla por ti.
npx skills add firecrawl/cli
Después de instalar la habilidad, reinicia Claude Code para que detecte la nueva habilidad.

Autenticación

Antes de usar la CLI, primero debes autenticarte con tu clave de API de Firecrawl.

Inicio de sesión

CLI
# Inicio de sesión interactivo (abre el navegador o solicita la clave API)
firecrawl login

# Inicio de sesión con autenticación por navegador (recomendado para agentes)
firecrawl login --browser

# Inicio de sesión con clave API directamente
firecrawl login --api-key fc-YOUR-API-KEY

# O establecer mediante variable de entorno
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY

Ver la configuración

CLI
# Ver configuración actual y estado de autenticación
firecrawl view-config

Cerrar sesión

CLI
# Borrar credenciales almacenadas
firecrawl logout

Autohospedado / Desarrollo local

Para instancias de Firecrawl autohospedadas o desarrollo local, usa la opción --api-url:
CLI
# Usa una instancia local de Firecrawl (no requiere clave de API)
firecrawl --api-url http://localhost:3002 scrape https://example.com

# Or set via environment variable
export FIRECRAWL_API_URL=http://localhost:3002
firecrawl scrape https://example.com

# Configure and persist the custom API URL
firecrawl config --api-url http://localhost:3002
Cuando uses una URL de la API personalizada (cualquier valor distinto de https://api.firecrawl.dev), la autenticación con clave de API se omite automáticamente, lo que te permite usar instancias locales sin una clave de API.

Comprobar estado

Comprueba la instalación, la autenticación y consulta los límites de velocidad (rate limits):
CLI
firecrawl --status
Genera la salida cuando esté listo:
  🔥 firecrawl cli v1.1.1

  ● Authenticated via FIRECRAWL_API_KEY
  Concurrency: 0/100 jobs (parallel scrape limit)
  Credits: 500,000 remaining
  • Concurrencia: Máximo de tareas en paralelo. Ejecuta operaciones en paralelo lo más cerca posible de este límite, pero sin superarlo.
  • Créditos: Créditos de API restantes. Cada operación de scrape/crawl consume créditos.

Comandos

Scrape

Extrae el contenido de una única URL en distintos formatos.
Usa --only-main-content para obtener una salida limpia sin navegación, pies de página ni anuncios. Se recomienda para la mayoría de los casos de uso en los que solo quieres el artículo o el contenido principal de la página.
CLI
# Extraer datos de una URL (predeterminado: salida en markdown)
firecrawl https://example.com

# O usar el comando explícito de scrape
firecrawl scrape https://example.com

# Recomendado: usar --only-main-content para obtener una salida limpia sin navegación/pie de página
firecrawl https://example.com --only-main-content

Formatos de salida

CLI
# Obtener salida HTML
firecrawl https://example.com --html

# Múltiples formatos (devuelve JSON)
firecrawl https://example.com --format markdown,links

# Obtener imágenes de una página
firecrawl https://example.com --format images

# Obtener un resumen del contenido de la página
firecrawl https://example.com --format summary

# Rastrear cambios en una página
firecrawl https://example.com --format changeTracking

# Formatos disponibles: markdown, html, rawHtml, links, screenshot, json, images, summary, changeTracking, attributes, branding

Opciones de Scrape

CLI
# Extraer solo el contenido principal (elimina navegación y pies de página)
firecrawl https://example.com --only-main-content

# Wait for JavaScript rendering
firecrawl https://example.com --wait-for 3000

# Take a screenshot
firecrawl https://example.com --screenshot

# Include/exclude specific HTML tags
firecrawl https://example.com --include-tags article,main
firecrawl https://example.com --exclude-tags nav,footer

# Save output to file
firecrawl https://example.com -o output.md

# Pretty print JSON output
firecrawl https://example.com --format markdown,links --pretty

# Force JSON output even with single format
firecrawl https://example.com --json

# Show request timing information
firecrawl https://example.com --timing
Opciones disponibles:
OpciónAliasDescripción
--url <url>-uURL para hacer scrape (alternativa al argumento posicional)
--format <formats>-fFormatos de salida (separados por comas): markdown, html, rawHtml, links, screenshot, json, images, summary, seguimientoDeCambios, attributes, branding
--html-HAtajo para --format html
--only-main-contentExtraer solo el contenido principal
--wait-for <ms>Tiempo de espera en milisegundos para el renderizado de JS
--screenshotTomar una captura de pantalla
--include-tags <tags>Etiquetas HTML a incluir (separadas por comas)
--exclude-tags <tags>Etiquetas HTML a excluir (separadas por comas)
--output <path>-oGuardar la salida en un archivo
--jsonForzar salida JSON incluso con un solo formato
--prettyImprimir el JSON de salida con formato
--timingMostrar el tiempo de la solicitud y otra información útil

Busca en la web y, opcionalmente, hace scraping de los resultados.
CLI
# Buscar en la web
firecrawl search "web scraping tutorials"

# Limitar resultados
firecrawl search "AI news" --limit 10

# Imprimir resultados con formato
firecrawl search "machine learning" --pretty

Opciones de búsqueda

CLI
# Search specific sources
firecrawl search "AI" --sources web,news,images

# Search with category filters
firecrawl search "react hooks" --categories github
firecrawl search "machine learning" --categories research,pdf

# Time-based filtering
firecrawl search "tech news" --tbs qdr:h   # Last hour
firecrawl search "tech news" --tbs qdr:d   # Last day
firecrawl search "tech news" --tbs qdr:w   # Última semana
firecrawl search "tech news" --tbs qdr:m   # Last month
firecrawl search "tech news" --tbs qdr:y   # Last year

# Location-based search
firecrawl search "restaurants" --location "Berlin,Germany" --country DE

# Search and scrape results
firecrawl search "documentation" --scrape --scrape-formats markdown

# Save to file
firecrawl search "firecrawl" --pretty -o results.json
Opciones disponibles:
OpciónDescripción
--limit <number>Número máximo de resultados (predeterminado: 5, máximo: 100)
--sources <sources>Fuentes de búsqueda: web, images, news (separadas por comas)
--categories <categories>Filtrar por categoría: github, research, pdf (separadas por comas)
--tbs <value>Filtro de tiempo: qdr:h (hora), qdr:d (día), qdr:w (semana), qdr:m (mes), qdr:y (año)
--location <location>Segmentación geográfica (p. ej., “Berlin,Germany”)
--country <code>Código de país ISO (predeterminado: US)
--timeout <ms>Tiempo de espera en milisegundos (predeterminado: 60000)
--ignore-invalid-urlsExcluir URLs no válidas para otros endpoints de Firecrawl
--scrapeExtraer resultados de búsqueda
--scrape-formats <formats>formatos para contenido extraído (predeterminado: markdown)
--only-main-contentIncluir solo el contenido principal al extraer (predeterminado: true)
--jsonSalida como JSON
--output <path>Guardar la salida en un archivo
--prettyImprimir salida JSON con formato legible

Map

Obtén rápidamente todas las URL de un sitio web.
CLI
# Descubre todas las URLs de un sitio web
firecrawl map https://example.com

# Output as JSON
firecrawl map https://example.com --json

# Limit number of URLs
firecrawl map https://example.com --limit 500

Opciones de mapeo

CLI
# Filter URLs by search query
firecrawl map https://example.com --search "blog"

# Include subdomains
firecrawl map https://example.com --include-subdomains

# Control sitemap usage
firecrawl map https://example.com --sitemap include   # Use sitemap
firecrawl map https://example.com --sitemap skip      # Skip sitemap
firecrawl map https://example.com --sitemap only      # Solo usar sitemap

# Ignore query parameters (dedupe URLs)
firecrawl map https://example.com --ignore-query-parameters

# Wait for map to complete with timeout
firecrawl map https://example.com --wait --timeout 60

# Save to file
firecrawl map https://example.com -o urls.txt
firecrawl map https://example.com --json --pretty -o urls.json
Opciones disponibles:
OpciónDescripción
--url <url>URL que se va a mapear (alternativa al argumento posicional)
--limit <number>Número máximo de URLs a descubrir
--search <query>Filtrar URLs por consulta de búsqueda
--sitemap <mode>Manejo del sitemap: include, skip, only
--include-subdomainsIncluir subdominios
--ignore-query-parametersTratar URLs con distintos parámetros de consulta como la misma
--waitEsperar a que finalice el mapeo
--timeout <seconds>Tiempo de espera en segundos
--jsonSalida en formato JSON
--output <path>Guardar la salida en un archivo
--prettyImprimir la salida JSON con formato legible

Rastrear

Rastrea todo un sitio web a partir de una URL.
CLI
# Iniciar un rastreo (devuelve el ID del trabajo inmediatamente)
firecrawl crawl https://example.com

# Wait for crawl to complete
firecrawl crawl https://example.com --wait

# Wait with progress indicator
firecrawl crawl https://example.com --wait --progress

Consultar el estado del rastreo

CLI
# Verificar estado del crawl usando el ID del trabajo
firecrawl crawl <job-id>

# Ejemplo con un ID de trabajo real
firecrawl crawl 550e8400-e29b-41d4-a716-446655440000

Opciones de rastreo

CLI
# Limit crawl depth and pages
firecrawl crawl https://example.com --limit 100 --max-depth 3 --wait

# Include only specific paths
firecrawl crawl https://example.com --include-paths /blog,/docs --wait

# Exclude specific paths
firecrawl crawl https://example.com --exclude-paths /admin,/login --wait

# Include subdomains
firecrawl crawl https://example.com --allow-subdomains --wait

# Crawl entire domain
firecrawl crawl https://example.com --crawl-entire-domain --wait

# Rate limiting
firecrawl crawl https://example.com --delay 1000 --max-concurrency 2 --wait

# Intervalo de consulta y tiempo de espera personalizados
firecrawl crawl https://example.com --wait --poll-interval 10 --timeout 300

# Save results to file
firecrawl crawl https://example.com --wait --pretty -o results.json
Opciones disponibles:
OpciónDescripción
--url <url>URL a rastrear (alternativa al argumento posicional)
--waitEsperar a que el rastreo termine
--progressMostrar indicador de progreso mientras se espera
--poll-interval <seconds>Intervalo de sondeo (por defecto: 5)
--timeout <seconds>Tiempo máximo de espera
--statusConsultar el estado de un trabajo de rastreo existente
--limit <number>Número máximo de páginas a rastrear
--max-depth <number>Profundidad máxima de rastreo
--include-paths <paths>Rutas a incluir (separadas por comas)
--exclude-paths <paths>Rutas a excluir (separadas por comas)
--sitemap <mode>Manejo del sitemap: include, skip, only
--allow-subdomainsIncluir subdominios
--allow-external-linksSeguir enlaces externos
--crawl-entire-domainRastrear todo el dominio
--ignore-query-parametersConsiderar URLs con distintos parámetros como iguales
--delay <ms>Retraso entre solicitudes
--max-concurrency <n>Número máximo de solicitudes concurrentes
--output <path>Guardar el resultado en un archivo
--prettyImprimir la salida JSON con formato legible

Agente

Busca y recopila datos de la web usando indicaciones en lenguaje natural.
CLI
# Basic usage - URLs are optional
firecrawl agent "Encuentra las 5 principales startups de IA y sus montos de financiamiento" --wait

# Focus on specific URLs
firecrawl agent "Compare pricing plans" --urls https://slack.com/pricing,https://teams.microsoft.com/pricing --wait

# Use a schema for structured output
firecrawl agent "Get company information" --urls https://example.com --schema '{"name": "string", "founded": "number"}' --wait

# Use schema from a file
firecrawl agent "Get product details" --urls https://example.com --schema-file schema.json --wait

Opciones del agente

CLI
# Use Spark 1 Pro for higher accuracy
firecrawl agent "Competitive analysis across multiple domains" --model spark-1-pro --wait

# Set max credits to limit costs
firecrawl agent "Gather contact information from company websites" --max-credits 100 --wait

# Check status of an existing job
firecrawl agent <job-id> --status

# Custom polling interval and timeout
firecrawl agent "Summarize recent blog posts" --wait --poll-interval 10 --timeout 300

# Save output to file
firecrawl agent "Encontrar información de precios" --urls https://example.com --wait -o pricing.json --pretty
Opciones disponibles:
OpciónDescripción
--urls <urls>Lista opcional de URL en las que enfocar el agente (separadas por comas)
--model <model>Modelo a utilizar: spark-1-mini (predeterminado, 60% más barato) o spark-1-pro (mayor precisión)
--schema <json>Esquema JSON para salida estructurada (cadena JSON en línea)
--schema-file <path>Ruta al archivo de esquema JSON para salida estructurada
--max-credits <number>Créditos máximos que se pueden gastar (el trabajo falla si se alcanza el límite)
--statusVerificar el estado de un trabajo de agente existente
--waitEsperar a que el agente termine antes de devolver los resultados
--poll-interval <seconds>Intervalo de sondeo mientras se espera (predeterminado: 5)
--timeout <seconds>Tiempo máximo de espera (predeterminado: sin límite)
--output <path>Guardar la salida en un archivo
--jsonSalida en formato JSON
--prettyImprimir salida JSON con formato legible

Uso de créditos

Consulta el saldo y el uso de créditos de tu equipo.
CLI
# View credit usage
firecrawl credit-usage

# Salida en formato JSON
firecrawl credit-usage --json --pretty

Versión

Mostrar la versión de la CLI.
CLI
firecrawl version
# o
firecrawl --version

Opciones globales

Estas opciones están disponibles para todos los comandos:
OpciónAbrev.Descripción
--statusMuestra la versión, el estado de autenticación, la concurrencia y los créditos
--api-key <key>-kSobrescribe la clave de API almacenada para este comando
--api-url <url>Usa una URL de API personalizada (para entornos autoalojados/desarrollo local)
--help-hMuestra la ayuda para un comando
--version-VMuestra la versión de la CLI

Manejo de la salida

La CLI envía la salida a stdout de forma predeterminada, lo que facilita usarla en pipes o redirigirla:
CLI
# Canalizar markdown a otro comando
firecrawl https://example.com | head -50

# Redirigir a un archivo
firecrawl https://example.com > output.md

# Guardar JSON con formato legible
firecrawl https://example.com --format markdown,links --pretty -o data.json

Comportamiento de los formatos

  • Un solo formato: Devuelve contenido sin procesar (texto markdown, HTML, etc.)
  • Varios formatos: Devuelve JSON con todos los datos solicitados
CLI
# Salida de markdown sin procesar
firecrawl https://example.com --format markdown

# Salida JSON con múltiples formatos
firecrawl https://example.com --format markdown,links

Ejemplos

Scrape rápido

CLI
# Obtener contenido markdown de una URL (usar --only-main-content para una salida limpia)
firecrawl https://docs.firecrawl.dev --only-main-content

# Get HTML content
firecrawl https://example.com --html -o page.html

Rastreo completo del sitio web

CLI
# Rastrear un sitio de documentación con límites
firecrawl crawl https://docs.example.com --limit 50 --max-depth 2 --wait --progress -o docs.json

Descubrimiento de sitios web

CLI
# Buscar todas las publicaciones del blog
firecrawl map https://example.com --search "blog" -o blog-urls.txt

Flujo de trabajo de investigación

CLI
# Buscar y extraer resultados para investigación
firecrawl search "machine learning best practices 2024" --scrape --scrape-formats markdown --pretty

Agente

CLI
# URLs are optional
firecrawl agent "Encuentra las 5 principales startups de IA y sus montos de financiación" --wait

# Focus on specific URLs
firecrawl agent "Compare pricing plans" --urls https://slack.com/pricing,https://teams.microsoft.com/pricing --wait

Combínalo con otras herramientas

CLI
# Extract URLs from search results
jq -r '.data.web[].url' search-results.json

# Obtener títulos de resultados de búsqueda
jq -r '.data.web[] | "\(.title): \(.url)"' search-results.json

# Extract links and process with jq
firecrawl https://example.com --format links | jq '.links[].url'

# Count URLs from map
firecrawl map https://example.com | wc -l

Telemetría

La CLI recopila datos de uso anónimos durante la autenticación para ayudar a mejorar el producto:
  • Versión de la CLI, sistema operativo y versión de Node.js
  • Detección de herramientas de desarrollo (por ejemplo, Cursor, VS Code, Claude Code)
No se recopilan datos de comandos, URL ni contenido de archivos a través de la CLI. Para desactivar la telemetría, configura la siguiente variable de entorno:
CLI
export FIRECRAWL_NO_TELEMETRY=1

Código abierto

La CLI y la Skill de Firecrawl son de código abierto y están disponibles en GitHub: firecrawl/cli