API / Autofill
Autofill
The form-prefill fast path. Returns just the contact-header fields — designed to be fired in parallel with a parse call the moment a CV is uploaded.
POST/v1/autofill
It never touches the OCR engine, so it stays fast even during a cold start:
digital PDFs are answered deterministically from the embedded text (<1 s);
scanned PDFs go through a single small vision pass whose output is then
validated deterministically — an e-mail must match, a phone must parse as a
real number. A field that fails validation is returned as
null, never guessed.
Request
Send multipart/form-data — same contract as
/v1/parse.
| Field | Type | Notes | |
|---|---|---|---|
file | file | one of | PDF, Word (docx/doc), RTF, ODT, image (png/jpg/webp), text or LaTeX. Max 20 MB. |
source_url | string | one of | A short-lived download URL. The service fetches it into memory and stores nothing. |
Response 200
{
"first_name": "Jane", "last_name": "Doe",
"email": "[email protected]", "phone_number": "+905005005050",
"location": "Ankara, Turkey",
"emails": ["[email protected]"], "phones": ["+905005005050"],
"linkedin": "https://www.linkedin.com/in/janedoe",
"source": "text_layer",
"duration_ms": 640
}
The source field
| Value | Meaning |
|---|---|
text_layer | Digital PDF — answered deterministically from the embedded text. Fastest and exact. |
vision_llm | Scanned document — a vision pass read the first pages; every value shown has passed format validation. |
unavailable | No prefill possible. Render an empty form — the full profile still arrives via parse + extract. |
Timing
<1 second for digital PDFs · ~3–6 seconds for scans. Unaffected by OCR engine cold starts, by design.
Example
curl -X POST "https://prs.recruspace.com/v1/autofill" \ -H "X-API-Key: $KEY" -F "[email protected]"