Getting started, parsing behaviour, matching, the API, and billing. If none of this covers it, the contact form goes to a person.
The first fifteen minutes.
Nothing but the file. Drag a PDF, DOCX or TXT onto the Resume Parser and the structured result comes back in the browser. The free tier does not require a card.
PDF, DOCX and plain text. Scanned image-only PDFs with no text layer will not parse — if the text can not be selected in a PDF reader, the parser can not read it either.
Automatically. Every resume you parse becomes a structured candidate record that Talent Match can rank against a requirement. There is no separate import step.
Yes — that is what the API is for. Post documents to the parse endpoint in a loop; each one lands in the pool. Agencies migrating a large archive should talk to us first so we can size the run sensibly.
Why a document came out the way it did.
Usually because the information genuinely is not extractable from the layout. The most common causes are contact details inside a PDF header or footer, two- and three-column layouts, information rendered as an image, and section headings the engine has not seen before. The last of those it learns from.
Yes, and they are the case we test hardest. Column-aware reading order is handled by the extractor. If a specific document comes out scrambled, send it to us — a misparsed resume is a bug report we can act on.
It shows which path answered the document: cache means the exact text was seen before and no model was called, local means the rule engine handled it alone, and AI means local confidence was too low and the model filled the gaps.
Yes, and measurably. Every AI fallback teaches the local engine new skill names and section-heading synonyms, so the proportion of documents needing a model call falls as you process more. The live figure is on the home page.
White-on-white text and other injection attempts in uploaded documents are a real thing candidates try. The extraction pipeline is built to treat document content as data rather than instructions. If you find a case that gets through, please report it.
Where a number came from.
It combines skill overlap against the required and preferred skills, years of relevant experience, seniority fit, education and location. Every candidate result shows the breakdown, plus the explicit lists of matching and missing skills.
Skill count alone does not decide it. A candidate who matches fewer skills but hits the required ones — and fits the seniority band — will outrank a broad profile that misses a hard requirement. Open the fit breakdown to see which dimension moved them.
Not in the UI yet. Enterprise deployments can adjust the weights in configuration. It is a frequent request and is on the roadmap for the app.
No. Titles are normalized against the O*NET occupation taxonomy, so a “Software Development Engineer II” and a “Backend Engineer” are recognised as the same occupational family.
Integration and money.
Yes. Every tool in the app is a thin client over the same REST API, and the interactive schema is served at /docs on your instance. API access is included from the Team plan up.
One parse per document processed. A cache hit — the same file uploaded again — does not count.
Parsing keeps working and the overage is billed at the plan rate, so a requisition is never cut off halfway. You can set a hard cap instead if you would rather be stopped.
Yes, as JSON, at any time and including on account closure. Parsed records are yours.
Deleting a candidate removes the structured record and its cache entry. Retention and deletion are covered in detail in the security overview.
Send the document or the requisition that is misbehaving. Concrete cases get fixed much faster than descriptions of them.