Resume Parsing
TOOLS · EXPERTINI ATS

Resume Parsing

Bulk-upload CVs and get structured, deduplicated candidate profiles added straight into your searchable talent pool.

2 min read · Updated July 2026 · Expertini Editorial

Bulk-upload a batch of CVs and have candidate profiles — name, contact, title, skills, extracted text — added directly to your Candidate CRM talent pool, without manual data entry.

It's built for a specific, common scenario: a folder of CVs collected from a career fair, an old shared inbox, or a referral list, sitting unused because turning them into real, searchable records one by one is too much manual work to ever actually get done.

Watch the 30-second overview — no sign-up needed

01What it does

Parses uploaded CV files into structured candidate records, deduplicating against existing entries by email, and adds them to your searchable talent pool automatically.

02Who it's for

Recruiters and agencies sitting on an unused pile of CVs from a past sourcing event, an inbox, or a referral list, and anyone building out a talent pool who wants existing candidates searchable rather than sitting in files.

03What makes this different

It deduplicates by email automatically against your existing pool, so a bulk import doesn't create duplicate records for candidates already in your system — a detail that matters once a talent pool grows past a handful of names.

04Why it matters

Building a talent pool from an existing pile of CVs shouldn't mean retyping every one by hand — this turns that pile into searchable, usable records in one pass, which is what makes a talent pool an asset rather than a folder nobody opens.

05Pricing and what's included

Included from the Professional plan upward, with a 14-day free trial available to try it on a real batch of CVs before committing.

06Support

The Help Center covers supported file formats and how deduplication works in detail; support@expertini.com is there for anything else.

Engineering notes

Platform architecture & operations

A1Architecture: where it sits in the platform

Resume Parsing is a first-class module of the Screening & Evaluation suite inside the authenticated Expertini ATS workspace. The platform is deliberately server-rendered: every view is prepared by the application server and shipped as complete HTML, with no client-side framework, no third-party CDN scripts, and no build pipeline between the data and the page. What renders is what the server computed — the property that makes the interface auditable.

All persistence runs on a single search-native document store; every query carries the organisation's identifier as a mandatory filter at the lowest query layer. Tenant isolation is therefore structural — a property of how every request is composed — rather than a policy that relies on application code remembering to check.

Availability is governed by the platform's tool registry: this tool is registered from the Professional plan, and access is enforced server-side by the registry gate on every request — never by hiding a button. Plans also carry a monthly distinct-tool quota (3 / 5 / 15 / 30 / 45 across Trial→Business, unlimited on Enterprise), counted at the same chokepoint. The pricing page states both honestly: what is available, and how much of it the month includes.

A2Data model and dependency map

In production the tool reads and writes the candidate database (ats_candidates). Documents are plain, explicitly-mapped fields — mappings are provisioned ahead of first write, so term filters and aggregations behave deterministically instead of depending on inferred types.

Every distinct open is journalled to the tool-activity store — and that journal, not a parallel analytics system, is what the Reports section aggregates. The usage numbers you see are the numbers the platform actually recorded.

Anything that leaves the request path — notification fan-out, webhook delivery, activity journalling, mail — runs in fire-and-forget background threads. A slow external endpoint can never make the interface hang, and a failed side effect is logged rather than silently retried into inconsistency.

A3Operational considerations

Organisation-level settings, destructive actions, and connections are gated to owner and admin roles; recruiters operate the tool on the records they can see. Role changes apply on the next request — enforcement is at the route, not in the menu.

Scoring in the screening suite is deterministic and published: the same inputs produce the same outputs every time, hard requirements act as blockers rather than being averaged away, and no generative model invents a number — AI is used for extraction and drafting, humans decide. The methodology is public on the research page, where legal and data-science teams can interrogate it before buying.

Everything written is yours to take: CSV exports and the Data Export app cover the same stores the product itself reads. The exit is as open as the entrance — by design, not concession.

A4Interaction contract

The interface follows the platform's search-and-select convention: any field that names a real record — a candidate, client, or job — is a type-to-search picker over live data, never a free-typed string, which is what keeps activity trails and deduplication trustworthy. Static choices are filter-as-you-type combos rather than native dropdowns, and state transitions give explicit feedback: server confirmations surface as toasts, validation errors name the exact field, and nothing is shown as done that the server has not confirmed.

The wireframe and flow below document the structural contract of the surface — what panels exist, what order the states occur in, and what happens at every edge — rather than pixels. The layout is composed with native CSS grid and flexbox and adapts from wide desktop to a single column without separate mobile views.

Dependency map

Reads / writesats_candidates
Access gateProfessional plan and above — enforced server-side by the tool registry
Monthly quotadistinct tools per month: Trial 3 / Starter 5 / Growth 15 … unlimited on Enterprise
Usage journalats_tool_activity (per open)
Tenancyevery query filtered by organisation id at the query layer
Side effectsbackground threads — never on the request path

Interface blueprint

Structural schematic of the surface — panels, hierarchy, and interaction affordances. A contract, not a screenshot.
Input panel
type-to-search record picker
run — server-side
Result panel
copyexportjournalled
Fig. 1 — Resume Parsing: structural interface schematic. Panels and states are the contract; data shown is placeholder.

Interaction flow — states, validations, feedback

Every state below is enforced server-side; the interface reports it, it doesn't decide it.
Open toolregistry gate: plan + monthly quota
Pick recordstype-to-search over live org data
Server computeorg-scoped reads; deterministic logic
Resultrendered server-side; export on demand
Journalactivity store → Reports
Plan below minimum → lock page shows the exact tier ladder, never a dead endMonthly quota reached → upgrade prompt with the count that triggered itValidation failure → the specific field and reason, inlineEmpty search → honest empty state; no fabricated matches
Fig. 2 — interaction flow: navy = states, gold = server-enforced gates, green = confirmed outcomes; tags list the edge cases and their feedback.

Frequently asked questions

Will this create duplicate candidate records?
No — parsed CVs are deduplicated against your existing talent pool by email automatically, so re-importing a known candidate updates rather than duplicates their record.
What gets extracted from each CV?
Name, contact details, current title, skills, and the extracted CV text, added directly as a structured candidate profile.
Does this feed directly into Candidate CRM search?
Yes — parsed profiles land directly in your searchable talent pool, the same one Talent Pipeline and Talent Pool Messaging use.
What plan includes Resume Parsing?
Professional and above, with a 14-day free trial available.

At a glance

  • Included from the Professional plan upward
  • Deduplicates against your existing talent pool automatically
  • Feeds directly into Candidate CRM search
  • Extracts name, contact, title, skills, and full text
  • Turns an unused CV pile into a searchable asset
  • 14-day free trial available

See resume parsing on your own hiring.

Bring a real job description to a 30-minute demo — free trial included.

Book a demo
Expertini AI
Online now
Hi! I'm Expertini's AI Product Expert. Ask me anything about our solutions, get guidance on any of our Hiring Tools, or just tell me what you're trying to do — I'll point you in the right direction. For account-specific issues, email support@expertini.com.