UntangledAPI
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

FieldTypeNotes
titlestring
companystring | null
locationstring | nullFree text — "Remote", "San Francisco, CA", etc.
employment_typeenum | nullfull_time / part_time / contract / internship.
remote_policyenum | nullremote / hybrid / onsite.
compensationobject | nullmin / max are nullable independently.
experience_years_mininteger | null
required_skills[] / preferred_skills[]arrayEmpty array if not specified.
posted_atstring (ISO 8601) | null

Postings without a stated comp range return null for compensation rather than estimating — Untangled does not infer comp from market data.

On this page