Endpoint

Parse job description

Extract 37 structured fields from a JD: title, skills, certs, schedule, comp, benefits, language requirements, EEO posture, refugee-friendliness signals.

Authentication

Requires the parse scope.

Endpoint

POST/api/v1/parse/jd

Request — multipart upload

curl -X POST https://www.astrishr.com/api/v1/parse/jd \
  -H "Authorization: Bearer $KEY" \
  -F "file=@req-12345.pdf"

Request — JSON text

textstringrequired
Full JD body. Truncated after 30K characters.
curl -X POST https://www.astrishr.com/api/v1/parse/jd \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Forklift Operator — OSHA-10, $22-26/hr, day shift, Newark NJ. Spanish a plus. Training provided. EEO employer."}'

Response

{
  "parsed": {
    "title": "Forklift Operator",
    "workMode": "onsite",
    "requiredSkills": ["Forklift operation"],
    "preferredSkills": ["Spanish language"],
    "requiredCertifications": ["OSHA-10"],
    "experienceYears": 2,
    "availabilityType": ["full_time"],
    "shifts": ["morning"],
    "payType": "hourly",
    "hourlyMinUsd": 22,
    "hourlyMaxUsd": 26,
    "benefits": [],
    "offersChildcare": false,
    "offersTraining": true,
    "city": "Newark",
    "state": "NJ",
    "detectedSourceLanguage": "en"
  },
  "usedVision": false,
  "parseError": null
}

Notes

  • Non-English JDs (Spanish, Arabic, etc.) are parsed in English while preserving detectedSourceLanguage.
  • "Preferred" vs "required" distinction is handled — only required skills/certs gate matches.
  • Reviewer corrections are auto-injected as in-context examples on subsequent parses.