Extract resumes to structured JSON

Resumes contain work history, education, skills, and contact details in thousands of format variations. No two look alike, but your ATS needs consistent data. Sensible turns resumes into structured JSON for candidate screening, matching, and ATS integration.

Why resumes confuse standard extraction tools

Infinite layout variation, creative formatting, and unstructured sections make resumes format-diverse.

Unlimited Layout Variation

Single-column, two-column, sidebar, creative: candidates use every layout imaginable. Section boundaries are identified regardless of visual structure, and contact info, experience, education, and skills all extracted consistently.

Unstructured Date and Duration Parsing

'Jan 2020 - Present'. '2018 to 2021'. 'Summer 2019'. Candidates express dates in dozens of formats. Sensible normalizes them all and calculates employment duration, giving your ATS structured tenure data.

Skills and Keyword Extraction

Skills appear as bulleted lists, inline mentions within job descriptions, or dedicated sections with varied formatting. LLM parsing identifies skills regardless of where they appear and returns them as a structured array.

Fields we extract

Contact, experience, and education fields ship by default. Customize the schema for your ATS integration.

Contact and summary

Full name, email, phone, location, LinkedIn URL, portfolio URL, professional summary/objective

Experience

Company name, job title, start date, end date, duration, location, description/responsibilities, achievements

Education and skills

Institution name, degree, field of study, graduation date, GPA, certifications, skills (categorized), languages


{ /* SenseML: resume extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{
// Candidate full name
"id": "full_name",
"description": "full name, name, candidate name"
},
{
// Email address
"id": "email",
"description": "email address, email, e-mail",
"type": {
"id": "custom",
"pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+"
}
},
{
// Most recent job title
"id": "current_title",
"description": "most recent job title, current title, current position"
},
{
// Most recent company
"id": "current_company",
"description": "most recent company, current employer, current company"
}
// Additional fields for education, skills, certifications, etc.
]
}
}
]
}
Academic CV

Extended curriculum vitae with publications, research, grants, and teaching history.

Functional Resume

Skills-based resume format emphasizing capabilities over work history.

Chronological Resume

Traditional resume format organized by work history in reverse chronological order.

Supported resume formats

Sensible processes resumes in any layout, language, or file format. Hybrid extraction handles the unlimited variation in resume design while outputting a consistent candidate data schema.

By layout

Single-column, two-column, creative/infographic, academic CV, federal resume, chronological, functional, combination

By file type

PDF, Word (DOCX), scanned/image PDFs, Google Docs exports, plain text

Trusted by operations and engineering teams at

Common Questions

Answers about layout support, date normalization, and skills extraction.

Does Sensible handle different resume formats and layouts?

Yes. Sensible processes single-column, multi-column, and creative resume layouts. PDF and image formats are both supported.

Can Sensible extract skills from resumes?

Yes. Sensible extracts listed skills as an array, including technical skills, languages, tools, and certifications. Skills mentioned within job descriptions can also be captured.

What work experience details does Sensible extract?

Sensible captures company name, job title, start and end dates, location, and description for each position. Education entries include institution, degree, field of study, and graduation date.

How does Sensible detect sections on resumes?

Sensible identifies standard resume sections including contact information, summary, work experience, education, skills, certifications, and languages regardless of formatting or layout.

Do you support webhooks?

Yes. Sensible sends extraction results to your webhook endpoint when processing completes. You can also poll the API for status.

Does Sensible support human review?

Yes. Sensible flags extractions with low confidence for human review. You can configure review thresholds and workflows.

What security certifications does Sensible have?

Sensible is SOC 2 Type II certified and HIPAA compliant. Data is encrypted in transit and at rest.

How long is document data retained?

Document data is stored indefinitely by default. Custom retention policies are available and can be configured for same-day deletion if needed.

Is there a free trial?

Yes. Sensible offers a 14-day free trial on the Growth plan. No credit card required to start.

How is pricing structured?

Sensible uses per-document pricing for predictable costs. No token-based billing or usage surprises. Volume discounts are available for higher throughput.

How do I integrate with Sensible?

Sensible provides REST APIs and SDKs for Python and Node.js. Most integrations take a few hours. Webhooks, Zapier, and direct API calls are all supported.

What file formats does Sensible support?

Sensible processes PDFs (native or scanned), Microsoft Word (DOC, DOCX), spreadsheets (XLSX, XLS, CSV), single-page images (JPEG, PNG), multi-page images (TIFF), and email bodies with attachments.

How accurate is the extraction?

Accuracy depends on document quality and configuration. Most production deployments achieve 95%+ accuracy with proper validation rules and confidence signals.

How fast is document processing?

Processing speed depends on document size, page count, OCR requirements, and which extraction methods are used. Simple single-page documents process in seconds. Larger or more complex documents that use LLM-based extraction take longer.