Skip to Content
API ReferencePOST /parse/jd

Parse a job description

POST /parse/jd

Parse a job description into normalized Role JSON: canonical title + seniority, concise must-have skills with min-years, nice-to-haves, responsibilities, and qualifications. Job-board URLs (Greenhouse, Lever, company pages) are fetched directly.

Provide exactly one of text, url, or file.

Cost: 1 credit.

Request body

FieldTypeDescription
textstringRaw document text
urlstringhttp(s) URL of a document (PDF or text; 25s fetch timeout; 10MB cap)
filestringBase64-encoded document bytes (PDF or plain text; 10MB cap)

Example request

curl -X POST "https://api.rezmatch.ai/parse/jd" \ -H "x-access-key: $TALENTKIT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://job-boards.greenhouse.io/acme/jobs/123456" }'

Example response

{ "success": true, "data": { "role_id": "role_1a3f9be2c4d07a51", "title": "Sr. Backend Engineer", "title_normalized": "Backend Engineer", "seniority": "senior", "location": "Remote", "employment_type": "full_time", "must_have_skills": [ { "canonical": "Go", "taxonomy_id": "skill_go", "min_years": 3 }, { "canonical": "Kubernetes", "taxonomy_id": "skill_kubernetes", "min_years": null } ], "nice_to_have_skills": [ { "canonical": "Apache Kafka", "taxonomy_id": "skill_kafka" } ], "responsibilities": [ "Own services end to end" ], "qualifications": [ "5+ years building distributed systems" ], "min_experience_months": 60 }, "credits_used": 1, "request_id": "req_b35a573a-22ef-4379-9245-a01f0049150a" }

Errors

StatusMeaning
400invalid_request / unsupported_format
401invalid_key — missing, unknown, or revoked access key
402insufficient_credits — top up in the dashboard; the failed call is not charged
422parse_failed — the document could not be structured

All errors share the error envelope.

Try it

Open this endpoint in the interactive playground  — requests run with your API key.

Last updated on