Skip to main content
POST

Como difere do /scrape

/scrape é síncrono: uma URL, uma resposta, conteúdo no corpo. /batch é assíncrono: devolve 202 com um job_id imediatamente e distribui o trabalho na fila. Não há resultado do lote no 202 — é preciso fazer polling. Use /batch quando você já tem a lista de URLs. Use /crawl quando você só tem uma semente e quer que o crawler descubra os links.

Limites

Até 50 URLs por requisição. Lista vazia ou acima de 50 URLs é recusada com 422 antes de qualquer job ser criado — lote recusado nunca é cobrado. O rate limit deste endpoint escala com o plano (free 10/min, starter 60/min, growth 120/min, scale 300/min). É o único endpoint que faz isso.

Custo

1 crédito por URL cujo scrape_status seja success. URLs bloqueadas, falhas ou recusadas por SSRF dentro do lote não são cobradas, então o credits_used final pode ser menor que o número de URLs enviadas.

Polling do resultado

cURL
Cada item de results traz sua própria url, scrape_status e credits_used. Veja GET /jobs/{job_id} para o contrato completo de status.

Autorizações

X-API-Key
string
header
obrigatório

Corpo

application/json
urls
string<uri>[]
obrigatório
Required string length: 1 - 2083
formats
enum<string>[]
Opções disponíveis:
markdown,
json,
raw

Resposta

Lote enfileirado. Usar GET /jobs/{job_id} para polling.

Resposta 202 de POST /batch: só o identificador para polling.

job_id
string
obrigatório

Identificador do job. Consultar em GET /jobs/{job_id}.