Endpoint
Parse a resume
Send a resume file and receive structured data synchronously.
Request
multipart/form-datafilePDF, DOC, DOCX, or supported resume file.
application_idYour internal application or candidate reference.
webhook_urlOptional callback. The synchronous response is still returned.
do_not_store_dataSet to true when parsed data must not be retained. Defaults to false.
Errors
400Missing file or invalid application_id.
401Missing or invalid API key.
403The account does not have enough credits.
413The uploaded payload is too large.
415Content-Type must be multipart/form-data.
502 / 504Parser unavailable or request timed out.
Example request
curl -X POST https://onlineresumeparser.com/api/v3/parser \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@/path/to/resume.pdf" \
-F "application_id=app_123"Response
V3 returns a normalized payload with request metadata, warnings, structured errors, candidate details, experience, education, languages, skills, certifications, and interests.
{
"status": "success",
"request_id": "req_01J9R8M4Y2A6K7D9P3N5Q1T8",
"warnings": [],
"errors": [],
"info_resume": {
"application_id": "app_123",
"date_parsing": "2026-09-04T10:30:00",
"language": "en",
"url": "https://cdn.onlineresumeparser.com/resumes/app_123.pdf",
"face_url": "https://cdn.onlineresumeparser.com/faces/app_123.jpg",
"face_url_expires_at": "2026-09-11T10:30:00.000Z",
"text": "Alex Morgan\nSenior Software Engineer\nParis, France\n [email protected]\n\nSenior software engineer with 8 years of experience building web platforms and developer tools."
},
"info_candidate": {
"full_name": "Alex Morgan",
"last_name": "Morgan",
"first_name": "Alex",
"email": "[email protected]",
"phone_number": "+33 6 12 34 56 78",
"birth_date": "1992-04-18",
"age": 34,
"availability_now": false,
"availability_date": "2026-10-01",
"driver_license": ["B"],
"job_title": "Senior Software Engineer",
"education_name": "École Polytechnique",
"education_level": "Level 7",
"experience_level": "5 to 10 years",
"linkedin_url": "https://www.linkedin.com/in/alex-morgan",
"github_url": "https://github.com/alexmorgan",
"other_urls": ["https://alexmorgan.dev"],
"location": {
"country": "France",
"country_code": "FR",
"region": "Île-de-France",
"department": "Paris",
"city": "Paris",
"postal_code": "75011",
"full_address": "Paris, France",
"latitude": 48.8566,
"longitude": 2.3522
},
"mobility": {
"can_work_in_other_cities": true,
"other_cities": [
{
"city": "Lyon",
"country": "France",
"postal_code": "69002",
"latitude": 45.764,
"longitude": 4.8357
},
{
"city": "Brussels",
"country": "Belgium",
"postal_code": "1000",
"latitude": 50.8503,
"longitude": 4.3517
}
]
}
},
"work_experiences": [
{
"company_name": "Northstar Labs",
"job_title": "Senior Software Engineer",
"description": "Led a team of five engineers building a TypeScript and React SaaS platform used by 40,000 monthly users.",
"contract_type": "Permanent contract",
"start_date": "2022-03-01",
"end_date": null,
"currently_active": true,
"work_experience_country": "France",
"work_experience_country_code": "FR",
"work_experience_city": "Paris",
"work_experience_postal_code": "75009",
"experience_duration": 52
},
{
"company_name": "Atelier Digital",
"job_title": "Software Engineer",
"description": "Built Node.js APIs, automated deployments, and data pipelines for recruitment clients.",
"contract_type": "Permanent contract",
"start_date": "2018-09-01",
"end_date": "2022-02-28",
"currently_active": false,
"work_experience_country": "France",
"work_experience_country_code": "FR",
"work_experience_city": "Paris",
"work_experience_postal_code": "75002",
"experience_duration": 42
}
],
"educations": [
{
"degree_title": "Master of Science in Computer Science",
"school_name": "École Polytechnique",
"description": "Coursework in distributed systems, machine learning, and software architecture.",
"degree_type": "Level 7",
"start_date": "2014-09-01",
"end_date": "2016-06-30",
"currently_active": false,
"location": {
"country": "France",
"country_code": "FR",
"region": "Île-de-France",
"department": "Essonne",
"city": "Palaiseau",
"postal_code": "91120",
"full_address": "Palaiseau, France"
}
},
{
"degree_title": "Bachelor of Engineering",
"school_name": "Université de Technologie de Compiègne",
"description": "Software engineering and information systems.",
"degree_type": "Level 6",
"start_date": "2011-09-01",
"end_date": "2014-06-30",
"currently_active": false,
"location": {
"country": "France",
"country_code": "FR",
"region": "Hauts-de-France",
"department": "Oise",
"city": "Compiègne",
"postal_code": "60200",
"full_address": "Compiègne, France"
}
}
],
"rome_jobs": [
{
"job_title": "Senior Software Engineer",
"job_code": "M1805",
"rome_title": "Études et développement informatique",
"rome_code": "M1805",
"prediction_score": 0.97
},
{
"job_title": "Software Engineer",
"job_code": "M1805",
"rome_title": "Études et développement informatique",
"rome_code": "M1805",
"prediction_score": 0.89
}
],
"languages": [
{ "language": "English", "level": "Full Professional Proficiency (C1)" },
{ "language": "French", "level": "Native or Bilingual (C2)" },
{ "language": "Spanish", "level": "Limited Working Proficiency (B1)" }
],
"skills": [
{
"skill_title": "TypeScript",
"skill_type": "Software skill",
"status": "normalized",
"domain": "Engineering",
"subcategory": "Web"
},
{
"skill_title": "React",
"skill_type": "Software skill",
"status": "normalized",
"domain": "Engineering",
"subcategory": "Frontend"
},
{
"skill_title": "Node.js",
"skill_type": "Software skill",
"status": "normalized",
"domain": "Engineering",
"subcategory": "Backend"
},
{
"skill_title": "System design",
"skill_type": "Hard skill",
"status": "raw",
"domain": "Engineering",
"subcategory": "Architecture"
},
{
"skill_title": "Technical leadership",
"skill_type": "Soft skill",
"status": "raw",
"domain": "Leadership",
"subcategory": "Team management"
}
],
"certifications": ["AWS Certified Developer – Associate", "Professional Scrum Master I"],
"interests": ["Open-source software", "Climbing", "Urban photography"]
}Allowed values in response
status"success""partial""error"Overall parser result.
info_candidate.education_level"Level 1""Level 2""Level 3""Level 4""Level 5""Level 6""Level 7""Level 8""Other"nullEuropean Qualifications Framework (EQF) level, Other, or null when unavailable.
info_candidate.experience_level"0 to 1 year""1 to 3 years""3 to 5 years""5 to 10 years""More than 10 years"nullNormalized total experience bracket, or null when unavailable.
info_candidate.availability_nowtruefalsenullWhether the candidate is available immediately.
info_candidate.mobility.can_work_in_other_citiestruefalsenullWhether the candidate can work in another city.
work_experiences[].contract_type"Permanent contract""Fixed-term contract""Temporary assignment""Internship""Apprenticeship""Freelance""Volunteering""Other"nullCanonical contract type, or null when it is not available.
work_experiences[].currently_activetruefalsenullWhether the experience is the candidate’s current role.
educations[].currently_activetruefalsenullWhether the education is currently in progress.
educations[].degree_type"Level 1""Level 2""Level 3""Level 4""Level 5""Level 6""Level 7""Level 8""Other"nullNormalized EQF level for the education entry, Other, or null when unavailable.
languages[].level"Native or Bilingual (C2)""Full Professional Proficiency (C1)""Professional Working Proficiency (B2)""Limited Working Proficiency (B1)""Advanced Basic Proficiency (A2)""Introductory Proficiency (A1)"nullNormalized language proficiency level, or null when unavailable.
skills[].skill_type"Hard skill""Soft skill""Software skill"Classification assigned to the extracted skill.
skills[].status"raw""normalized"Whether the skill is raw text or normalized.
Date representation
info_resume.date_parsingYYYY-MM-DDTHH:mm:ssParser completion timestamp as returned by the parser; current payloads omit a timezone suffix.
info_resume.face_url_expires_atYYYY-MM-DDTHH:mm:ss.sssZISO 8601 UTC timestamp when a face URL is present; otherwise null.
info_candidate.birth_date / availability_dateYYYY-MM-DDDate-only value extracted from the resume, or null.
work_experiences[].start_date / end_dateYYYY-MM-DDDate-only value for the experience, or null when unavailable.
educations[].start_date / end_dateYYYY-MM-DDDate-only value for the education, or null when unavailable.