// docs

Catho PDP

Extrai detalhes completos de vaga (PDP) da Catho.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.catho.com.br/vagas/pedreiro/35308139/",
  "target": "catho.com.br",
  "type": "pdp"
}'

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
url
URL alvo da extração. Para alguns PLPs pode ser omitida quando a API monta a URL a partir de outros campos.
string (URL) Obrigatório Obrigatorio para este seam. - https://www.mercadolivre.com.br/p/MLB123456
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatorio no payload e deve combinar com o seam. - mercadolivre.com.br
type
Tipo da extração: pdp, plp ou review.
enum Obrigatório Sempre obrigatorio no payload e deve combinar com o seam. - pdp

Exemplos de request

PDP por URL

Consulta de vaga individual na Catho.

PDP por URL
{
  "url": "https://www.catho.com.br/vagas/pedreiro/35308139/",
  "target": "catho.com.br",
  "type": "pdp"
}

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "string",
  "data.url": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.title": "string",
  "data.description": "string",
  "data.benefits[]": "string",
  "data.salary.min": "number",
  "data.salary.max": "number",
  "data.jobLocation": "string",
  "data.employmentType": "string",
  "data.hiringOrganization": "string",
  "data.datePublished": "string",
  "data.workSchedule": "string",
  "data.active": "boolean"
}

Exemplo de response

responseExample
{
  "requestId": "aaaaaaaa-1111-4111-8111-aaaaaaaaaaaa",
  "executionId": "aaaaaaaa-2222-4222-8222-aaaaaaaaaaaa",
  "data": {
    "source": "catho.com.br",
    "type": "jdp",
    "url": "https://www.catho.com.br/vagas/pedreiro/35308139/",
    "extractedAt": "2026-02-12T21:20:00.000Z",
    "title": "Pedreiro",
    "description": "Descricao detalhada da vaga com atividades e requisitos.",
    "benefits": [
      "Vale Transporte",
      "Assistencia Medica",
      "Vale Refeicao"
    ],
    "salary": {
      "min": 2001,
      "max": 3000
    },
    "jobLocation": "Sabara - MG",
    "employmentType": "CLT (Efetivo)",
    "hiringOrganization": "ENGEMON",
    "datePublished": "2026-02-09T23:59:59.000Z",
    "workSchedule": "Periodo Integral",
    "active": true
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.active boolean Campo data.active retornado no payload de resposta. true
data.benefits[] string Campo data.benefits[] retornado no payload de resposta. Vale Transporte
data.datePublished string Campo data.datePublished retornado no payload de resposta. 2026-02-09T23:59:59.000Z
data.description string Campo data.description retornado no payload de resposta. Descricao detalhada da vaga com atividades e requisitos.
data.employmentType string Campo data.employmentType retornado no payload de resposta. CLT (Efetivo)
data.extractedAt string (iso datetime) Campo data.extractedAt retornado no payload de resposta. 2026-02-12T21:20:00.000Z
data.hiringOrganization string Campo data.hiringOrganization retornado no payload de resposta. ENGEMON
data.jobLocation string Campo data.jobLocation retornado no payload de resposta. Sabara - MG
data.salary.max number Campo data.salary.max retornado no payload de resposta. 3000
data.salary.min number Campo data.salary.min retornado no payload de resposta. 2001
data.source string Campo data.source retornado no payload de resposta. catho.com.br
data.title string Campo data.title retornado no payload de resposta. Pedreiro
data.type string Campo data.type retornado no payload de resposta. jdp
data.url string Campo data.url retornado no payload de resposta. https://www.catho.com.br/vagas/pedreiro/35308139/
data.workSchedule string Campo data.workSchedule retornado no payload de resposta. Periodo Integral
executionId string (uuid) Campo executionId retornado no payload de resposta. aaaaaaaa-2222-4222-8222-aaaaaaaaaaaa
requestId string (uuid) Campo requestId retornado no payload de resposta. aaaaaaaa-1111-4111-8111-aaaaaaaaaaaa

Erros comuns

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
500 WORKER_ERROR / INTERNAL_ERROR Falha interna no worker ou no gateway.