The Resume Parsing API That Reads Every CV Format
Two-column designs, Europass templates, phone photos of paper CVs, mixed-language documents: the parser's job is to make all of them boring. One POST in, one deterministic JSON schema out.
14-day trial · 100,000 words included · No credit card
The SharpAPI Resume Parsing API converts resume and CV files — PDF, DOC, DOCX, RTF, TXT, JPG, PNG and TIFF — into one consistent JSON document covering 50+ candidate fields. It reads 80+ languages, includes OCR, and runs asynchronously over REST.
The request is one multipart POST
Authenticate with a Bearer token, attach the file, optionally name the language. That is the whole integration surface:
curl -X POST 'https://sharpapi.com/api/v1/hr/parse_resume' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'file=@candidate.pdf;type=application/pdf' \
-F 'language=English'
The API responds with 202 Accepted and a status URL. Poll it — or pass a webhook URL and get called back. Typical jobs finish in seconds; because nothing blocks, a 10,000-file backfill runs exactly like a single upload, just wider. The polling response carries the parsed candidate:
{
"candidate_name": "Linda Harris",
"candidate_email": "linda.h@dayjob.co.uk",
"candidate_phone": "02476 000 0000",
"candidate_spoken_languages": ["German"],
"candidate_courses_and_certifications": ["ISEB certification"],
"positions": [{
"position_name": "Test Engineer",
"company_name": "IT & Telecoms Company",
"country": "United Kingdom",
"start_date": "2008-06-01",
"end_date": null,
"skills": ["Acceptance testing", "Agile", "Performance testing", …],
"job_details": "Responsible for the whole test process from planning…"
}],
"education_qualifications": [{
"school_name": "Nuneaton University",
"degree_type": "Bachelor's Degree or equivalent",
"specialization_subjects": "Information Technology (Software Engineering)"
}]
}
The full payload runs 50+ fields — explore a complete example or read the field-by-field breakdown.
What the endpoint handles for you
| Concern | What you get |
|---|---|
| File formats | PDF, DOC, DOCX, RTF, TXT, JPG, PNG, TIFF — 8 formats, up to 100 MB per file |
| Scanned documents | OCR built into the same endpoint; no separate vendor, no extra fee |
| Languages | 80+, including mixed-language documents; output normalizable to your platform language |
| Layout handling | Layout-agnostic AI extraction — no templates to maintain, no per-format rules |
| Output | One deterministic JSON schema, 50+ fields; absent data returns empty, never missing |
| Delivery | Async REST: 202 + status URL, polling or webhooks; built for bulk pipelines |
| Pricing | Per processed word, from $50/month; no per-page or per-document fees |
| Compliance | GDPR, SOC 2 Type II, PDPA; transient processing; never used for training |
Where it slots into a product
Applicant tracking systems auto-fill candidate profiles the moment a CV lands — no manual re-typing, no abandoned upload forms. CV upload → candidate record in 1 call
Job boards let applicants register with a resume instead of a 20-field form. Shorter forms, cleaner profiles. resume.pdf → prefilled application
Staffing agencies bulk-parse inbox attachments and legacy databases into a searchable, structured pool. 10k legacy CVs → searchable JSON
Talent marketplaces and screening tools normalize every CV into comparable profiles for match scoring and verification workflows. any layout → one schema
SDKs in six ecosystems
Official libraries for PHP, Laravel, Python, Node.js, .NET and Flutter, plus a Postman collection, live on SharpAPI and GitHub. Working tutorials: Python, PHP & Laravel, Node.js.
Questions, answered
What file formats does the resume parsing API accept?
PDF, DOC, DOCX, RTF, TXT and image files (JPG, PNG, TIFF) up to 100 MB each. OCR for scanned documents and phone photos is built into the same endpoint — you never need a separate OCR vendor.
What fields does the parser extract from a resume?
Over 50 fields in one deterministic schema: contact details, work history with per-role skill lists, education, certifications, spoken languages, projects, publications, volunteer work, driving licenses, work authorization, years of experience, management level and remote-work history. Every resume maps to the same structure, so your integration code never changes.
How many languages does the parser support?
More than 80, including mixed-language documents — an English CV with a German cover section parses fine. You can also request the normalized output in a language of your choice.
Is the API synchronous or asynchronous?
Asynchronous: your POST returns 202 Accepted with a status URL immediately. Poll it or pass a webhook URL and get called back. Typical parsing jobs finish in seconds, and the async model means bulk pipelines never hit request timeouts.
How much does it cost to parse a resume?
Pricing is metered per processed word — not per page or per document — with plans from $50/month. A typical two-page resume costs a fraction of what per-document vendors charge. The 14-day trial includes 100,000 words with no credit card.
Is the resume parser GDPR compliant?
Yes. SharpAPI is GDPR, SOC 2 Type II and Singapore PDPA compliant. Documents are processed transiently, never stored longer than the job requires, and never used to train models.