Identity and contact details
Job title, first name, last name, address, city, country, phone number and available email addresses.
CV parsing REST API · ATS and HR integrations
Send a CV to the CVReaderPro REST API, receive a structured response and use the data in your ATS, HR software or business application.
14-day trial · 200 free credits · no credit card
From document to data
CVReaderPro extracts data from the document. Your backend receives the response and decides how to map, store and display it in your candidate model.
Your backend submits the file to a parsing endpoint.
Select a mode based on the document and required level of detail.
The API returns structured properties in a JSON or XML response.
Your application maps the returned fields to its ATS, CRM or candidate database.
Returned properties depend on the selected parser and the information detected in the document.
Job title, first name, last name, address, city, country, phone number and available email addresses.
Roles, employers, dates, locations, descriptions and current-position status.
Degrees, institutions, dates and available descriptions.
Structured skills, detected languages and identifiable proficiency levels.
Profile text, experience level and education level where returned by the parser.
Soft skills, references, social links, hobbies and extracted text when provided by the schema.
The 56 or 96 fields are available properties, not values guaranteed to be populated. Information missing from or unusable in a CV may remain empty.
View complete schemas in the documentationResponse example
On the left is a synthetic CV PDF; on the right is its corresponding AI 56 JSON response from the public examples. The block shows data an ATS can map to its own candidate model.
Alex Sample — Senior Java Engineer — Paris. Fictional profile used to illustrate the flow.
Download source CV (PDF)Values are fictional. Populated fields and content vary by CV and selected parser.
Download the full JSON file{
"documentType": "CV",
"documentLanguage": "en",
"candidate": {
"jobTitle": "Senior Java Engineer",
"title": "Mr",
"firstName": "Alex",
"lastName": "Sample",
"dayOfBirth": "",
"monthOfBirth": "",
"yearOfBirth": "",
"address": "Paris, France",
"postalCode": "",
"city": "Paris",
"country": "FR",
"department": "",
"region": "",
"phone": "",
"mobilePhone": "",
"driverLicense": "",
"personalEmail": "alex.sample@example.invalid",
"professionalEmail": "",
"nationality": "",
"children": ""
},
"profile": "Synthetic senior Java engineer with 8 years of experience developing Java, Spring Boot and PostgreSQL services. Builds REST APIs and leads engineering teams.",
"experienceLevel": "96",
"experiences": [
{
"startMonth": "01",
"endMonth": "10",
"startYear": "2020",
"endYear": "2026",
"mission": "Senior Java Engineer",
"company": "Example Systems (synthetic)",
"location": null,
"description": "Built Spring Boot REST APIs and PostgreSQL services. Led a team of four engineers. Introduced CI pipelines and automated integration checks.",
"currentPosition": true
},
{
"startMonth": "09",
"endMonth": "12",
"startYear": "2018",
"endYear": "2019",
"mission": "Java Engineer",
"company": "Example Labs (synthetic)",
"location": null,
"description": "Developed Java backend services, SQL reports and REST integrations.",
"currentPosition": false
}
],
"educationLevel": "DESS, DEA, Grande Ecoles, Bac +5",
"educations": [
{
"dateReceived": "2018",
"title": "Master of Computer Science",
"school": "Example University (synthetic)",
"description": ""
}
],
"languages": [
{
"name": "English",
"level": "Fluent"
},
{
"name": "French",
"level": "Bilingual"
}
],
"skills": [
{
"name": "Spring Boot",
"level": "Confirmed"
},
{
"name": "Java",
"level": "Confirmed"
},
{
"name": "PostgreSQL",
"level": "Experienced"
}
],
"softSkills": [
"Leadership",
"problem solving",
"communication"
],
"references": [],
"socialLinks": null,
"hobbies": "",
"resumeId": "00000000-0000-0000-0000-000000000001"
}Technical quick start
Authenticate on your server, submit the CV as multipart/form-data and process the structured response.
Generate a key in your account and keep it on the server.
Call the standard endpoint with the CV file in the file field.
The parserType parameter is optional on the standard endpoint.
Request application/json, then map the properties in your software.
curl --fail-with-body -X POST "https://cvreaderpro.com/api/v2/resumes/parser" \
-H "Authorization: ApiKey YOUR_API_KEY" \
-H "Accept: application/json" \
-F "file=@resume.pdf" \
-F "parserType=ADVANCED"On POST /api/v2/resumes/parser, BASIC selects rule-based parsing (56 fields) and ADVANCED selects AI 56 (56 fields). For AI 96, use POST /api/v2/resumes/extended-parser; it is a separate endpoint, not a parserType value on the standard endpoint.
POST /api/v2/resumes/extended-parserThe extended parser accepts either a file or a text field in a multipart request. Send exactly one input; check the documentation for access requirements.
API documentationDo not expose a private API key in browser-side JavaScript. See the documentation for each endpoint’s parameters, errors and limits.
Match the parser to the context required and the processing cost per CV.
| Mode | Credits / CV | Available fields | Typical use |
|---|---|---|---|
| Rule-based parsing | 1 | 56 | Standardized extraction for high-volume CV processing. |
| AI parsing 56 | 3 | 56 | AI interpretation when a document needs more context. |
| AI parsing 96 | 5 | 96 | Extended parser for a more detailed representation. |
AI 96 uses a dedicated endpoint: POST /api/v2/resumes/extended-parser. It accepts one file or one text input per request. Access may depend on an active trial or the API key’s plan.
Available field counts do not guarantee that every value will be extracted from a CV.
Explore rule-based CV parsingBuilt for technical teams
CVReaderPro provides parsing and structured output. Your application retains control of the workflow and data model.
Add CV extraction to the application flow and map the response to your candidate model.
Send the useful data to candidate records and your existing HR workflows.
Connect parsing to business tools, candidate portals or processing pipelines.
Handle the response on the backend, manage errors and choose what data to display or store.
The API provides structured data, not a native connector for every ATS. Mapping, interface and business rules are implemented or configured in your software.
Plan for successful responses, errors and asynchronous events in your integration.
POST /api/v2/resumes/parserPOST /api/v2/resumes/parser returns HTTP 200 in JSON or XML, depending on the Accept header.
400Invalid CV file.401API key is missing or invalid.402Insufficient credits.403File parsing is not allowed for this key or account.POST /api/v2/resumes/extended-parser403Parser access or an active trial is required.422The document could not be parsed.429The extended parser request limit was reached.The formats currently stated for the CV parsing API are:
The standard endpoint receives a file as multipart/form-data, and its cURL example uses a PDF. The public API page mentions PDF and DOCX; DOC and .txt files are not confirmed for this endpoint. The extended endpoint also accepts a text string in the text field, which does not confirm support for .txt files.
Credits are charged per CV based on the selected parsing mode.
| Mode | Credits / CV | Up to this many CVs with 200 credits |
|---|---|---|
| Rule-based parsing | 1 | 200 |
| AI parsing 56 | 3 | 66 |
| AI parsing 96 | 5 | 40 |
These volumes assume all 200 credits are spent on one mode. Partial CVs are not counted.
The trial includes 200 credits for 14 days, with no credit card required. Test representative CVs before building the full integration.
View pricing and creditsYour backend sends the CV to the API, receives the structured response and maps the returned properties to ATS fields. Your software handles the mapping and interface.
Create an account and generate a key in your workspace. Use the Authorization: ApiKey header and keep the private key on the server.
The public API page lists PDF and DOCX. The POST /api/v2/resumes/parser reference uses a multipart/form-data file field and a PDF example; it does not confirm DOC or .txt files. The extended endpoint accepts a text string in the text field, not necessarily a TXT file.
Depending on the parser, the response can include candidate data, experience, education, languages, skills, soft skills, references, social links and other schema properties.
Rule-based parsing provides 56 fields for 1 credit per CV. AI 56 uses 56 fields for 3 credits. AI 96 provides 96 fields for 5 credits when an integration needs more detail.
No. A schema property is populated only when the information is present and usable in the CV. Results vary by document and parser.
The standard endpoint returns a response to the request. Ask for JSON with Accept: application/json; some asynchronous workflows use the documented webhooks.
Up to 200 CVs with rule-based parsing, 66 with AI 56 or 40 with AI 96 if all credits are spent on one mode.
Access depends on the endpoint, API key and active plan or trial. Check the documentation for extended parser requirements.
Download the CV inputs and captured API outputs. All people, employers and vacancies are fictional. The sample documents are in English; results depend on the input and parser and require human review.
Check returned data on representative documents, then map the properties into your ATS or HR software.
14-day trial · 200 free credits · no credit card