Skip to main content

Endpoint

curl -X POST https://api.fairmatch.ai/api/extract-resume \
  -H "Content-Type: multipart/form-data" \
  -F "[email protected]"

Request body

file
file
required
The PDF resume file to parse. Must be a valid PDF document.

How it works

This endpoint extracts raw text content from PDF resumes using PyMuPDF (fitz). It:
  1. Validates that the uploaded file is a PDF
  2. Reads the PDF content from the uploaded file stream
  3. Extracts text from each page of the PDF
  4. Returns the concatenated text content
Use this endpoint to extract resume text before creating a candidate profile or for preprocessing resume data.

Response

Returns the extracted text content from the PDF.
text
string
The raw text content extracted from all pages of the PDF resume

Response example

{
  "text": "John Doe\nSoftware Engineer\n[email protected] | (555) 123-4567\n\nEXPERIENCE\nSenior Software Engineer\nTech Corp, San Francisco, CA\n2020 - Present\n- Developed microservices using Python and FastAPI\n- Led team of 5 engineers\n- Improved system performance by 40%\n\nSKILLS\nPython, JavaScript, React, PostgreSQL, Docker, AWS\n\nEDUCATION\nB.S. Computer Science\nUniversity of California, Berkeley\n2016"
}

Error responses

detail
string
Error message describing what went wrong

Status codes

  • 200 - Resume parsed successfully
  • 400 - Invalid request (non-PDF file uploaded)
  • 500 - Failed to parse the PDF (corrupted file, invalid format, etc.)
Only PDF files are supported. If you need to parse resumes in other formats (DOCX, images), you’ll need to convert them to PDF first or use a different endpoint.

Use cases

  • Candidate onboarding: Extract resume text before creating a candidate profile
  • Bulk processing: Parse multiple resumes in a workflow before importing candidates
  • Data extraction: Get raw text for further processing with NLP or AI analysis
  • Resume validation: Verify that a PDF contains readable text content

Build docs developers (and LLMs) love