Skip to content

// docs

Catho: Get job details

Extracts full vacancy details (PDP) from Catho.

catho.com.br:pdp · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

HTTP request

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

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

catho_com_br_pdp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "catho_com_br_pdp",
    "arguments": {
      "url": "https://www.catho.com.br/vagas/desenvolvedora-full-stack-junior/36708334/",
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
url
URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields.
string (URL) Required Required for this operation. - https://www.catho.com.br/vagas/desenvolvedora-full-stack-junior/36708334/
target
Target source for extraction.
enum Required Always mandatory in the payload and must match the operation. - catho.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always mandatory in the payload and must match the operation. - pdp

Request examples

PDP by URL

Individual vacancy inquiry at Catho.

PDP by URL
{
  "url": "https://www.catho.com.br/vagas/desenvolvedora-full-stack-junior/36708334/",
  "target": "catho.com.br",
  "type": "pdp"
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "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"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

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/desenvolvedora-full-stack-junior/36708334/",
    "extractedAt": "2026-02-12T21:20:00.000Z",
    "title": "Desenvolvedor ADVPL",
    "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
  }
}

Complete field reference

PathTypeDescriptionExample
data.active boolean Field data.active returned in the response payload. true
data.benefits[] string Field data.benefits[] returned in the response payload. Vale Transporte
data.datePublished string Field data.datePublished returned in the response payload. 2026-02-09T23:59:59.000Z
data.description string Field data.description returned in the response payload. Descricao detalhada da vaga com atividades e requisitos.
data.employmentType string Field data.employmentType returned in the response payload. CLT (Efetivo)
data.extractedAt string (iso datetime) data.extractedAt field returned in the response payload. 2026-02-12T21:20:00.000Z
data.hiringOrganization string Field data.hiringOrganization returned in the response payload. ENGEMON
data.jobLocation string Field data.jobLocation returned in the response payload. Sabara - MG
data.salary.max number Field data.salary.max returned in the response payload. 3000
data.salary.min number Field data.salary.min returned in the response payload. 2001
data.source string Field data.source returned in the response payload. catho.com.br
data.title string data.title field returned in the response payload. Desenvolvedor ADVPL
data.type string Field data.type returned in the response payload. jdp
data.url string Field data.url returned in the response payload. https://www.catho.com.br/vagas/desenvolvedora-full-stack-junior/36708334/
data.workSchedule string Field data.workSchedule returned in the response payload. Periodo Integral
executionId string (uuid) Field executionId returned in the response payload. aaaaaaaa-2222-4222-8222-aaaaaaaaaaaa
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Field requestId returned in the response payload. aaaaaaaa-1111-4111-8111-aaaaaaaaaaaa

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Catho operations