📄 API Documentation

Resumify API

Resume Intelligence API — structured hiring data from any CV in under 200ms. Drop into your stack with a single API call.

⚡ <200ms🎯 92% Confidence✅ 56-field JSON🔒 GDPR-Ready

Base URL

https://api.resumifyapi.com

Quickstart

cURLPythonNode.js
curl -X POST https://api.resumifyapi.com/api/v1/parse \
  -H "Authorization: Bearer rfy_live_xxxxxxxxxxxx" \
  -F "file=@resume.pdf"

# Response
{
  "success": true,
  "processing_ms": 187,
  "data": {
    "name": "Jane Smith",
    "email": "jane@example.com",
    "role_level": "Senior",
    "years_of_experience_total": 8,
    "skills": { "programming_languages": ["Python","TypeScript"] }
  },
  "ats_compatibility": { "score": 95, "verdict": "Excellent" },
  "quality_analysis": { "score": 82, "grade": "B" },
  "confidence": { "overall": 0.92 }
}

Endpoints

POST/api/v1/parseCore

Parse a single resume (PDF / DOCX / TXT)

Upload a resume file and receive 56-field structured JSON with ATS compatibility score, quality grade (A–F), per-field confidence scores, and full skills taxonomy. Powered by Claude AI — 92% overall confidence.

POST/api/v1/parse/batchGrowth+

Batch parse — upload a ZIP of resumes

Upload a ZIP containing up to 50 PDFs or DOCXs. Returns a job_id immediately. Results delivered via webhook or polled via the batch status endpoint. Ideal for staffing agencies processing bulk applicant pools.

GET/api/v1/batch/{job_id}/statusGrowth+

Poll batch job status

Returns { job_id, status, total, completed, results[] } for a running or completed batch parse job.

POST/api/v1/matchStartup+

Match a resume against a Job Description

Send a resume file + plain-text JD. Returns match_score (0–100), matched_skills[], missing_skills[], and a hire/no-hire recommendation. Critical for ATS platforms and agency screening workflows.

POST/api/v1/webhooksStartup+

Register a webhook URL

Register a URL to receive parsed JSON automatically after each parse completes. Events: parse.complete | batch.complete | parse.failed. Retries 3x with exponential backoff (5s → 30s → 5min).

GET/api/v1/usageAll Plans

Get current billing period usage

Returns { parses_used, parses_limit, batch_jobs, reset_date, plan } for the authenticated API key.

GET/rate-limit/checkAll Plans

Check your current rate limit status

Returns remaining parses for the current window along with reset time. Use this to implement graceful backoff in your integration.

🔐 Authentication

Pass your API key via the Authorization header on every request. Free plan included — no card required.

Authorization: Bearer rfy_live_xxxxxxxxxxxx
Get API Key →

⚠️ Error Codes

401INVALID_API_KEYMissing or invalid Authorization header
413FILE_TOO_LARGEFile exceeds 10MB limit
422INVALID_FILE_TYPEOnly PDF, DOCX, TXT supported
422BATCH_TOO_LARGEZIP contains more than 50 files
429QUOTA_EXCEEDEDMonthly parse limit reached — upgrade plan
500PARSE_FAILEDInternal error — retry or contact support