Extract
Job Posting
Extract role, location, compensation, and requirements from a job posting.
POST /v1/extract/job-posting is tuned for the structured fields ATS / sourcing pipelines need.
Request
curl https://api.untangledapi.com/v1/extract/job-posting \
-H "x-api-key: $UNTANGLED_KEY" \
-H "content-type: application/json" \
-d '{
"document": { "text": "<<job description text>>" }
}'Response
{
"data": {
"title": "Senior Backend Engineer",
"company": "Acme Co.",
"location": "Remote (US)",
"employment_type": "full_time",
"remote_policy": "remote",
"compensation": {
"currency": "USD",
"min": 160000,
"max": 200000,
"period": "annual",
"equity": true
},
"experience_years_min": 5,
"required_skills": ["Go", "Postgres", "AWS"],
"preferred_skills": ["Kubernetes", "Rust"],
"posted_at": "2026-04-20"
},
"model": "claude-haiku-4-5",
"usage": {
"inputTokens": 1150,
"outputTokens": 190
}
}Fields
| Field | Type | Notes |
|---|---|---|
title | string | |
company | string | null | |
location | string | null | Free text — "Remote", "San Francisco, CA", etc. |
employment_type | enum | null | full_time / part_time / contract / internship. |
remote_policy | enum | null | remote / hybrid / onsite. |
compensation | object | null | min / max are nullable independently. |
experience_years_min | integer | null | |
required_skills[] / preferred_skills[] | array | Empty array if not specified. |
posted_at | string (ISO 8601) | null |
Postings without a stated comp range return null for compensation rather than estimating — Untangled does not infer comp from market data.