Multilingual Resume Parser
Same JSON structure, original wording kept
Parse resumes in other languages without translating them first. The same JSON field names regardless of input language.
How it works
- 1
No language parameter
You send every resume to the same POST /v1/parse endpoint. There is no language parameter to set.
- 2
Processing in the original language
The language model reads the resume text in its original language instead of translating it to English first.
- 3
Normalized where it helps
Month names are translated to English before dates become numbers, and country names in locations are returned in English (for example "Finland", not "Suomi").
- 4
Consistent JSON output
Field names are always the same: firstName, lastName, emailAddress, workExperiences[], educations[], languages[]. Descriptions stay in their original language.
Key Benefits
Descriptions not translated
Work descriptions keep the candidate's own words and language, so nothing is lost in machine translation. Your system can translate them if needed.
One endpoint for every language
No separate endpoint or setting for non-English resumes, which keeps your integration simple for international applicant pools.
Language skills listed
The languages[] array lists the languages the candidate mentions with their stated level, and fluentLanguages lists the ones marked fluent or native.
Mixed-language resumes
Many CVs mix languages, like a Finnish resume with English job titles. The model reads the document as a whole rather than section by section.
Code examples
{
"firstName": "Hans",
"lastName": "Mueller",
"emailAddress": "[email protected]",
"locationCity": "Berlin",
"locationState": "Berlin",
"locationCountry": "Germany",
"workExperiences": [
{
"title": "Softwareentwickler",
"organization": "Example GmbH",
"location": "Berlin, Germany",
"skillsDescription": "- Entwicklung von Cloud-Lösungen mit Java und Spring Boot",
"startMonth": 1,
"startYear": 2020,
"endMonth": null,
"endYear": null,
"isOngoing": true
}
],
"educations": [
{
"degree": "Diplom-Informatiker",
"school": "Technische Universität München",
"year": "2014",
"endYear": "2019",
"notes": "Schwerpunkt: Verteilte Systeme",
"location": "München, Germany"
}
],
"fluentLanguages": ["German", "English"],
"languages": [
{ "language": "German", "level": "Native" },
{ "language": "English", "level": "Fluent" },
{ "language": "French", "level": "Basic" }
]
}Technical Details
Resumes are processed by a large language model in their original language. Field names are always in English. Month names are translated to English before dates are converted to numbers, and country names in locations are returned in English. Job descriptions are returned without changing their language or grammar. The languages[] array captures the candidate's stated language skills and levels. We don't publish per-language accuracy figures, so test your own language mix with the 50 free parses per month. The API is hosted on Hetzner in Helsinki, Finland; /v1/parse does not store the PDF or the parsed result, and resume text is processed by OpenAI (US) as a subprocessor.
Frequently asked questions
There is no fixed language list. The parser uses a large language model that reads many languages. We don't publish per-language accuracy figures, so test with resumes in your target languages using the 50 free parses per month.
The model reads the full document, so a resume with sections or job titles in different languages is processed as one. Fields are extracted from whatever language they are written in.
No. Job titles, company names and descriptions are returned in their original language. Only month names (for the date fields) and country names in locations are normalized to English.
No. There are no language parameters or headers. You send the PDF to POST /v1/parse.
Related pages
PDF Resume Parser
Parse single-column and multi-column PDF resumes into structured JSON with one API call. PDF up to 5 MB. Parsing is synchronous and can take up to 60 seconds.
FeaturesSkill Extraction API
Get each role's description, with the skills used, tied to the job where they were used. PDF to structured JSON with one API call.
FeaturesContact Information Extraction
Extract name, email, phone, LinkedIn profile and location from PDF resumes as structured JSON.
FeaturesWork Experience Extraction
Parse job titles, organizations, dates and role descriptions from PDF resumes. Handles "Present" dates and overlapping roles.
Test with resumes in your target languages
50 free parses per month. Send CVs in the languages you hire in and check the output yourself.