Visão geral
Melhorias principais
-
Mais rápido por padrão: As requisições são armazenadas em cache com
maxAge
definido para 2 dias, e padrões sensatos comoblockAds
,skipTlsVerification
eremoveBase64Images
vêm habilitados. -
Novo formato de resumo: Agora você pode especificar
"summary"
como um formato para receber diretamente um resumo conciso do conteúdo da página. -
Extração JSON atualizada: A extração JSON e o rastreamento de alterações agora usam um formato de objeto:
{ type: "json", prompt, schema }
. O antigo formato"extract"
foi renomeado para"json"
. -
Opções de captura de tela aprimoradas: Use o formato de objeto:
{ type: "screenshot", fullPage, quality, viewport }
. -
Novas fontes de pesquisa: Pesquise em
"news"
e"images"
, além dos resultados da web, definindo o parâmetrosources
. -
Rastreamento inteligente com prompts: Forneça um
prompt
em linguagem natural para o crawl e o sistema derivará caminhos/limites automaticamente. Use o novo endpoint /crawl/params-preview para inspecionar as opções derivadas antes de iniciar um job.
Lista de verificação rápida de migração
- Substitua o uso do cliente v1 pelos clientes v2:
- JS:
const firecrawl = new Firecrawl({ apiKey: 'fc-YOUR-API-KEY' })
- Python:
firecrawl = Firecrawl(api_key='fc-YOUR-API-KEY')
- API: use os novos endpoints em
https://api.firecrawl.dev/v2/
.
- JS:
- Atualize os formatos:
- Use “summary” quando necessário
- modo JSON: use
{ type: "json", prompt, schema }
para extração em JSON - Screenshot e Screenshot@fullPage: use o formato de objeto de screenshot ao especificar opções
- Adote fluxos assíncronos padronizados nos SDKs:
- Crawls:
startCrawl
+getCrawlStatus
(ou o waitercrawl
) - Batch:
startBatchScrape
+getBatchScrapeStatus
(ou o waiterbatchScrape
) - Extract:
startExtract
+getExtractStatus
(ou o waiterextract
)
- Crawls:
- Mapeamento de opções de crawl (veja abaixo)
- Verifique o
prompt
do crawl com/crawl/params-preview
Interface do SDK (v2)
JS/TS
Mudanças nos nomes dos métodos (migração v1 → v2)
v1 (FirecrawlApp) | v2 (Firecrawl) |
---|---|
scrapeUrl(url, ...) | scrape(url, options?) |
search(query, ...) | search(query, options?) |
mapUrl(url, ...) | map(url, options?) |
v1 | v2 |
---|---|
crawlUrl(url, ...) | crawl(url, options?) (waiter) |
asyncCrawlUrl(url, ...) | startCrawl(url, options?) |
checkCrawlStatus(id, ...) | getCrawlStatus(id) |
cancelCrawl(id) | cancelCrawl(id) |
checkCrawlErrors(id) | getCrawlErrors(id) |
v1 | v2 |
---|---|
batchScrapeUrls(urls, ...) | batchScrape(urls, opts?) (waiter) |
asyncBatchScrapeUrls(urls, ...) | startBatchScrape(urls, opts?) |
checkBatchScrapeStatus(id, ...) | getBatchScrapeStatus(id) |
checkBatchScrapeErrors(id) | getBatchScrapeErrors(id) |
v1 | v2 |
---|---|
extract(urls?, params?) | extract(args) |
asyncExtract(urls, params?) | startExtract(args) |
getExtractStatus(id) | getExtractStatus(id) |
v1 | v2 |
---|---|
generateLLMsText(...) | (não está no SDK v2) |
checkGenerateLLMsTextStatus(id) | (não está no SDK v2) |
crawlUrlAndWatch(...) | watcher(jobId, ...) |
batchScrapeUrlsAndWatch(...) | watcher(jobId, ...) |
Python (sincrono)
Mudanças nos nomes dos métodos (migração v1 → v2)
v1 | v2 |
---|---|
scrape_url(...) | scrape(...) |
search(...) | search(...) |
map_url(...) | map(...) |
v1 | v2 |
---|---|
crawl_url(...) | crawl(...) (waiter) |
async_crawl_url(...) | start_crawl(...) |
check_crawl_status(...) | get_crawl_status(...) |
cancel_crawl(...) | cancel_crawl(...) |
v1 | v2 |
---|---|
batch_scrape_urls(...) | batch_scrape(...) (waiter) |
async_batch_scrape_urls(...) | start_batch_scrape(...) |
get_batch_scrape_status(...) | get_batch_scrape_status(...) |
get_batch_scrape_errors(...) | get_batch_scrape_errors(...) |
v1 | v2 |
---|---|
extract(...) | extract(...) |
start_extract(...) | start_extract(...) |
get_extract_status(...) | get_extract_status(...) |
v1 | v2 |
---|---|
generate_llms_text(...) | (não disponível no SDK v2) |
get_generate_llms_text_status(...) | (não disponível no SDK v2) |
watch_crawl(...) | watcher(job_id, ...) |
Python (assíncrono)
AsyncFirecrawl
oferece os mesmos métodos (todos aguardáveis).
Formatos e opções de scrape
- Use formatos de string para o básico:
"markdown"
,"html"
,"rawHtml"
,"links"
,"summary"
. - Em vez de
parsePDF
, useparsers: [ { "type": "pdf" } | "pdf" ]
. - Use formatos de objeto para JSON, rastreamento de alterações e capturas de tela:
Formato JSON
Formato de captura de tela
Mapeamento de opções de rastreamento (v1 → v2)
v1 | v2 |
---|---|
allowBackwardCrawling | (removido) use crawlEntireDomain |
maxDepth | (removido) use maxDiscoveryDepth |
ignoreSitemap (bool) | sitemap (por exemplo, “only”, “skip” ou “include”) |
(nenhum) | prompt |