Resume / CV Parser

Turn a folder of resumes into a ranked shortlist

Upload up to 10 CVs at once. Get structured candidate data — skills, work history, education, contact details — as a comparable Excel sheet. Add a job description and every candidate is scored against it.

Scanned CVs OCR'd automatically Excel, CSV and JSON export Files deleted after processing

What gets extracted from every CV

Anything the resume doesn't state comes back as null — never guessed.

Full name and current title
Email, phone, LinkedIn, GitHub
Years of professional experience
Location
Skills and technologies
Full work history with dates
Education and degrees
Certifications
Spoken languages

How it works

1. Send the resumes

POST up to 10 PDFs to /api/v1/ai/parse-resume. Scanned files are OCR'd automatically.

2. Add a job description

Optional. Supply one and each candidate is scored 0–100 with matched and missing skills.

3. Download the shortlist

An Excel workbook with a ranked candidate table, plus full work history and education sheets.

One request, ranked results

Every integration — n8n, Make, Zapier, MCP — runs on this same endpoint.

curl -X POST https://www.allpdfmagic.com/api/v1/ai/parse-resume \
  -H "Authorization: Bearer YOUR_KEY" \
  -F "files=@candidate_1.pdf" \
  -F "files=@candidate_2.pdf" \
  -F "job_description=Senior Backend Engineer. Python, FastAPI, AWS required."

# Response
{
  "success": true,
  "parsed_count": 2,
  "ranked": true,
  "candidates": [
    {
      "rank": 1,
      "candidate": { "full_name": "...", "years_experience": 6 },
      "skills": ["Python", "FastAPI", "AWS"],
      "match": { "score": 95, "missing_skills": [] }
    }
  ],
  "download_url": "https://..."   // Excel shortlist
}

Candidate data is handled carefully

Resumes contain personal data. Files are deleted automatically after processing and are never used for training. If you need to strip PII from documents before sharing them internally, the auto-redact endpoint detects and permanently removes it.

FAQs

How does candidate ranking work?+

Ranking only happens when you supply a job description. Each candidate is scored 0–100 on evidence found in their resume, with the matched skills, missing skills, and a short rationale returned alongside. Without a job description the API returns candidates in upload order and no score at all — ranking with nothing to rank against would be arbitrary, so we don't invent one.

Can it read scanned resumes?+

Yes. If a PDF has no text layer it's automatically OCR'd. The response includes an ocr_used flag per file so you can tell which candidates came from a scan and may warrant a closer look.

How many resumes can I send at once?+

Up to 10 per request. Each is parsed concurrently. For larger volumes, batch the requests — the API is metered per resume against your plan's quota.

What formats are supported?+

PDF only, for now. Files are validated by content, not just extension, so a mislabelled file is rejected with a clear error rather than parsed into nonsense.

What happens to the resumes I upload?+

Files are processed and then deleted automatically — they are not retained or used for training. The generated Excel export is available from a short-lived signed link.

Is there a limit on file size?+

Requests to the public API are capped at roughly 4.5MB total. A typical PDF resume is well under 500KB, so this only matters for large batches of high-resolution scans — split those across requests.

Stop reading CVs one at a time

Free to start — no credit card required.

Get your free API key