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/jdRequest — 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
textstringrequiredFull 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.