NewSearch millions of jobs from your AI agent with MCP
All posts
ComparisonTextkernel
Comparison·Sep 4, 2026·8 min read

Textkernel review: the parser credits, the Jobfeed API, and what changed under Bullhorn

Textkernel is now Textkernel by Bullhorn: the Amsterdam parsing company that almost tripled revenue under Main Capital, folded Sovren, Akyla, Wiseguys and Joboti into one brand, and sold to Bullhorn in June 2024 for a reported EUR 300 million. This review reads the developer docs and the pricing page rather than the press release: what a parse really costs in credits once you add normalisation, OCR and the LLM parser, the Professional plan from $99 a month, how the Market IQ jobs API is shaped and rate-limited, what the S3 data feed delivers, and the single price the postings side publishes.

Dvir Atias

Dvir Atias

Founder, JobsPipe

Search for Textkernel and the second result is Bullhorn’s page for “Textkernel by Bullhorn”, and the company’s own LinkedIn page now carries the same name. The Amsterdam parser that sits behind “2,500+ HR software vendors, HR teams, and job boards since 2001”, by its own header line, was sold to a Boston ATS vendor in June 2024, and the product line has been reshuffled twice since: once when four acquisitions were folded into one brand, and again when the whole company became a module inside Bullhorn.

This review is for two readers. Developers who need a resume or job parser and want to know what a call actually costs in credits. And analysts or product teams who have heard that Jobfeed is the European job-postings dataset and want to know how it is delivered, what it publishes as a price, and where a metered postings API is the better fit. Everything below is read from Textkernel’s own documentation and pricing page, Bullhorn’s announcements and the seller’s press release, all checked on the day this post published.

What Textkernel is now

Textkernel was founded in Amsterdam in 2001 by Gerard Mulder and Jakub Zavrel. The interesting history is the last four years. Main Capital Partners bought in during September 2020 and ran a buy-and-build: Sovren, the US parsing company, at the end of 2021; Akyla, a Dutch staffing-portal vendor, in June 2022; then Wiseguys and Joboti. On 14 December 2023 all five were merged under one brand with six product names: Parser, Source & Match, Skills Intelligence, Labor Market Insights, Candidate Engagement and Mid-Office.

Six months later, on 18 June 2024, Bullhorn announced the acquisition. Main’s exit release gives the shape of the business at the sale: revenue “almost tripled” in under four years, clients up “from less than 1,000 to almost 2,500”, “over 200 employees”, integrations with “more than 100 technology vendors”. Neither party disclosed a price; Techzine, citing the Dutch financial daily FD, put it at EUR 300 million. Bullhorn brought “more than 10,000” customer companies and 1,400 staff in 14 countries, and described Textkernel as powering “eight of the top 10 staffing agencies worldwide”.

One small tell about how loosely the marketing is edited: the customer count differs by page. Bullhorn’s announcement says over 2,000 customers, Textkernel’s site says 2,500+, and Bullhorn’s product page for Textkernel by Bullhorn says 3,000+. That same page claims 2 billion resumes processed a year and 27 languages for keyword expansion.

Product line one: the Tx Platform

The developer surface for parsing, search and skills is the Tx Platform, currently v10. The docs describe v10 as “the same as v9 under-the-hood, but features an entirely new/modern input/output structure and official SDKs”, so v9 code found in the wild still runs against a supported API. Four products sit behind it: Resume Parser, Job Parser, Search & Match V2 (V1 is deprecated) and Skills Intelligence. There are three regional hosts, and documents sent to the Australian one are processed in-region:

https://api.us.textkernel.com/tx/v10/
https://api.eu.textkernel.com/tx/v10/
https://api.au.textkernel.com/tx/v10/

Tx-AccountId: <account id>
Tx-ServiceKey: <service key>
Tx-TrackingTag: <optional, max 100 chars>
Content-Type: application/json

Official SDKs exist for C# and Java. Files are capped at roughly 16 MB, and batch parsing is bound by a concurrency limit in the acceptable-use policy rather than a published number. The request shape, the required RevisionDate and the CreditsRemaining counter are covered in the resume parser API comparison, so here the focus is what each call costs.

The credit table. Textkernel meters in credits, and the transaction-cost page is explicit about every line:

TransactionCredits
Resume parse1
Job parse1
Index a document for search1 per document
Bimetric scoring1, plus 0.1 per target document
Search or match, human-initiated single requestFree
Resume normalization0.1
Geocoding with Textkernel’s key0.5 (free with your own key)
GeocodeAndIndex1.5 (1 with your own key or coordinates)
Get all indexes10
Account check1
Resume formatting0.5
Add-on: job title normalization0.2
Add-on: skills normalization (V1 taxonomy)0.1
Add-on: LLM parser0.1
Add-on: OCR, resume or job0.05
Add-on: FlexRequests1

Read that table the way a finance team would. A parsed resume with normalised titles and skills, the LLM parser and OCR is not one credit, it is 1.45. Index it for search and it is 2.45. Geocode it with Textkernel’s key on the way in and it is 2.95. The headline “1 credit per parse” is true, and it is also about a third of the real bill for a fully enriched document.

The pricing page prices those credits for the Parser only. Free Trial: 500 credits. Professional: “Starting at $99/Month”, with monthly plans from 500 to 25,000 credits and annual plans up to 100,000. An Accelerator pack: $200 for 5,000 credits, one-off. Enterprise: customise your plan. Nothing on that page prices Search & Match, Skills Intelligence, Market IQ or Labor Market Insights.

Product line two: Jobfeed, now Market IQ

Jobfeed is the product that puts Textkernel in the same conversation as Lightcast, TalentNeuron and JobsPipe: a crawler that scans the web for job postings every day, classifies each one by profession, qualification, location and company, and sells the result. Under the unified brand it is Labor Market Insights, and the data product inside it is Market IQ. The coverage claim is consistent everywhere: “over 3 billion current and historical job postings from over 33 million websites”, across “15 key markets in North America, Europe, and APAC”. The number that is not consistent is the flow: the acquisition coverage said Textkernel processes over 1.3 billion postings a year, and no page says how many of the 3 billion are current rather than historical. The named reference customers are statistical bodies: AMS in Austria, UWV and CBS in the Netherlands, and the UK Office for National Statistics.

Market IQ ships in four shapes:

  • Portal. The dashboard product, sold to sales and workforce-planning teams.
  • API. A v3 REST API on a per-country host, described below.
  • Data Feed. Bulk files on S3.
  • Marketplace. Embedded in Bullhorn, Salesforce and SuccessFactors.

The Market IQ API, as documented

The API lives under /api/v3/ on a per-country host such as us.jobfeed.com, with Basic authentication using your Market IQ credentials on every request. Parameters are form-encoded, and both GET and POST work. Five endpoints:

GET https://us.jobfeed.com/api/v3/search?job:profession=696&_limit=50
GET https://us.jobfeed.com/api/v3/aggregate?_group=date__quarter
GET https://us.jobfeed.com/api/v3/count?date__range=today-1y__today
GET https://us.jobfeed.com/api/v3/fields
GET https://us.jobfeed.com/api/v3/suggest/organization_name

Filters are field names with double-underscore modifiers: __range, __radius, __not, __prefix. The docs’ own examples are profession=227|4980 for a pipe-separated OR, location__radius=Amsterdam__25, and a boolean full_text query such as (transport OR auto) AND diesel AND NOT java. Aggregations group on a field with a bucket rule, for instance salary__buckets_1000_5000_500. The fields include profession, organization_name, source_website, via_intermediary, education_level, industry, salary, date and expiration_date, and every field exists at two levels: job: for the deduplicated vacancy and posting: for each place it was seen. That job-versus-posting split is the most thoughtful thing in the design, and it is exactly the distinction most postings APIs skip.

Three limits matter before you build on it:

  • Rate. “Accounts are limited to 4 requests/second and 30 requests/minute.” Thirty a minute is a dashboard budget, not a pipeline budget.
  • Depth. “The values of _limit and _offset should not add up to more than 10000.” Any query with more than ten thousand results has to be sliced by date or region to be read in full.
  • Per country. “The available fields differ per country”, with a downloadable spreadsheet as the field map, and the host is per country too. A 15-market product is fifteen slightly different schemas.

The Data Feed avoids the rate and depth limits by not being an API. Files land on AWS S3 as gzip-compressed JSON lines in three sets: daily new-and-expired records, monthly collections, and yearly historical snapshots. Daily files arrive before 7 AM EST for the US and Canada and before 7 AM CET everywhere else, and are removed after 31 days; monthly and historical files persist. Deduplication is a delivery option, so you choose between one row per job and one row per posting. The data model is an Excel file, and Textkernel will customise fields, filters and formats per contract.

The one price the postings side publishes

The Jobfeed page says “Start Now! Prices from EUR 100/Month!”, attached to Labor Market Insights, without saying what the hundred euros buys. Nothing on textkernel.com or developer.textkernel.com prices the Market IQ API or the Data Feed; both route to a contact form. Techmap, a competitor that sells against Jobfeed, describes it as enterprise-only with no self-serve access and onboarding measured in weeks to months of procurement. That is a rival’s framing, but the public documentation does not contradict it: there is no signup, no trial key and no rate card for the postings data.

The Bullhorn deal sharpens the same point. The product page now sells Market IQ as a way to “place sourced candidates all within your Bullhorn ATS/CRM”, and the marketplace channels are Bullhorn, Salesforce and SuccessFactors. If you are a Bullhorn staffing customer, the postings data arrives inside a tool you already pay for. If you are building a product of your own, you are buying from an ATS vendor’s data unit through an enterprise sales cycle.

Where a metered postings API fits instead

Jobfeed’s home market is the honest place to test any alternative, so here is the Netherlands, measured live today: JobsPipe carries 104,706 active postings from 20,693 companies, 83.9% of them classified to an ISCO-08 occupation. Germany is 180,052 postings from 39,357 companies, and France 161,749 from 35,269. The corpus is deduplicated to one row per job, tracked for liveness so closed postings leave it, and drawn from 30+ ATS and job-board sources. A Dutch pull for developers advertised by banks, no contract:

curl -X POST "https://api.jobspipe.dev/v1/jobs/search" \
  -H "Authorization: Bearer jp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "job_country_code_or": ["NL"],
    "occupation_code_or": ["2512"],
    "isic_division_or": ["64"],
    "posted_at_max_age_days": 14,
    "limit": 25
  }'

That is software developers (ISCO 2512) advertised by financial-service employers (ISIC 64) in the Netherlands in the last two weeks, with normalised skills attached and salary where the ad states one. The metering is per job returned: 1,000 a month free, then $49 for 25,000 and $349 for 300,000, and a search that returns nothing costs nothing. One key covers every market and there is no per-country schema. What you do not get is Textkernel’s multi-year archive, a finished dashboard or a resume parser, and if you need the parser the credit table above is the right shopping list. The wider category, and who else sells into it, is in labour market intelligence explained; the closest like-for-like vendor API is covered in the Lightcast API guide.

Who should pick which

  • A staffing firm on Bullhorn. Textkernel by Bullhorn is the path of least resistance: parsing, search and match, and Market IQ inside the ATS you already run.
  • A product team that needs a CV or job parser. The Tx Professional plan from $99 a month is real and self-serve. Budget 1.5 to 3 credits per fully enriched document, not one.
  • A statistics office or workforce-analytics vendor in Europe. Jobfeed’s job-versus-posting model, the S3 feed and the national-statistics references are the strongest case for it. Expect a procurement cycle.
  • A developer who needs live postings now. A metered API with ISCO occupations, ISIC industries and normalised skills, a key in 30 seconds, and no per-country credentials.

Live postings with ISCO occupations, ISIC industries and normalised skills - no procurement cycle, API key in 30 seconds.

Get a free API key