Hireability icon
developer-tools

Hireability

Resume parsing API for structured JSON extraction on standard PDFs, with strong Indian contact support but fragile multi-column handling.

Structured JSONIndian contact formatsMulti-column failSkills flattening
TL;DR — our verdictUpdated August 2026 · 10 test artifacts

Good on standard resumes, risky on mixed layouts

Where it wins
  • Your resume inputs are mostly single-column or standardized PDFs
  • Indian phone numbers and addresses need to be parsed correctly
  • You want JSON-ready candidate data with LinkedIn, certifications, and hobbies included
Main limitation
  • Multi-column or sidebar-heavy resumes are common in your pipeline

Our take

Hireability is a capable resume-parsing API for standard single-column PDFs: it returns structured JSON, handles Indian phone and address formats, and can extract work history, education, skills, certifications, LinkedIn, and hobbies. The big caveat is layout sensitivity — a two-column resume was misclassified as a Job Order, key contact fields disappeared, and competency data degraded — so it looks solid for controlled ATS pipelines but risky for diverse inbound resumes.

Screen recording of the HireAbility resume parsing demo.

In-Depth Review

Our detailed analysis of Hireability — features, performance, and real-world testing.

AD
AI Demos Team
Expert Reviewer
Verified Review

Feature-by-Feature Breakdown

Structured PDF-to-JSON Parsing
Test Summary
Feature tested: Structured PDF-to-JSON Parsing
Result: Passed

Feature tested: Structured PDF-to-JSON Parsing

Result: Passed

Expected behavior: Accepts resume PDFs directly and returns structured JSON-style output without manual field mapping. It worked on a clean resume upload, but a two-column resume caused the layout to be classified into the wrong structure.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Observed output: Output artifact (Image): The clean PDF was accepted directly and returned structured JSON-like output, but the parsed name split into GivenName 'Dev' and FamilyName 'loper'. — hireability_task1_name-split-dev-loper.png

Input artifact: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Output artifact: Output artifact (Image): The clean PDF was accepted directly and returned structured JSON-like output, but the parsed name split into GivenName 'Dev' and FamilyName 'loper'. — hireability_task1_name-split-dev-loper.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i2_p2_contact_present_source.png

Observed output: Output artifact (Image): The two-column resume was parsed into a Job Order structure instead of a candidate profile, with Title/PositionTitle/MinimumEducationLevel replacing resume fields. — hireability_task2_job-order-misclassification.png

Input artifact: Input artifact (Image): Input — i2_p2_contact_present_source.png

Output artifact: Output artifact (Image): The two-column resume was parsed into a Job Order structure instead of a candidate profile, with Title/PositionTitle/MinimumEducationLevel replacing resume fields. — hireability_task2_job-order-misclassification.png

What changed: Image transformed into Image

Why it matters / Conclusion: Good API-style ingestion on standard PDFs, but layout classification is brittle enough to break downstream parsing.

Accepts resume PDFs directly and returns structured JSON-style output without manual field mapping. It worked on a clean resume upload, but a two-column resume caused the layout to be classified into the wrong structure.

image
Input artifact for "Structured PDF-to-JSON Parsing" test: Input, i1_p3_categorized_skills_source.png
image
Output artifact for "Structured PDF-to-JSON Parsing" test: The clean PDF was accepted directly and returned structured JSON-like output, but the parsed name split into GivenName 'Dev' and FamilyName 'loper'., hireability_task1_name-split-dev-loper.png
The clean PDF was accepted directly and returned structured JSON-like output, but the parsed name split into GivenName 'Dev' and FamilyName 'loper'.
image
Input artifact for "Structured PDF-to-JSON Parsing" test: Input, i2_p2_contact_present_source.png
image
Output artifact for "Structured PDF-to-JSON Parsing" test: The two-column resume was parsed into a Job Order structure instead of a candidate profile, with Title/PositionTitle/MinimumEducationLevel replacing resume fields., hireability_task2_job-order-misclassification.png
The two-column resume was parsed into a Job Order structure instead of a candidate profile, with Title/PositionTitle/MinimumEducationLevel replacing resume fields.
Bottom Line
Good API-style ingestion on standard PDFs, but layout classification is brittle enough to break downstream parsing.
Identity and Contact Extraction
Test Summary
Feature tested: Identity and Contact Extraction
Result: Passed

Feature tested: Identity and Contact Extraction

Result: Passed

Expected behavior: Extracts name, email, phone, LinkedIn, and location fields from resume text. It handled some Indian phone and address formats, but failed when the PDF was misclassified or fields were fused in the text layer.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Observed output: Output artifact (Image): Email, phone, address, and LinkedIn were extracted correctly on the clean resume, but the name split artifact still affected GivenName and FamilyName. — hireability_task1_name-split-dev-loper.png

Input artifact: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Output artifact: Output artifact (Image): Email, phone, address, and LinkedIn were extracted correctly on the clean resume, but the name split artifact still affected GivenName and FamilyName. — hireability_task1_name-split-dev-loper.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i2_p2_contact_present_source.png

Observed output: Output artifact (Image): The visible Priya Sharma contact block was not carried into the parsed output; GivenName, FamilyName, Email, Phone, LinkedIn, and Address were empty. — hireability_task2_contact-fields-missing.png

Input artifact: Input artifact (Image): Input — i2_p2_contact_present_source.png

Output artifact: Output artifact (Image): The visible Priya Sharma contact block was not carried into the parsed output; GivenName, FamilyName, Email, Phone, LinkedIn, and Address were empty. — hireability_task2_contact-fields-missing.png

What changed: Image transformed into Image

Test case: Image → Text prompt

Input type: Image

Input used: Input artifact (Image): Input — i3_p3_education_missing.png

Observed output: Output artifact (Text prompt): Output

Input artifact: Input artifact (Image): Input — i3_p3_education_missing.png

Output artifact: Output artifact (Text prompt): Output

What changed: Image transformed into Text prompt

Why it matters / Conclusion: Solid on straightforward resumes and Indian formats, but not reliable enough if document classification goes wrong or the PDF text layer fuses fields.

Extracts name, email, phone, LinkedIn, and location fields from resume text. It handled some Indian phone and address formats, but failed when the PDF was misclassified or fields were fused in the text layer.

image
Input artifact for "Identity and Contact Extraction" test: Input, i1_p3_categorized_skills_source.png
image
Output artifact for "Identity and Contact Extraction" test: Email, phone, address, and LinkedIn were extracted correctly on the clean resume, but the name split artifact still affected GivenName and FamilyName., hireability_task1_name-split-dev-loper.png
Email, phone, address, and LinkedIn were extracted correctly on the clean resume, but the name split artifact still affected GivenName and FamilyName.
image
Input artifact for "Identity and Contact Extraction" test: Input, i2_p2_contact_present_source.png
image
Output artifact for "Identity and Contact Extraction" test: The visible Priya Sharma contact block was not carried into the parsed output; GivenName, FamilyName, Email, Phone, LinkedIn, and Address were empty., hireability_task2_contact-fields-missing.png
The visible Priya Sharma contact block was not carried into the parsed output; GivenName, FamilyName, Email, Phone, LinkedIn, and Address were empty.
image
Input artifact for "Identity and Contact Extraction" test: Input, i3_p3_education_missing.png
OUTPUT
On the messy John Kumar resume, name, email, phone, and location were extracted correctly: JOHN KUMAR, johnkumar@gmail.com, +91 9876543210, and Mumbai, Maharashtra India.
Bottom Line
Solid on straightforward resumes and Indian formats, but not reliable enough if document classification goes wrong or the PDF text layer fuses fields.
Skills Extraction
Test Summary
Feature tested: Skills Extraction
Result: Passed

Feature tested: Skills Extraction

Result: Passed

Expected behavior: Builds a competency list from resume content, including skill items and inferred levels. On the clean resume it extracted many competencies, but it also flattened categories and introduced noise terms.

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Observed output: Output artifact (Image): The source skill groups were flattened into a single competency list rather than preserved as Languages, AI/ML, Cloud, Frameworks, and Databases. — hireability_task1_categorized-skills-not-preserved.png

Input artifact: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Output artifact: Output artifact (Image): The source skill groups were flattened into a single competency list rather than preserved as Languages, AI/ML, Cloud, Frameworks, and Databases. — hireability_task1_categorized-skills-not-preserved.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Observed output: Output artifact (Image): All 29 competencies were marked beginner, and non-skill terms such as Intern, Science, and Framework were included. — hireability_task1_competency-beginner-noise-mock.png

Input artifact: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Output artifact: Output artifact (Image): All 29 competencies were marked beginner, and non-skill terms such as Intern, Science, and Framework were included. — hireability_task1_competency-beginner-noise-mock.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i2_p2_contact_present_source.png

Observed output: Output artifact (Image): The Priya Sharma resume showed skill names, but the level fields were blank and some non-skill terms were still present. — hireability_task2_competency-levels-blank.png

Input artifact: Input artifact (Image): Input — i2_p2_contact_present_source.png

Output artifact: Output artifact (Image): The Priya Sharma resume showed skill names, but the level fields were blank and some non-skill terms were still present. — hireability_task2_competency-levels-blank.png

What changed: Image transformed into Image

Test case: Image → Text prompt

Input type: Image

Input used: Input artifact (Image): Input — i3_p3_education_missing.png

Observed output: Output artifact (Text prompt): Output

Input artifact: Input artifact (Image): Input — i3_p3_education_missing.png

Output artifact: Output artifact (Text prompt): Output

What changed: Image transformed into Text prompt

Why it matters / Conclusion: It extracts a lot of skills, but level assignment and skill normalization are weak, and source categories are not preserved.

Builds a competency list from resume content, including skill items and inferred levels. On the clean resume it extracted many competencies, but it also flattened categories and introduced noise terms.

image
Input artifact for "Skills Extraction" test: Input, i1_p3_categorized_skills_source.png
image
Output artifact for "Skills Extraction" test: The source skill groups were flattened into a single competency list rather than preserved as Languages, AI/ML, Cloud, Frameworks, and Databases., hireability_task1_categorized-skills-not-preserved.png
The source skill groups were flattened into a single competency list rather than preserved as Languages, AI/ML, Cloud, Frameworks, and Databases.
image
Input artifact for "Skills Extraction" test: Input, i1_p3_categorized_skills_source.png
image
Output artifact for "Skills Extraction" test: All 29 competencies were marked beginner, and non-skill terms such as Intern, Science, and Framework were included., hireability_task1_competency-beginner-noise-mock.png
All 29 competencies were marked beginner, and non-skill terms such as Intern, Science, and Framework were included.
image
Input artifact for "Skills Extraction" test: Input, i2_p2_contact_present_source.png
image
Output artifact for "Skills Extraction" test: The Priya Sharma resume showed skill names, but the level fields were blank and some non-skill terms were still present., hireability_task2_competency-levels-blank.png
The Priya Sharma resume showed skill names, but the level fields were blank and some non-skill terms were still present.
image
Input artifact for "Skills Extraction" test: Input, i3_p3_education_missing.png
OUTPUT
The messy John Kumar resume still produced 15 skills under PersonCompetency.
Bottom Line
It extracts a lot of skills, but level assignment and skill normalization are weak, and source categories are not preserved.
Work Experience and Education Extraction
Test Summary
Feature tested: Work Experience and Education Extraction
Result: Passed

Feature tested: Work Experience and Education Extraction

Result: Passed

Expected behavior: Extracts employment history, degrees, certifications, and hobbies from resume content. It recovered these sections on clean resumes, but messy layouts caused merging and partial loss of some fields.

Test case: Image → Text prompt

Input type: Image

Input used: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Observed output: Output artifact (Text prompt): Output

Input artifact: Input artifact (Image): Input — i1_p3_categorized_skills_source.png

Output artifact: Output artifact (Text prompt): Output

What changed: Image transformed into Text prompt

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i3_p3_education_missing.png

Observed output: Output artifact (Image): The second employer was merged with the role title, returning Junior Developer XYZ InfoTech instead of only XYZ InfoTech. — hireability_task3_name-merged.png

Input artifact: Input artifact (Image): Input — i3_p3_education_missing.png

Output artifact: Output artifact (Image): The second employer was merged with the role title, returning Junior Developer XYZ InfoTech instead of only XYZ InfoTech. — hireability_task3_name-merged.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i3_p3_education_missing.png

Observed output: Output artifact (Image): Certifications, skills, and references were collapsed into one certification field instead of remaining separate. — hireability_task3_certs-refs-merged-mock.png

Input artifact: Input artifact (Image): Input — i3_p3_education_missing.png

Output artifact: Output artifact (Image): Certifications, skills, and references were collapsed into one certification field instead of remaining separate. — hireability_task3_certs-refs-merged-mock.png

What changed: Image transformed into Image

Test case: Image → Image

Input type: Image

Input used: Input artifact (Image): Input — i3_p3_education_missing.png

Observed output: Output artifact (Image): Only the B.E. education entry was extracted; the 12th and 10th entries visible in the source were missing. — hireability_task3_education-entries-missing.png

Input artifact: Input artifact (Image): Input — i3_p3_education_missing.png

Output artifact: Output artifact (Image): Only the B.E. education entry was extracted; the 12th and 10th entries visible in the source were missing. — hireability_task3_education-entries-missing.png

What changed: Image transformed into Image

Why it matters / Conclusion: Strong on clean resumes, but messy layouts still cause field merging and partial education loss.

Extracts employment history, degrees, certifications, and hobbies from resume content. It recovered these sections on clean resumes, but messy layouts caused merging and partial loss of some fields.

image
Input artifact for "Work Experience and Education Extraction" test: Input, i1_p3_categorized_skills_source.png
OUTPUT
The clean resume recovered both work experiences, education, certifications, and profile details including LinkedIn and hobbies.
image
Input artifact for "Work Experience and Education Extraction" test: Input, i3_p3_education_missing.png
image
Output artifact for "Work Experience and Education Extraction" test: The second employer was merged with the role title, returning Junior Developer XYZ InfoTech instead of only XYZ InfoTech., hireability_task3_name-merged.png
The second employer was merged with the role title, returning Junior Developer XYZ InfoTech instead of only XYZ InfoTech.
image
Input artifact for "Work Experience and Education Extraction" test: Input, i3_p3_education_missing.png
image
Output artifact for "Work Experience and Education Extraction" test: Certifications, skills, and references were collapsed into one certification field instead of remaining separate., hireability_task3_certs-refs-merged-mock.png
Certifications, skills, and references were collapsed into one certification field instead of remaining separate.
image
Input artifact for "Work Experience and Education Extraction" test: Input, i3_p3_education_missing.png
image
Output artifact for "Work Experience and Education Extraction" test: Only the B.E. education entry was extracted; the 12th and 10th entries visible in the source were missing., hireability_task3_education-entries-missing.png
Only the B.E. education entry was extracted; the 12th and 10th entries visible in the source were missing.
Bottom Line
Strong on clean resumes, but messy layouts still cause field merging and partial education loss.
✓ Use This If
Your resume inputs are mostly single-column or standardized PDFs
Indian phone numbers and addresses need to be parsed correctly
You want JSON-ready candidate data with LinkedIn, certifications, and hobbies included
You can tolerate some field-level normalization noise in exchange for full automation
✕ Skip This If
Multi-column or sidebar-heavy resumes are common in your pipeline
Accurate competency levels matter for ranking or matching
You need the original skills category structure preserved
You need clean separation between certifications, skills, and references
developer-toolsother-developer-toolstext
Not reliably. In the Priya Sharma test, the two-column resume was misclassified as a Job Order instead of a candidate resume, and the contact fields came back empty.
Yes in the clean and messy single-column tests. The report says it extracted the +91 phone numbers and Indian location fields correctly on those resumes.
No. The Rugved resume’s grouped skill categories were flattened into one competency list, and the competency levels were either all beginner or blank depending on the test.
Sometimes. It extracted certifications and hobbies on the cleaner resume, but on the messy John Kumar resume the certifications, skills, and references were collapsed into a single certification field.

Banner Preview

How the embed badge will look on your site

Hireability featured on AI Demos

Embed HTML

Copy this code to your website source

<a target="_blank" href="https://aidemos.com/tools/hireability?utm_source=hireability_embed" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> <img src="https://aidemos-website-images.s3.amazonaws.com/featured.png" alt="Hireability | Featured on AI Demos" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> </a>

Quick Integration Guide

  • 1Copy the HTML code block above.
  • 2Paste it into your site's HTML or CMS editor.
  • 3Banner appears instantly on your page.
  • 4Links back to your tool profile here.
Similar Tools

Similar Tools

Discover more AI tools like Hireability to enhance your workflow.

Comments (0)

Please Log in to join the discussion.

Built by FutureSmart AI — the team behind AI Demos

Need a custom AI solution for this use case?

If you are looking to build a custom resume parsing, candidate data extraction, or hiring screening system for your business or internal workflow, email us at contact@futuresmart.ai.

Get a custom build

Found something inaccurate or missing? We try to keep our AI research accurate and useful. If you found outdated information, an issue, or have a suggestion, email us at collaborate@aidemos.com.

Back to Top