Resume Parser + Job Match API
Resume Parser + Job Match API is a hosted REST API that turns a CV or resume (PDF, DOCX or plain text) into structured JSON (contact details, job titles, work history, education and skills) and scores it against a job posting from 0 to 100 with an explainable breakdown. It uses deterministic rules, not an LLM, and it never stores or logs resume content.
Private by design. CVs are processed in memory and discarded when the response is sent. There is no database, nothing is written to disk, and request bodies and extracted fields are never logged (only status and timing), which makes the API easy to use as a GDPR data processor.
Get an API key
Quick start
Parse a CV file. The response is JSON.
curl -X POST "https://resume-parser-job-match.p.rapidapi.com/v1/resume/parse" \ -H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: resume-parser-job-match.p.rapidapi.com" \ -F "file=@cv.pdf"
Or send text, and score it against a job:
curl -X POST "https://resume-parser-job-match.p.rapidapi.com/v1/match" \
-H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: resume-parser-job-match.p.rapidapi.com" \
-H "Content-Type: application/json" \
-d '{"resume": "Jordan Rivera\nSenior Software Engineer\njordan@example.com\n\nEXPERIENCE\nSenior Software Engineer, Northwind\nMar 2021 - Present\n- Python, AWS, Kubernetes",
"job": {"title": "Senior Backend Engineer", "location": "Remote - US",
"description": "5+ years Python, Django, PostgreSQL, AWS."}}'
The candidate above is fictional. Keep your RapidAPI key server-side.
Endpoints
| Endpoint | Input | Returns |
|---|---|---|
POST /v1/resume/parse | multipart file (PDF, DOCX or TXT, max 5 MB, first 10 pages) or JSON {"text": "..."} |
contact (name, email, phone, location, country, LinkedIn/GitHub/portfolio), summary, current_title, current_company, total_experience_years, seniority, function, experience, education, highest_education_level, skills, certifications, languages, warnings |
POST /v1/match | resume (CV text or a parse result) and job (title required; location, description, company optional) |
score 0-100, breakdown per component, skills (matched, missing, extra), reasons |
GET /v1/taxonomy | none | Seniority levels, functions, match weights, file types |
Seniority levels: intern, junior, mid, senior, staff, principal, lead, manager, director, exec. Functions: engineering, data, design, product, marketing, sales, support, ops, finance, hr, legal, other. Full schema: openapi.json.
How the match score works
| Component | Weight | Score |
|---|---|---|
| skills | 0.45 | Share of the posting's skills found in the CV |
| seniority | 0.20 | 1.0 same level, 0.6 one step apart, 0.2 two steps, else 0 |
| function | 0.15 | 1.0 same, 0.75 same function but different specialty, else 0 |
| experience | 0.15 | 1.0 if years meet the posting's minimum, else years / minimum |
| location | 0.05 | 1.0 if the CV's country is inside the posting's allowed countries or regions |
A component with no data on either side is left out and the other weights are rescaled, so missing information never counts against the candidate.
Pricing
| Plan | Price | Requests |
|---|---|---|
| BASIC (RapidAPI) | Free | 50 / month (hard limit) |
| PRO (RapidAPI) | $14.99 / month | 2,000 / month |
| ULTRA (RapidAPI) | $49 / month | 10,000 / month |
| MEGA (RapidAPI) | $149 / month | 50,000 / month |
| Apify Actor | Pay per resume | $0.005 per resume, parse + match (up to 500 per run) |
How it compares
| Option | How it works | Best when |
|---|---|---|
| Resume Parser + Job Match API | Hosted REST; deterministic rules; parse and 0-100 match in one API; nothing stored; from $14.99 for 2,000 calls | You want low-cost, predictable CV parsing and explainable scoring with no data retention |
| Affinda | Hosted AI document parser; self-serve $0.10 per document, annual plans from $3,600 for 66,000 documents | You need a mature commercial parser with broad document coverage |
| Textkernel (Sovren), RChilli | Enterprise parsing and matching suites; pricing by quote or contract | You are an ATS or large employer needing many languages, support and SLAs |
| APILayer Resume Parser | Hosted parse-only API; $29.99 for 1,500 or $49.99 for 4,500 requests a month | You only need parsing and already use APILayer |
| LLM-based scripts or Apify actors | Prompt a language model with the CV; per-call model cost | You want free-form extraction and accept variable output and model costs |
Competitor prices as published on their own pages, checked 2026-10-24.
Frequently asked questions
What is the best API to parse resumes into JSON?
It depends on volume and budget. Resume Parser + Job Match API takes a PDF, DOCX or text CV and returns contact details, current title and company, work history with dates and durations, total years of experience, seniority, job function, education, normalised skills, certifications and languages as JSON. It suits developers who want a low-cost, predictable parser with nothing stored. Enterprise parsers such as Textkernel (Sovren), RChilli or Affinda cover more languages and scanned documents, at a higher price.
How do I score a resume against a job description?
Send the CV (as text, or the JSON from the parse endpoint) and the job (title plus optional location, description and company) to POST /v1/match. You get a 0-100 score and a breakdown: skills (weight 0.45), seniority (0.20), function (0.15), years of experience (0.15) and location eligibility (0.05), plus the matched, missing and extra skills and one plain-English reason per component.
Does the resume parser store or log my candidates' data?
No. CVs are processed in memory and discarded when the response is sent. There is no database, nothing is written to disk, and request bodies and extracted fields are never logged (only status and timing), which makes the API easy to use as a GDPR data processor.
Does it use ChatGPT or another LLM?
No. Parsing and matching are deterministic rules, so the same CV always gives the same result, there is no per-token cost and nothing is invented. The trade-off is that unusual layouts may be parsed less completely than a person would read them; the response carries warnings when sections or dates are not found.
Can it read scanned PDFs or images of resumes?
No. There is no OCR. A PDF without a text layer returns a warning, and image files are rejected with a 415 error. Send a text-based PDF, a DOCX or plain text.
How accurate is it?
On 15 fictional test CVs in different layouts (US, UK, skills-first, dates-first, two-column, no headings, junior, staff, career changer, nurse, sales, HR) it found the contact details, current title, experience entries and education in all 15. Known weak spots: when a job title has no level word (for example 'Customer Support Specialist'), seniority is inferred from years of experience; healthcare and other non-office roles map to the function 'other' because the shared taxonomy has no healthcare function; and scanned PDFs are not read.
How much does the resume parser cost?
On RapidAPI: free for 50 requests a month, then $14.99 for 2,000, $49 for 10,000 and $149 for 50,000 a month. On Apify it is pay per resume at $0.005 ($5 per 1,000), including the match score when you give a job.
Can I parse resumes in bulk?
Yes. The Apify Actor takes a list of resumes (file URLs for PDF or DOCX, or plain text) and an optional job posting, and returns one dataset row per resume with the parsed fields and the match score. Up to 500 resumes per run; empty or unreadable inputs are skipped and not charged.
Does it work with the Job Posting Parser API?
Yes. Both APIs share one taxonomy (seniority levels, job functions and the skills dictionary), so a parsed CV and a parsed job posting use the same vocabulary. Together they cover both sides of a job board or ATS.
What file types and sizes are supported?
PDF (with a text layer), DOCX and plain UTF-8 text, up to 5 MB; the first 10 pages of a PDF are read. Legacy .doc, RTF and images are rejected with a clear error.
Last updated 2026-10-24. Machine-readable summary: llms.txt.