Resume Parser API — CV File to Structured JSON in One Call   [ResumeParser.pro](https://resumeparser.pro)

 - [Parsing API](https://resumeparser.pro/resume-parsing-api)
- [Match Score API](https://resumeparser.pro/resume-job-match-score-api)
- [Sample JSON](https://resumeparser.pro/resume-to-json)
- [Guides](https://resumeparser.pro/guides)
- [Glossary](https://resumeparser.pro/glossary)
- [Get API key](https://sharpapi.com/en/resume-parsing-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=nav)

   One API Call Turns Any Resume Into Structured JSON
==================================================

 Resumes arrive as PDFs, DOCX files and phone photos. Your product needs data. Between the two sit exactly four steps — and every one of them is an API call away.

 [Start parsing free](https://sharpapi.com/en/resume-parsing-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=hero) [See the Match Score API](https://sharpapi.com/en/resume-job-match-score-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=hero-match) 

14-day trial · 100,000 words included · No credit card

  1.0 · POST the resume

Any file in
-----------

 Send the resume exactly as it arrived: PDF, DOC, DOCX, RTF, TXT, or a JPG someone took of a paper CV. One multipart request, up to 100 MB, in any of 80+ languages. OCR runs inside the endpoint, so scans and photos need no special handling.

 The API answers immediately with 202 Accepted and a status URL. No blocking, no timeouts, no queue of your own to babysit.

```
curl -X POST 'https://sharpapi.com/api/v1/hr/parse_resume' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'file=@candidate.pdf' \
  -F 'language=English'

HTTP/2 202 Accepted
{ "status_url": "…/job/status/09cf83f8…", "job_id": "09cf83f8…" }
```

  2.0 · Read the JSON

One schema out
--------------

 Every resume, two-column designer CV or plain-text developer resume, maps to the same deterministic structure: candidate profile, positions with per-role skills, education, certifications, languages and 50+ fields in total. Fields the document lacks come back empty, never missing, so your parser-side code never branches on layout.

 [Explore the full payload field by field](https://resumeparser.pro/resume-to-json) — it is a real parsing output, not a mock-up.

```
{
  "candidate_name": "Linda Harris",
  "candidate_email": "linda.h@dayjob.co.uk",
  "positions": [{
    "position_name": "Test Engineer",
    "company_name": "IT & Telecoms Company",
    "start_date": "2008-06-01",
    "skills": ["Acceptance testing", "Agile", "UAT knowledge", …]
  }],
  "education_qualifications": [{ "school_name": "Nuneaton University", … }],
  "candidate_spoken_languages": ["German"]
}
```

  3.0 · Score against the job

Twenty dimensions, explained
----------------------------

 Add the job description and the second endpoint returns a 0–100 score for each of 20 dimensions (skills, experience, education, tech stack, seniority, stability and more) plus written explanations that name the evidence. A recruiter can defend the ranking; an auditor can check it.

 Names, ages and nationalities are stripped before scoring. The model sees qualifications, nothing else.

```
"match_scores": {
  "overall_match": 72,
  "skills_match": 80,        // Strong PHP/MySQL; Laravel not mentioned
  "experience_match": 90,    // 22 years — exceeds requirements
  "education_match": 0,      // No education section found
  "language_proficiency_match": 100,
  "stability_score": 85,
  …14 more dimensions
}
```

  4.0 · Ship the shortlist

From pile to pipeline
---------------------

 Sort by overall\_match, and recruiters open a ranked shortlist instead of two hundred PDFs. The same two calls power ATS auto-fill, job-board “apply with your resume” forms, staffing-agency bench matching and internal-mobility tools.

CV upload → candidate record in 1 call

resume.pdf → prefilled application

200 applicants → sorted by overall\_match

10k legacy CVs → searchable JSON

  Why builders pick these two endpoints
-------------------------------------

 **The schema never moves.** Deterministic output means the integration you write against the sample on this site is the integration that runs in production.

 **Pricing is per word, not per document.** Plans start at $50/month and a two-page resume costs a fraction of what per-document vendors charge. No page fees, no OCR surcharge.

 **The scoring is not a black box.** Twenty dimensions with written reasons, adjustable weighting through a plain-text context parameter, and PII stripped before evaluation — design choices that map directly onto NYC Local Law 144 bias audits and the EU AI Act's transparency requirements.

 **Compliance is table stakes.** GDPR, SOC 2 Type II and Singapore PDPA. Transient processing. No training on customer data. Ever.

  Parse it. Score it. Ship it.
----------------------------

The SharpAPI HR Tech suite turns resume files into structured JSON and ranks them against any job description — two endpoints, one API key.

 [Get a free API key](https://sharpapi.com/en/resume-parsing-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=footer-cta) [See the Match Score API](https://sharpapi.com/en/resume-job-match-score-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=footer-cta-match) 

14-day trial · 100,000 words included · No credit card · 30-day money-back guarantee

 Questions, answered
-------------------

  What is a resume parser API?A REST endpoint that accepts a resume file — PDF, DOCX, RTF, TXT or a photo — and returns the candidate as structured JSON: contact details, work history, education, skills and 50+ other fields. Your application sends a file and receives data it can store, search and rank.

   What is the difference between parsing and match scoring?Parsing extracts what is in the resume; match scoring compares it against a specific job description. The first turns a file into data, the second turns data into a ranked, explained 0-100 fit score across 20 dimensions. Most screening pipelines use both.

   How fast can I integrate these APIs?One multipart POST plus one polling call — or a webhook. Official SDKs exist for PHP, Laravel, Python, Node.js, .NET and Flutter, and every endpoint follows the same async pattern, so the second integration is mostly copy-paste.

   What does it cost to start?Nothing up front: the 14-day SharpAPI trial includes 100,000 processed words with no credit card. Paid plans start at $50/month with per-word metering — no per-document or per-page fees.

   Further reading
---------------

- [Resume Parsing API — PDF, DOCX &amp; Photo CVs to JSON (80+ Langs)](https://resumeparser.pro/resume-parsing-api) AI resume parsing API: send a PDF, DOCX, RTF, TXT or photo CV, get back 50+ structured JSON fields. 80+ languages, OCR included, async REST, from $50/mo.
- [Resume Job Match Score API — 20 Scored Dimensions, 0-100](https://resumeparser.pro/resume-job-match-score-api) Send a CV file plus a job description, get a 0-100 match score across 20 dimensions with plain-language explanations. Rankable, defensible, async REST.
- [What Is Resume Parsing? The 2026 Guide for HR Tech Builders](https://resumeparser.pro/what-is-resume-parsing) Resume parsing converts CV files into structured data an ATS can search. How it works, what it extracts, accuracy limits and where AI changed the game.

    ResumeParser.pro — a free resource on resume parsing and candidate matching, written and maintained by the team behind [SharpAPI](https://sharpapi.com/?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=footer). The APIs documented here: [Resume Parsing API](https://sharpapi.com/en/resume-parsing-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=footer) and [Resume Job Match Score API](https://sharpapi.com/en/resume-job-match-score-api?utm_source=resumeparser.pro&utm_medium=referral&utm_campaign=home&utm_content=footer). SDKs on [GitHub](https://github.com/sharpapi).

 On this site: [What is resume parsing](https://resumeparser.pro/what-is-resume-parsing)·[How parsing works](https://resumeparser.pro/how-does-resume-parsing-work)·[Extracted fields](https://resumeparser.pro/what-fields-does-a-resume-parser-extract)·[Resume to JSON](https://resumeparser.pro/resume-to-json)·[Best parser APIs](https://resumeparser.pro/guides/best-resume-parser-apis)·[All guides](https://resumeparser.pro/guides)·[Glossary](https://resumeparser.pro/glossary)·[About](https://resumeparser.pro/about)

 No cookies, no tracking pixels, no popups. © 2026 [A2Z Web](https://a2zweb.co).

 A Markdown version of this page is available at https://resumeparser.pro/index.md, optimized for AI and LLM tools.
