API
Create a bearer API keyResume parser API
REST endpoint for AI resume parsing — any CV layout. Returns the same JSON schema as the resume extractor. Authenticate with a bearer API key created on the developers page.
Prefer the browser? Try the free resume extractor. API access requires a paid plan.
Quick start
# Create a key at extractfox.com/developers, then:
curl -X POST https://extractfox.com/api/v1/extractions \
-H "Authorization: Bearer efk_live_..." \
-H "Content-Type: application/json" \
-d '{"mode":"prebuilt","schema_id":"resume","url":"https://example.com/resume.pdf"}'Example response
{
"id": "job_4b81e0c7fa62d391",
"object": "extraction",
"status": "succeeded",
"mode": "prebuilt",
"schema_id": "resume",
"source": { "kind": "url", "name": "resume.pdf" },
"result": {
"full_name": "Jane Doe",
"email": "jane@example.com",
"phone": "+1 415-555-0182",
"location": "San Francisco, CA",
"headline": "Senior Software Engineer",
"skills": ["TypeScript", "React", "PostgreSQL"],
"experience": [
{
"company": "Acme Corp.",
"title": "Senior Engineer",
"start_date": "2023-06",
"end_date": null,
"description": "Led platform migration."
}
],
"education": [
{
"institution": "UC Berkeley",
"degree": "B.S.",
"field": "Computer Science",
"start_date": "2016-09",
"end_date": "2020-05"
}
]
},
"empty": false,
"empty_fields": [],
"error": null,
"quota": { "used": 1, "limit": 300, "remaining": 299, "reason": "ok", "plan": "pro" }
}Request fields
| Field | Description |
|---|---|
| mode | prebuilt |
| schema_id | resume |
| file | Object with base64 data, media_type, and name — resume PDF or image up to 3 MB inline. Multi-page CVs supported. |
| url | Link to the CV instead of inline data — fetched as a file (PDF up to 50 MB, image up to 20 MB). |
| async | Set true to get a 202 and poll GET /api/v1/extractions/{id} for the result. |
Errors & limits
- 400Invalid JSON body — missing source, unknown schema_id, or more than one of file/url/text.
- 401Missing or revoked API key.
- 402Monthly extraction quota exhausted — upgrade or wait for reset.
- 413Inline file over 3 MB — host the CV and pass its url instead (PDF up to 50 MB, image up to 20 MB).
- 415Unsupported media_type — use PDF or image.
- 429Rate limit — max 60 extraction calls/minute per IP.
Monthly extraction quotas apply per plan. See pricing and the general developers docs.
FAQ
How is this different from the free resume parser tool?+
Same parser, different interface — the web tool is for one-off uploads; the API is for ATS ingest, screening pipelines, and bulk CV processing on a paid plan.
Does the AI resume parser handle designer CVs?+
Yes. The API uses the same layout-aware model as the web tool — two-column, Canva, and infographic resumes parse without per-template rules.
How do I authenticate?+
Create an API key on extractfox.com/developers and send it in the Authorization header as Bearer efk_live_… Keys are shown once and can be revoked there; the same key works for the MCP endpoint.
Can I map the JSON into Greenhouse or Lever?+
Yes. Field names are stable across runs — map full_name, experience[], education[], and skills[] directly into your ATS import or candidate database.