Skip to main content
POST

POST /crawl

Inicia um crawl BFS a partir de uma URL semente e retorna 202 com job_id. O request aceita o contrato avançado completo do crawl; parsing de PDF e OCR continuam dentro do mesmo orçamento max_pages × 1.

Autenticação

Header X-API-Key obrigatório.

Parâmetros

string
obrigatório
URL semente. SSRF guard aplicado na seed e em cada link descoberto.
integer
obrigatório
Número máximo de páginas. Faixa da API pública: 150. Valor recomendado: 10.
integer
Limite opcional de profundidade. Padrão: null. Quando fornecido, deve ser >= 0.
boolean
Segue subdomínios do host semente. Padrão: false.
string
Regex RE2 opcional para filtrar URLs absolutas descobertas. Padrão: "". Tamanho máximo: 512 caracteres.
boolean
Extrai apenas o conteúdo principal. Padrão: true.
Mantém links no Markdown final. Padrão: true.
boolean
Mantém imagens no Markdown final. Padrão: true.
boolean
Mantém referências de frames no Markdown final. Padrão: false.
boolean
Remove ou substitui URLs data: longas de forma determinística. Padrão: false.
boolean
Habilita parsing de PDF. Padrão: true.
boolean
Fallback de OCR para PDFs sem texto útil. Padrão: false. Requer parse_pdf=true.
integer
Espera após o carregamento, em milissegundos. Padrão: 0. Faixa: 030000. Deve ser menor que timeout_ms.
boolean
Desativa animações e transições antes da espera configurada. Padrão: false.
integer
Timeout total por página, em milissegundos. Padrão: 60000. Faixa: 1000300000.
string[]
Tags normalizadas e persistidas nos usage records cobrados. Padrão: [].

Custo

1 crédito por página bem-sucedida. Parsing de PDF e OCR não adicionam tarifa separada. O teto continua max_pages × 1.

Resultados parciais e razões

Faça polling de GET /jobs/{job_id} para acompanhar o progresso. Crawls podem terminar cedo com um conjunto parcial de resultados. stopped_reason documenta a razão terminal: frontier_empty, max_pages, timeout, insufficient_credits ou invalid_seed. Itens individuais também podem expor um reason estável, como pdf_parse_disabled, pdf_ocr_timeout ou pdf_ocr_resource_limit.

Exemplo

Respostas

202 retorna job_id. O polling via GET /jobs/{job_id} retorna resultados parciais ou finais. Páginas bem-sucedidas consomem credits_used: 1 cada.

Erros

  • 401: X-API-Key ausente
  • 403: API key inválida ou revogada
  • 422: max_pages ausente/fora da faixa, seed interna ou parâmetros inválidos
  • 429: rate limit excedido