Textkernel pricing, explained — and when a per-parse API costs less
Published
Textkernel pricing, as of September 2026, has three tiers on its own parser page: a free trial with 500 credits, a Professional plan "starting at $99/month" with monthly plans from 500 to 25,000 credits (annual plans up to 100,000), and a custom Enterprise plan by quote. A first-time buyer is also offered an Accelerator plan: 5,000 credits for $200. Parsing one resume costs one credit, and add-ons such as skills normalization, job title normalization, geocoding and OCR for scanned files add to that. This is also where Sovren pricing lives now: Sovren's parser is sold as part of Textkernel, and sovren.com redirects to Textkernel's site.
That is the short answer. The rest of this article is for the developer who searched it because they are deciding whether to pay for it: what a credit actually buys, what raises the bill, who should stay with Textkernel, and when a plain per-parse API like this one is the better-fitting and cheaper choice.
We build ResumeJSON, one of the alternatives, so read this as written by an interested party. Every claim about Textkernel below was read from Textkernel's own pages in September 2026 — its parser page and its developer documentation. Their pages are theirs to change, so check anything you are about to sign on.
Textkernel pricing at a glance
| Textkernel | ResumeJSON | |
|---|---|---|
| Free to try | 500 trial credits | 100 parses a month, hard cap |
| No monthly fee | Credits are bought in advance; the Accelerator is a one-off purchase | Pay per use, $0.05 a parse |
| Entry subscription | Professional, from $99/month | $29/month for 1,000 parses |
| Larger volume | Monthly plans up to 25,000 credits; annual up to 100,000 | $99/month for 5,000 parses, then $0.018 each |
| First-purchase offer | Accelerator: 5,000 credits for $200 | None |
| Enterprise | Custom plan, by quote | Not offered |
| Cost of one parse | 1 credit, plus add-ons | One parse, one unit — no add-ons |
| Languages | Resumes in 29 languages, listed; job postings in 9 | No published list; output can be translated on request |
| Beyond parsing | Search & Match, skills intelligence, resume formatter, job parsing | None — a CV in, typed JSON out |
| Hosting | Data centers in the US, EU and APAC; self-hosted installation documented | Hosted only, no region choice |
Textkernel figures read from textkernel.com and developer.textkernel.com in September 2026. ResumeJSON plans are sold through RapidAPI.
What one Textkernel credit buys
Textkernel's documentation publishes a transaction-cost table, which makes the arithmetic possible — a lot of vendors in this category do not. As of September 2026:
- Parsing a resume or a job posting costs 1 credit.
- Job title normalization adds 0.2 credits; skills normalization adds 0.1.
- Geocoding adds 1 credit with default options, or 0.1 if you bring your own provider key.
- Resume OCR, for image files, adds 0.05 credits — the table says on all resume parses, so check whether it applies to your text documents too once enabled.
- The LLM Parser option adds 0.1 credits per resume. Textkernel's FAQ says it reduces remaining errors, and that it takes longer and costs more.
- FlexRequests — custom questions asked of the document — add 1 credit.
- Search & Match (V2, in beta): parsing and indexing a resume costs 2 credits, or 2.3 with normalization data returned; each search or match query costs 0.05.
So the price of "one parse" depends on what you switch on. A bare parse is 1 credit. A parse with both normalizations and default geocoding is 2.3. If you are putting candidates into Textkernel's matching index as well, count that too.
One rule from their documentation is worth knowing before you build a batch job: a request rejected with HTTP 429 for exceeding the batch concurrency limit in their acceptable use policy is still charged, and resubmitting it is your responsibility. Keep your concurrency under the limit your plan allows.
The Accelerator offer
The Accelerator plan is the cleanest per-credit number on the page: 5,000 credits for $200 is $0.04 a credit, with "the same features as our professional plan". It is described as a discount on your first purchase, so it tells you what the first 5,000 parses cost rather than what every month after costs. Budget for the Professional plan that follows it.
Sovren pricing now
Sovren and Textkernel combined, and Sovren's page on textkernel.com describes "all of Sovren's features, enhanced by Textkernel's AI-powered technology". If you were a Sovren customer, or you found an old Sovren price list, the current prices are the Textkernel ones above. There is no separate Sovren price sheet on Textkernel's site.
Who should stay with Textkernel
This section comes before the one where we compare favourably, because for a lot of readers it is the one that decides the question.
Stay with Textkernel if any of these is true:
- You parse in many languages. Resume parsing in 29 languages, listed by name on their parser page, is a real capability, and we do not publish an equivalent list.
- You parse job postings too. Textkernel parses both sides of the match. ResumeJSON parses CVs only.
- You need what happens after the parse. Normalized skills and job titles, a taxonomy, Search & Match, a resume formatter, skills intelligence. A credit that can pay for those is worth more than a unit that buys only a parse.
- Your contract fixes where documents are processed. Textkernel lists availability in the US, EU and APAC, and documents a self-hosted installation. ResumeJSON offers neither a region choice nor self-hosting.
- You need an enterprise relationship — a custom plan, higher rate limits, consultation, a support organisation. That is the Enterprise tier's whole point, and there is nothing comparable here.
If one of those rows is load-bearing, the cheaper number further down is the wrong number for you.
When a per-parse API costs less
The other kind of reader has a narrower job: a job board, a small applicant tracking system or a matching prototype needs the fields a CV plainly states — name, contact details, every role with dates, education, skills, languages — as JSON it can store, and nothing downstream of that.
For that job the comparison is between two published prices, and the shape of the bill matters as much as the rate:
- Low or irregular volume. Textkernel credits are purchased in advance, and its FAQ recommends a monthly subscription so you never run out. ResumeJSON has a pay-per-use plan with no monthly fee at $0.05 a parse: a month with 40 CVs costs $2.00, and a month with none costs nothing.
- A few hundred to a thousand a month. $29 a month covers 1,000 parses — $0.029 each at the full quota, against a Professional plan that starts at $99 a month.
- Around 5,000 a month. $99 covers 5,000 parses, under $0.02 each, and extra parses beyond that are $0.018 each rather than a blocked request. The Accelerator's $0.04 a credit is the fair number to set beside it, and it applies once.
- No add-on arithmetic. Every plan here buys the same parse. Scanned and photographed CVs are accepted without a separate OCR charge, and there is no normalization or geocoding option to price, because none is offered.
If you are unsure which kind of reader you are, our guide to the three kinds of resume parsing software walks through the questions — parse or platform, real volume, and whether a contract constrains where data goes.
What ResumeJSON is, and what it is not
ResumeJSON is one endpoint. You send a PDF, a DOCX, plain text, or a photo or scan of the page, and you get back a typed JSON resume. Every claim here can be checked today with the free parser, which needs no signup, and against the field reference.
What it does:
- Returns fields, not text.
start_dateis alwaysYYYY-MMorYYYY, and a role with no end date comes back withis_current: true, so the dates sort. - Never invents. A field the CV does not state is
null— no guessed job title, no country filled in from an area code. - Answers inline. Median parse 2.2 seconds, p90 2.4 seconds over 160 parses against the live endpoint, so you can parse on upload instead of queueing a job.
- Keeps nothing. There is no database; the document arrives, the JSON goes back, and nothing about it outlives the response.
- Makes no decision about the candidate. No score, no rank, no fit judgement — there is no such field in the schema.
What it does not do, stated plainly:
- No third-party security audit — no SOC 2, no ISO 27001.
- No data residency and no self-hosting. Hosted only.
- No batch endpoint. One document per request.
- No job-posting parsing, taxonomy, matching or search.
- No contractual SLA and no enterprise support desk — support is an email address.
If you have also been pricing other vendors, we wrote the same kind of honest comparison for Affinda and RChilli.
How to switch from Textkernel
A switch is small when you only use the parser, and not worth it when you use the rest of the platform. If you are in the first group:
- Map the fields you actually read. List the properties of Textkernel's response your code uses — typically contact information, employment history, education and skills — and find each one in our field reference. Anything with no counterpart, such as normalized skills or geocoded addresses, is a reason to stop here.
- Run your own CVs through both. Take twenty real documents from your pipeline, including the awkward ones — scans, two-column layouts, non-English CVs — and parse them with the free parser. Compare the output against what Textkernel gave you for the same files.
- Change the request. Textkernel's parser takes the document as a Base64 string with
Tx-AccountIdandTx-ServiceKeyheaders. ResumeJSON is called through RapidAPI with anx-rapidapi-keyheader, taking a JSONtextfield, a multipart file or the raw file bytes; the quickstart has the one-command version. - Replace the credit alerts with a plan limit. Instead of watching a credit balance, pick the plan that matches your volume — the free tier's hard cap cannot bill you, and the paid tiers bill overage instead of refusing a parse.
- Keep Textkernel running in parallel for a week if you can, and switch the traffic once the fields you rely on match.
If step one turns up fields you cannot live without, stay where you are — that is the right result, and it cost you twenty minutes rather than a migration.
Try the free parser on one of your own CVs — no signup, and you will know in a few seconds whether the JSON has the fields you need.