JobMatchAI API
The JobMatchAI API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Use this API to programmatically parse PDF resumes, extract structured ATS data, and generate AI-driven match scores directly within your own ATS or HR platform.
Authentication
The JobMatchAI API uses API keys to authenticate requests. You can view and manage your API keys in the JobMatchAI Enterprise Dashboard.
Authentication to the API is performed via HTTP Bearer Auth. Provide your API key as the bearer token value.
curl https://api.jobmatchai.in/v1/resumes/parse \
-H "Authorization: Bearer sk_live_your_token_here"
Parse Resume
Uploads a resume file (PDF, DOCX) and returns a highly structured JSON object containing extracted contact info, skills, education, and work experience.
Parameters
fileThe binary file of the resume (multipart/form-data).
extract_skillsSet to true to run the deep NLP extraction engine for contextual skill mapping. Defaults to true.
const formData = new FormData();
formData.append('file', fs.createReadStream('resume.pdf'));
const response = await fetch('https://api.jobmatchai.in/v1/resumes/parse', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_...'
},
body: formData
});
const data = await response.json();{
"id": "res_8dfx9210",
"contact": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"skills": ["React", "Next.js", "TypeScript", "Node.js"],
"experience_years": 5,
"status": "success"
}Job Match Score
Compare an array of previously parsed resume IDs against a specific job description to retrieve ranked AI match scores and gap analysis.
Parameters (JSON)
job_descriptionThe full text of the job description.
resume_idsArray of resume strings returned from the parse endpoint.
const response = await fetch('https://api.jobmatchai.in/v1/jobs/match', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
job_description: "Looking for a Senior React Developer...",
resume_ids: ["res_8dfx9210", "res_9aab212"]
})
});{
"matches": [
{
"resume_id": "res_8dfx9210",
"score": 92,
"missing_skills": ["GraphQL"]
},
{
"resume_id": "res_9aab212",
"score": 45,
"missing_skills": ["React", "TypeScript"]
}
]
}