Parse + Extract
Both artifacts in one call, delivered separately: a parse object (the document) and an extract object (the 24-field profile) — persist each on its own.
One request, two independent artifacts — published as an explicit endpoint so
your backend stays a simple pair of calls: fire
/v1/autofill and
/v1/parse-extract in parallel on upload, persist both
artifacts from this response, and merge on submit (the candidate's own form edits
win over the extracted fields).
Request
Send multipart/form-data — same contract as
/v1/parse: file
or source_url, max 20 MB, first 10 pages.
Response 200
Two top-level objects, not nested in each other: parse
(exactly what /v1/parse returns) and
extract (the profile):
{
"parse": {
"markdown": "# Jane Doe\n...",
"chunks": [ ... ], "splits": [ ... ],
"metadata": { "filename": "resume.pdf", "duration_ms": 16408 },
"instant_fields": { ... }
},
"extract": {
"candidate_data": {
"first_name": "Jane", "last_name": "Doe",
"work_experience_details": [ ... ], "resume_skills": [ ... ]
},
"metadata": { "duration_ms": 4200 }
}
}
Store parse and extract as two
separate records; the raw markdown is for your records — never render it to the candidate.
All 24 fields: Response schema.
Timing
Typically 10–25 seconds total for a typical CV (parse + extraction in sequence, one round-trip).
Example
curl -X POST "https://prs.recruspace.com/v1/parse-extract" \ -H "X-API-Key: $KEY" -F "file=@resume.pdf"