API

Create a bearer API key

Resume 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

FieldDescription
modeprebuilt
schema_idresume
fileObject with base64 data, media_type, and name — resume PDF or image up to 3 MB inline. Multi-page CVs supported.
urlLink to the CV instead of inline data — fetched as a file (PDF up to 50 MB, image up to 20 MB).
asyncSet 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.

See pricingTry the web tool free →