“Which resume parser API is best?” is only answerable after you define the documents, fields, integration constraints, and failure tolerance that matter to your ATS. Public product pages help narrow a shortlist; they do not establish which parser will extract your candidates’ experience or dates most accurately.
What this comparison can and cannot establish
This article compares public product specifications checked on October 1, 2026. It does not claim a same-document accuracy or speed winner: no independent, matched-corpus benchmark was run for this comparison. Where a vendor publishes a performance or language figure, treat it as a vendor statement unless its corpus, metric, and method can be reproduced.
HireLayer supports 70 languages, a figure based on its internal tests. Like the other vendors’ figures, it is a vendor statement rather than an independent benchmark result. Use your own reference set to validate any vendor’s claims before relying on them in production.
Public product specifications
| Product | Public integration information | Inputs and operating details visible publicly | What to confirm directly |
|---|---|---|---|
| HireLayer | V3 is POST /api/v3/parser; one file per multipart
request and a synchronous response. | PDF, DOC/DOCX, ODT, PPT/PPTX, ODP, XLS, RTF, TXT, JPG/JPEG, PNG, and BMP; encoded request limit 6 MiB. One successful API call uses one shared credit. | Suitable concurrency for the account, data-retention configuration, and field-level quality on your corpus. |
| Affinda | Public API documentation describes a hosted parse endpoint and also discusses self-hosted deployment. | Documentation lists PDF, Word, OpenDocument, images, plain text, HTML, and RTF inputs, with a documented 20 MB limit. Its pricing page lists hosted pay-as-you-go at US$0.10 per document and a trial of up to 1,000 documents for 14 days. | Plan, deployment, currency, volume terms, and whether your expected OCR and support needs are included. |
| RChilli | Its documentation describes bulk upload through FTP and webhook delivery. | Cost documentation states one credit for resume parsing and an additional credit for OCR. | Commercial quote, supported format and size limits, callback behavior, and account-specific throughput. |
| Textkernel | The product page describes a resume parser for recruiting workflows. | The vendor product page lists support for 29 resume languages; this is a published vendor specification. | Supported file limits, API contract, quote, and measured performance for your documents. |
The table is a shortlist aid, not a ranking. “Supported format” can mean different things in practice, and published file-size limits are not necessarily measured at the same request layer. Verify details against the version and plan you will actually use.
For a vendor-by-vendor view with pricing, field mappings and migration steps, see HireLayer vs Affinda, HireLayer vs RChilli, HireLayer vs Textkernel or all resume parsing API alternatives.
Pricing units are covered in the separate cost-per-1,000 pricing guide. To test a specific implementation path, use the PDF-to-JSON examples and run the same source files through each shortlisted parser.
Build a repeatable benchmark
1. Make a representative, permissioned corpus
Use synthetic, licensed, or appropriately anonymized resumes. Select examples from the formats, languages, industries, and layouts you receive—not only clean one-column PDFs. Include selectable-text PDFs, image scans, DOCX, multi-column layouts, tables, unusual date formats, missing end dates, and documents with similarly named sections.
2. Create a field-level reference
Have a reviewer record the correct value and its source span for each field you care about: candidate name, email, phone, employer, job title, start and end dates, school, degree, and selected skills. Define normalization before testing. For example, state whether “Jan 2020” and “2020-01” count as the same month and how to score a genuinely absent end date.
3. Run every product on the same files
Freeze the input set, parser version or plan where available, request options, and test date. Record request IDs and raw responses securely. If a provider requires a different upload flow, document that difference and keep the measured parser path consistent with your planned production setup.
4. Publish the method with the result
Report sample count, formats, languages, inclusion rules, field definitions, normalization, excluded cases, date of test, and whether vendors supplied the environment. A score without this context cannot be reliably repeated or applied to another ATS.
Use the same sample to inspect the live response
Try a representative file in the demo, then send your own benchmark cases through the documented API after choosing a secure test process.
Measure extraction quality and operating cost
| Measure | Suggested definition | Why it matters |
|---|---|---|
| Field precision | Correct extracted values divided by all extracted values for that field. | Shows how often a populated value is right. |
| Field recall | Correct extracted values divided by reference values present in the documents. | Shows how much of the information you needed was found. |
| Missing-value rate | Reference values present but not returned, by field and document cohort. | Highlights omissions hidden by a single aggregate score. |
| p50 / p95 latency | Median and 95th-percentile end-to-end parse time. | Separates typical response from slower cases. |
| Cost per successful resume | Total vendor charges divided by completed, usable results. | Includes retries, OCR, and plans in a workload-relevant unit. |
Calculate quality separately for names, contact fields, employment dates, employers, education, and skills. If you combine these into a single summary, publish the weighting. A parser that fills more fields is not necessarily better if it also inserts more incorrect values; measure false positives as well as missing values. The resume parsing accuracy guide walks through building the labeled test set and scoring each field.
Choose based on your integration constraints
- API shape: synchronous or callback flow, one document or batch, response schema, and correlation IDs.
- Coverage: the exact formats, languages, file limits, scan quality, and fields in your corpus.
- Operations: documented errors, throughput guidance, retries, support, and deployment location.
- Data handling: retention options, access controls, deletion behavior, and your own storage obligations.
- Commercial fit: billable unit, OCR treatment, shared credits, minimum terms, and total cost at peak volume.
Shortlist two or three products from the published contract, then run your matched test set and review failure cases with the teams who will operate the ATS integration. That evidence is more useful than choosing from a generic “best parser” list.
Frequently asked questions
Which resume parser API is the most accurate?
This comparison does not establish an accuracy winner. Run each shortlisted parser against the same permissioned corpus with field-level ground truth and publish the method.
Can I compare vendor accuracy percentages directly?
Only if the test corpus, fields, metric, normalization rules, and scoring method are comparable. Otherwise treat each percentage as a vendor-reported claim, not a shared benchmark.
How many resumes should a benchmark include?
Use enough examples to cover your document cohorts and the cost of errors. Report sample size and limitations; a small convenience sample should not be presented as a universal result.
Sources and further reading
- HireLayer API documentation
- HireLayer product page and product claims
- Affinda Resume Parser API documentation
- RChilli resume parser plan and cost documentation
- RChilli bulk upload integration documentation
- Textkernel Resume Parser product information
- Affinda Resume Parser pricing
Louis Desclous
Published on · Reading time: 11 minutes

