Pular para o conteúdo principal

Instalação

Instale globalmente a CLI do Firecrawl com npm:
CLI
# Instale globalmente com npm
npm install -g firecrawl-cli
Se você estiver usando em algum agente de IA, como o Claude Code, poderá instalar a skill do Firecrawl abaixo, e o agente conseguirá configurá-la para você.
npx skills add firecrawl/cli
Depois de instalar a skill, reinicie o Claude Code para que ele reconheça a nova skill.

Autenticação

Antes de usar a CLI, você precisa autenticar-se com sua chave de API do Firecrawl.

Login

CLI
# Login interativo (abre o navegador ou solicita a chave da API)
firecrawl login

# Login com autenticação do navegador (recomendado para agentes)
firecrawl login --browser

# Login com chave da API diretamente
firecrawl login --api-key fc-YOUR-API-KEY

# Ou defina via variável de ambiente
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY

Visualizar configuração

CLI
# Ver configuração atual e status de autenticação
firecrawl view-config

Logout

CLI
# Limpar credenciais armazenadas
firecrawl logout

Auto-hospedado / Desenvolvimento local

Para instâncias auto-hospedadas do Firecrawl ou para desenvolvimento local, use a opção --api-url:
CLI
# Use uma instância local do Firecrawl (nenhuma chave de API necessária)
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
Ao usar uma URL de API personalizada (qualquer endereço diferente de https://api.firecrawl.dev), a autenticação por chave de API é automaticamente ignorada, permitindo que você use instâncias locais sem uma chave de API.

Verificar status

Verifique se a instalação e a autenticação estão corretas e consulte os limites de taxa:
CLI
firecrawl --status
Resultado quando estiver pronto:
  🔥 firecrawl cli v1.1.1

  ● Authenticated via FIRECRAWL_API_KEY
  Concurrency: 0/100 jobs (parallel scrape limit)
  Credits: 500,000 remaining
  • Concorrência: Máximo de tarefas em paralelo. Execute operações paralelas próximas a esse limite, mas sem ultrapassá-lo.
  • Créditos: Créditos de API disponíveis. Cada operação de scrape/crawl consome créditos.

Comandos

Scrape

Faça scraping de uma única URL e extraia seu conteúdo em vários formatos.
Use --only-main-content para obter um resultado limpo, sem navegação, rodapés ou anúncios. Isso é recomendado para a maioria dos casos de uso em que você quer apenas o artigo ou o conteúdo principal da página.
CLI
# Faz scrape de uma URL (padrão: saída em markdown)
firecrawl https://example.com

# Ou use o comando explícito de scrape
firecrawl scrape https://example.com

# Recomendado: use --only-main-content para saída limpa sem navegação/rodapé
firecrawl https://example.com --only-main-content

Formatos de saída

CLI
# Obter saída em HTML
firecrawl https://example.com --html

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

# Obter imagens de uma página
firecrawl https://example.com --format images

# Obter um resumo do conteúdo da página
firecrawl https://example.com --format summary

# Rastrear mudanças em uma página
firecrawl https://example.com --format changeTracking

# Formatos disponíveis: markdown, html, rawHtml, links, screenshot, json, images, summary, changeTracking, attributes, branding

Opções de Scrape

CLI
# Extrai apenas o conteúdo principal (remove navegação e rodapés)
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
Opções disponíveis:
OpçãoAtalhoDescrição
--url <url>-uURL para extrair conteúdo (alternativa ao argumento posicional)
--format <formats>-fformatos de saída (separados por vírgula): markdown, html, rawHtml, links, screenshot, json, images, summary, rastreioDeMudanças, attributes, branding
--html-HAtalho para --format html
--only-main-contentExtrair apenas o conteúdo principal
--wait-for <ms>Tempo de espera, em milissegundos, para renderização de JS
--screenshotFazer uma captura de tela
--include-tags <tags>Tags HTML a incluir (separadas por vírgula)
--exclude-tags <tags>Tags HTML a excluir (separadas por vírgula)
--output <path>-oSalvar o resultado em um arquivo
--jsonForçar saída em JSON mesmo com um único formato
--prettyImprimir a saída JSON formatada
--timingMostrar tempo da requisição e outras informações úteis

Pesquise na web e, opcionalmente, faça o scraping dos resultados.
CLI
# Pesquisar na web
firecrawl search "web scraping tutorials"

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

# Imprimir resultados formatados
firecrawl search "machine learning" --pretty

Opções de busca

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

# Buscar com filtros de categoria
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   # Last week
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
Opções disponíveis:
OpçãoDescrição
--limit <number>Número máximo de resultados (padrão: 5, máx.: 100)
--sources <sources>Fontes de pesquisa: web, images, news (separadas por vírgula)
--categories <categories>Filtrar por categoria: github, research, pdf (separadas por vírgula)
--tbs <value>Filtro de tempo: qdr:h (hora), qdr:d (dia), qdr:w (semana), qdr:m (mês), qdr:y (ano)
--location <location>Segmentação geográfica (ex.: “Berlin,Germany”)
--country <code>Código de país ISO (padrão: US)
--timeout <ms>Tempo limite em milissegundos (padrão: 60000)
--ignore-invalid-urlsExcluir URLs inválidas para outros endpoints do Firecrawl
--scrapeFazer scraping dos resultados da pesquisa
--scrape-formats <formats>Formatos para o conteúdo extraído (padrão: markdown)
--only-main-contentIncluir apenas o conteúdo principal ao fazer scraping (padrão: true)
--jsonSaída em JSON
--output <path>Salvar saída em arquivo
--prettyImprimir saída JSON formatada

Mapear

Descubra rapidamente todas as URLs de um site.
CLI
# Descobre todas as URLs de um site
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

Opções do Map

CLI
# Filtrar URLs por consulta de pesquisa
firecrawl map https://example.com --search "blog"

# Incluir subdomínios
firecrawl map https://example.com --include-subdomains

# Controlar uso do sitemap
firecrawl map https://example.com --sitemap include   # Usar sitemap
firecrawl map https://example.com --sitemap skip      # Pular sitemap
firecrawl map https://example.com --sitemap only      # Usar apenas sitemap

# Ignorar parâmetros de consulta (dedupe URLs)
firecrawl map https://example.com --ignore-query-parameters

# Aguardar conclusão do mapeamento com timeout
firecrawl map https://example.com --wait --timeout 60

# Salvar em arquivo
firecrawl map https://example.com -o urls.txt
firecrawl map https://example.com --json --pretty -o urls.json
Opções disponíveis:
OpçãoDescrição
--url <url>URL a ser mapeada (alternativa ao argumento posicional)
--limit <number>Número máximo de URLs a serem descobertas
--search <query>Filtra URLs pela consulta de busca
--sitemap <mode>Tratamento de sitemap: include, skip, only
--include-subdomainsInclui subdomínios
--ignore-query-parametersTrata URLs com parâmetros diferentes como iguais
--waitAguarda o término do mapeamento
--timeout <seconds>Tempo máximo de espera, em segundos
--jsonSaída em JSON
--output <path>Salva a saída em um arquivo
--prettyImprime a saída JSON formatada

Crawl

Rastreia um site inteiro a partir de uma URL.
CLI
# Inicia um crawl (retorna o ID do job imediatamente)
firecrawl crawl https://example.com

# Aguarda a conclusão do crawl
firecrawl crawl https://example.com --wait

# Aguarda com indicador de progresso
firecrawl crawl https://example.com --wait --progress

Verificar status do crawl

CLI
# Verificar o status do crawl usando o ID do job
firecrawl crawl <job-id>

# Exemplo com um ID de job real
firecrawl crawl 550e8400-e29b-41d4-a716-446655440000

Opções de Crawl

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 polling e timeout 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
Opções disponíveis:
OpçãoDescrição
--url <url>URL para rastrear (alternativa ao argumento posicional)
--waitAguardar a conclusão do crawl
--progressMostrar indicador de progresso enquanto aguarda
--poll-interval <seconds>Intervalo de consulta (polling) (padrão: 5)
--timeout <seconds>Tempo limite ao aguardar
--statusVerificar o status de uma tarefa de crawl existente
--limit <number>Número máximo de páginas a rastrear
--max-depth <number>Profundidade máxima do crawl
--include-paths <paths>Caminhos a incluir (separados por vírgula)
--exclude-paths <paths>Caminhos a excluir (separados por vírgula)
--sitemap <mode>Tratamento de sitemap: include, skip, only
--allow-subdomainsIncluir subdomínios
--allow-external-linksSeguir links externos
--crawl-entire-domainRastrear o domínio inteiro
--ignore-query-parametersTratar URLs com parâmetros diferentes como iguais
--delay <ms>Atraso entre requisições
--max-concurrency <n>Máximo de requisições concorrentes
--output <path>Salvar resultado em arquivo
--prettyImprimir saída JSON formatada

Agent

Busque e colete dados na web usando prompts em linguagem natural.
CLI
# Basic usage - URLs are optional
firecrawl agent "Encontre as 5 principais startups de IA e seus valores de financiamento" --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

Opções do 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

# Intervalo de polling e timeout personalizados
firecrawl agent "Summarize recent blog posts" --wait --poll-interval 10 --timeout 300

# Save output to file
firecrawl agent "Find pricing information" --urls https://example.com --wait -o pricing.json --pretty
Opções disponíveis:
OptionDescription
--urls <urls>Lista opcional de URLs nas quais o agente deve focar (separadas por vírgula)
--model <model>Modelo a ser usado: spark-1-mini (padrão, 60% mais barato) ou spark-1-pro (maior precisão)
--schema <json>Esquema JSON para saída estruturada (string JSON inline)
--schema-file <path>Caminho para o arquivo de esquema JSON para saída estruturada
--max-credits <number>Máximo de créditos a consumir (a tarefa falha se o limite for atingido)
--statusVerificar o status de uma tarefa de agente existente
--waitAguardar o agente concluir antes de retornar os resultados
--poll-interval <seconds>Intervalo de polling enquanto aguarda (padrão: 5)
--timeout <seconds>Tempo limite (timeout) enquanto aguarda (padrão: sem limite)
--output <path>Salvar a saída em arquivo
--jsonSaída em formato JSON
--prettyExibir saída JSON formatada (pretty print)

Uso de créditos

Verifique o saldo de créditos e o uso pela sua equipe.
CLI
# Ver uso de créditos
firecrawl credit-usage

# Saída em JSON
firecrawl credit-usage --json --pretty

Versão

Exibe a versão da CLI.
CLI
firecrawl version
# ou
firecrawl --version

Opções globais

Essas opções estão disponíveis para todos os comandos:
OpçãoAtalhoDescrição
--statusExibe a versão, autenticação, concorrência e créditos
--api-key <key>-kSubstitui a chave de API armazenada para este comando
--api-url <url>Usa uma URL de API personalizada (para self-hosting/desenvolvimento local)
--help-hExibe a ajuda de um comando
--version-VExibe a versão da CLI

Manipulação da saída

A CLI envia a saída para stdout por padrão, facilitando o uso de pipes ou redirecionamentos:
CLI
# Pipe markdown para outro comando
firecrawl https://example.com | head -50

# Redirecionar para um arquivo
firecrawl https://example.com > output.md

# Salvar JSON com formatação legível
firecrawl https://example.com --format markdown,links --pretty -o data.json

Comportamento dos formatos

  • Formato único: Retorna o conteúdo bruto (texto markdown, HTML, etc.)
  • Múltiplos formatos: Retorna um JSON com todos os dados solicitados
CLI
# Raw markdown output
firecrawl https://example.com --format markdown

# Saída JSON com múltiplos formatos
firecrawl https://example.com --format markdown,links

Exemplos

Raspagem rápida

CLI
# Obter conteúdo markdown de uma URL (use --only-main-content para saída limpa)
firecrawl https://docs.firecrawl.dev --only-main-content

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

Rastreamento completo do site

CLI
# Rastreia um site de docs com limites
firecrawl crawl https://docs.example.com --limit 50 --max-depth 2 --wait --progress -o docs.json

Descoberta de sites

CLI
# Encontre todas as postagens do blog
firecrawl map https://example.com --search "blog" -o blog-urls.txt

Fluxo de Pesquisa

CLI
# Buscar e raspar resultados para pesquisa
firecrawl search "machine learning best practices 2024" --scrape --scrape-formats markdown --pretty

Agente

CLI
# URLs are optional
firecrawl agent "Encontre as 5 principais startups de IA e seus valores de financiamento" --wait

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

Combine com outras ferramentas

CLI
# Extrair URLs dos resultados de pesquisa
jq -r '.data.web[].url' search-results.json

# Get titles from search results
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

Telemetria

A CLI coleta dados de uso anônimos durante a autenticação para ajudar a melhorar o produto:
  • Versão da CLI, sistema operacional e versão do Node.js
  • Detecção de ferramenta de desenvolvimento (como Cursor, VS Code, Claude Code)
Nenhum dado relacionado a comandos, URLs ou conteúdo de arquivos é coletado via CLI. Para desativar a telemetria, defina a seguinte variável de ambiente:
CLI
export FIRECRAWL_NO_TELEMETRY=1

Open Source

A CLI e a Skill do Firecrawl são de código aberto e estão disponíveis no GitHub: firecrawl/cli