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.
What gets extracted from every CV
Anything the resume doesn't state comes back as null — never guessed.
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.