Pular para o conteúdo principal
POST
/
crawl
Rastrear várias URLs de acordo com opções
curl --request POST \
  --url https://api.firecrawl.dev/v2/crawl \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "prompt": "<string>",
  "excludePaths": [
    "<string>"
  ],
  "includePaths": [
    "<string>"
  ],
  "maxDiscoveryDepth": 123,
  "sitemap": "include",
  "ignoreQueryParameters": false,
  "limit": 10000,
  "crawlEntireDomain": false,
  "allowExternalLinks": false,
  "allowSubdomains": false,
  "delay": 123,
  "maxConcurrency": 123,
  "webhook": {
    "url": "<string>",
    "headers": {},
    "metadata": {},
    "events": [
      "completed"
    ]
  },
  "scrapeOptions": {
    "formats": [
      "markdown"
    ],
    "onlyMainContent": true,
    "includeTags": [
      "<string>"
    ],
    "excludeTags": [
      "<string>"
    ],
    "maxAge": 172800000,
    "headers": {},
    "waitFor": 0,
    "mobile": false,
    "skipTlsVerification": true,
    "timeout": 123,
    "parsers": [
      "pdf"
    ],
    "actions": [
      {
        "type": "wait",
        "milliseconds": 2,
        "selector": "#my-element"
      }
    ],
    "location": {
      "country": "US",
      "languages": [
        "en-US"
      ]
    },
    "removeBase64Images": true,
    "blockAds": true,
    "proxy": "auto",
    "storeInCache": true
  },
  "zeroDataRetention": false
}
'
{
  "success": true,
  "id": "<string>",
  "url": "<string>"
}

O que há de novo na v2

Diga ao crawl o que você quer

Descreva o que rastrear em inglês claro:
{
  "url": "https://example.com",
  "prompt": "Rastreie apenas posts do blog e documentação, ignore as páginas de marketing"
}
Isso mapeará o prompt para um conjunto de configurações do crawler para executar a varredura.

Controle de Sitemap Aprimorado

Na v1, o uso de sitemap era um valor booleano. Na v2, a opção sitemap permite escolher entre:
  • "include" (padrão): Utiliza o sitemap e também descobre outras páginas.
  • "skip": Ignora o sitemap por completo.

Novas opções de rastreamento

  • crawlEntireDomain - Rastreia todo o domínio, não apenas as páginas filhas
  • maxDiscoveryDepth - Controla a profundidade do rastreamento (substitui maxDepth)
{
  "url": "https://example.com/features",
  "crawlEntireDomain": true,
  "maxDiscoveryDepth": 2,
  "sitemap": "include"
}

Autorizações

Authorization
string
header
obrigatório

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Corpo

application/json
url
string<uri>
obrigatório

URL base para iniciar o rastreamento

prompt
string

Um prompt em linguagem natural para gerar as opções do crawler (todos os parâmetros abaixo). Parâmetros definidos explicitamente substituem os equivalentes gerados.

excludePaths
string[]

Padrões de regex para o pathname da URL que excluem URLs correspondentes do rastreamento. Por exemplo, se você definir "excludePaths": ["blog/.*"] para a URL base firecrawl.dev, quaisquer resultados que correspondam a esse padrão serão excluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.

includePaths
string[]

Padrões de regex para caminhos de URL que definem quais URLs serão incluídas no rastreamento. Somente os caminhos que corresponderem aos padrões especificados serão incluídos na resposta. Por exemplo, se você definir "includePaths": ["blog/.*"] para a URL base firecrawl.dev, apenas resultados que correspondam a esse padrão serão incluídos, como https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.

maxDiscoveryDepth
integer

Profundidade máxima de crawl com base na ordem de descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta igual a 0. Por exemplo, se você definir para 1 e usar sitemap: 'skip', você só fará o crawl da URL fornecida e de todas as URLs que tiverem links nessa página.

sitemap
enum<string>
padrão:include

Modo de sitemap ao rastrear. Se você definir como skip, o rastreador vai ignorar o sitemap do site e rastrear apenas a URL informada, descobrindo as páginas a partir dela.

Opções disponíveis:
skip,
include
ignoreQueryParameters
boolean
padrão:false

Não faça scraping novamente do mesmo caminho com parâmetros de consulta diferentes (ou sem parâmetros)

limit
integer
padrão:10000

Número máximo de páginas a rastrear. O limite padrão é 10.000.

crawlEntireDomain
boolean
padrão:false

Permite que o crawler siga links internos para URLs no mesmo nível (irmãs) ou em níveis superiores (pai), não apenas subcaminhos (filhos).

false: Só rastreia URLs em níveis inferiores (filhas). → ex.: /features/feature-1 → /features/feature-1/tips ✅ → Não seguirá /pricing ou / ❌

true: Rastreia quaisquer links internos, incluindo URLs irmãs e pai. → ex.: /features/feature-1 → /pricing, /, etc. ✅

Use true para uma cobertura interna mais ampla, além dos caminhos aninhados.

Permite que o rastreador siga links para sites externos.

allowSubdomains
boolean
padrão:false

Permite que o rastreador siga links para subdomínios do domínio principal.

delay
number

Intervalo, em segundos, entre as raspagens. Isso ajuda a respeitar os limites de acesso dos sites.

maxConcurrency
integer

Número máximo de raspagens concorrentes. Este parâmetro permite definir um limite de concorrência para este rastreamento. Se não for especificado, o rastreamento seguirá o limite de concorrência da sua equipe.

webhook
object

Objeto de especificação de webhook.

scrapeOptions
object
zeroDataRetention
boolean
padrão:false

Se definido como true, isso garantirá que nenhum dado seja retido para este crawl. Para ativar esse recurso, entre em contato com [email protected]

Resposta

Resposta bem-sucedida

success
boolean
id
string
url
string<uri>