webscrape.dev

Diffbot vs Kadoa: Automated Structured Extraction Compared (2026)

Diffbot and Kadoa compared on extraction approach, schema control, maintenance burden, monitoring, and which fits an ongoing data feed.

Nathan Kessler
By Nathan KesslerPublished Updated

Each tool is evaluated against our methodology using public docs, vendor demos, and hands-on testing.

Some links on this page are affiliate links. We earn a commission if you sign up – at no additional cost to you. Our editorial assessment is independent and never paid. How we review.

AttributeDiffbotKadoa
Pricing tierFreemiumPaid
Free tierYesNo
JS renderingYesNo
Structured outputYesYes
Open sourceNoNo
Self-hostNoYes
Primary categoryAI ExtractionAI Extraction
Notable strengthDiffbot suits teams that want ready-made structured data, through Extract, Crawl or the Knowledge Graph, rather than building and…The self-healing pipelines and source-grounding traceability suit teams needing auditable, monitored feeds, like the hedge funds and…

Diffbot's Extract API recognises eight page types: article, product, image, video, discussion, event, list and job. Kadoa has no type list at all. Both companies sell the same relief, which is not writing CSS selectors and not fixing them after every redesign, but that one structural difference explains most of what follows. Diffbot classifies a page into a known entity and returns the fields that entity implies. Kadoa takes a schema you write, builds a pipeline against that specific source, then watches it and repairs it.

The difference decides the buy. If your targets look like articles, products or company pages, Diffbot does the work with no per-site setup. If every source needs its own fields, Diffbot's answer is a fallback that looks a lot like the scraping you were trying to escape. Both sit in the AI extraction category, where about twenty vendors describe themselves in near-identical language and the differences only surface once something breaks.

All product facts below were read from vendor pricing pages and documentation on 2026-07-27.

What each one actually is

Diffbot is the older company and the broader product line. Extract turns a URL into structured fields. Crawl spiders a site and feeds the results into Extract. A Natural Language API pulls entities, relationships and sentiment out of text. Behind all three sits the Knowledge Graph, a continuously crawled entity store. Diffbot's own product page claims "Over 10 billion people, companies, products, articles, and discussions exist in the Diffbot Knowledge Graph". That figure is the vendor's, unaudited, and the accompanying "largest in the world" claim is marketing rather than a measurement anyone has published. Treat the graph as large and the exact number as unverified.

Kadoa is narrower and more operational. Its documentation calls a workflow "the core building block", defining "what data to extract, where to extract it from, and when to run" before delivering results to a destination. Around that sit the parts a data team ends up needing: schema management, per-field validation rules, change detection, notification channels for email, Slack and webhooks, and destination integrations including Snowflake, Databricks, cloud storage and Google Sheets. It ships Python and Node SDKs, a CLI, a REST API and an MCP server.

Diffbot sells a corpus and a classifier. Kadoa sells pipeline operations.

Head to head

DimensionDiffbotKadoa
Extraction approachComputer vision and ML classify a page into a known entity typePipeline generated against a schema you define per source
Supported shapesEight fixed types: article, product, image, video, discussion, event, list, jobNo fixed type list; the schema is the contract
Per-site setupNone for supported typesOne workflow per source
Off-type escape hatchCustom API using hand-written CSS selector rulesNot applicable; every source is custom by default
Repair after redesignClassifier absorbs layout change; Custom API rules breakSelf-healing layer updates selectors, retries, then escalates to vendor support
Drift monitoringNot surfaced as a product in the docs indexChange detection, data quality rules, notification channels
CrawlingCrawl API, respects robots.txtCrawling session endpoints plus URL and URL-list sources
Prebuilt dataKnowledge Graph on every tierNone
Pricing transparencyPublic credit rate cardNo published prices
Billing unitCredits per callPer workflow and per row extracted
HostingHosted API onlyHosted, with enterprise deployment options sold through sales

Schema control

Diffbot decides your schema for you. Ask for an article and you get the fields Diffbot has defined for articles. That is the entire appeal: no schema design, no field mapping, nothing to keep in sync across a thousand publishers. For a news pipeline or a retail price monitor across many domains, that uniformity is worth more than flexibility. Every source lands in the same shape without negotiation.

Kadoa inverts it. You write the schema and the pipeline is built to fill it. Its docs expose schema creation, versioning and templates as first-class API objects, along with per-field validation rules and generated validation rules you approve or delete in bulk. That machinery only makes sense if schemas are the thing you spend time on.

Neither position is better in the abstract. The question is whether the fields you need already exist in Diffbot's ontology. If they do, defining them yourself is wasted work. If they do not, Diffbot's uniformity is a constraint you will spend the whole engagement fighting. Our guide on LLM extraction versus selectors covers the general version of this trade.

Where Diffbot costs you

The eight types are the ceiling. Diffbot's Analyze API classifies an unknown URL and routes it to the right extractor, which handles ambiguity well within the type system. It does not invent a ninth type.

For anything outside, Diffbot points you at the Custom API. Its documentation is blunt about what that is: extraction through "a set of manually defined rules set by CSS selectors", working "much like traditional web scraping". You can extend Extract's output with extra rules or start from a blank slate and define everything. Either way you are writing selectors and you own them when the site changes. The relief from maintenance that Diffbot sells applies to its supported types and stops at the boundary.

Two other costs are worth naming. Diffbot is a hosted service with no self-hosted option, so extraction cannot run inside your own infrastructure. And Knowledge Graph access is priced very differently from extraction: one page through Extract is one credit, an entity export is 25, and a facet query is 100. A team that treats the graph as a query layer can burn a month's allowance quickly. The general shape of that problem is covered in our guide to credit-based scraping API pricing.

Where Kadoa costs you

Kadoa's unit of work is the workflow, and its billing unit is the workflow plus rows. That is honest and it is also the constraint. Cost tracks the number of sources you configure. A team monitoring 30 competitor sites is a good fit. A team that adds a source every week because a new analyst asked for one will watch the bill track headcount rather than data volume.

The self-healing story has a tail. The docs describe a layered approach: detect structure changes, update selectors, adjust to new layouts, retry with different strategies, and an agent that investigates automatically. Most issues, the docs say, resolve "without you knowing". When that fails, the documented next step is that "a Support ticket gets created and our ops team investigates". For a feed under a deadline, that means the repair path for your worst breakages runs through someone else's queue. Ask about response times before it matters. This is the same dependency question that shows up whenever automated extraction replaces code you control, which is why validating AI-extracted data is worth wiring in on your side regardless of vendor.

Kadoa also has no prebuilt corpus. Every source is a cold start. There is no equivalent of pointing at the Knowledge Graph and getting company records you never crawled. And the published source model is URL-centric: single URLs, lists of URLs, and URLs generated by the assistant from a prompt such as going through pages 1 to 50. Crawling session endpoints exist in the API reference, but broad discovery crawling is not what the product leads with.

Monitoring and drift

Monitoring is where Kadoa is furthest ahead. It ships change detection, a monitoring API that returns data changes, notification channels with configurable event types and test firing, per-field data quality rules evaluated on every run, and workflow quality metrics per workflow. Run states are exposed as FINISHED, FAILED, IN_PROGRESS and VALIDATING. A data team can answer "did last night's run degrade" without building an observability layer first.

Diffbot's documentation index surfaces no equivalent change-detection or alerting product. Extract, Crawl, the Natural Language API and the Knowledge Graph are the surface area. If you need drift alerts on Diffbot output, you build them: snapshot results, diff fields, alert on anomalies. That is a normal amount of work and many teams already have the plumbing, but it is work Kadoa has done for you.

If the feed is a compliance or investment input where a silently wrong field is worse than a missing one, weight this heavily. The same reasoning applies when evaluating web data providers generally.

Who supplies the pages

Neither of these is an unblocking product, and buyers coming from the web scraping API category sometimes expect otherwise.

Diffbot handles page fetching itself and documents proxy options for avoiding rate limiting. Its pricing page bills extraction through a datacenter proxy at two credits rather than one, which tells you proxying is opt-in and that residential-grade evasion is not the pitch. Crawl respects robots.txt, which the docs state directly.

Kadoa's public documentation lists supported content types as HTML, XML, RSS, JSON and PDF, and covers sources, schedules and destinations without foregrounding proxy infrastructure. An endpoint exists to list available locations, which suggests some geographic control, though we did not open it and cannot describe what it covers.

For targets sitting behind a serious anti-bot system, assume you will pair either tool with a dedicated unblocker or a proxy contract from a vendor like Zyte or one of the enterprise networks. The stack question is laid out in large-scale crawl architecture.

Pricing shapes

Diffbot publishes a rate card and it is legible. As listed on 2026-07-27: Free at $0 with 10,000 credits and 5 calls per minute; Startup at $299 a month for 250,000 credits at $0.001 each and 5 calls per second; Plus at $899 for a million credits at $0.0009 each, 25 calls per second, 25 active crawls and 3 user licences; Enterprise custom. Extract, Bulk Extract, Natural Language and Knowledge Graph search and enhance are on every tier. You can model a backfill on a spreadsheet before talking to anyone.

Kadoa publishes no numbers. Its pricing page shows a Flex tier described as "consumption-based pricing" with a free trial, and an Enterprise tier with "custom usage limits & volume discounts", real-time monitors, all integrations, SAML SSO, shared workspaces, unlimited users, an enterprise SLA, compliance controls and a dedicated account manager. That feature list is a clear signal about who Kadoa sells to. Prices come from a sales conversation.

Prices move. Check both pages before you commit to anything here.

Neighbours worth a look

If neither fits, the adjacent options split along the same axis. Firecrawl and Expand.ai sit closer to Diffbot's API-first extraction with less ontology and no graph. Parsera and AgentQL target schema-driven extraction at a lower price point than an enterprise contract. Apify is the platform answer when you want to run and schedule code you wrote yourself, a trade we walked through in the Browse AI vs Apify comparison. The pressure this whole category is putting on older tooling is the subject of our post on the AI squeeze on no-code scrapers, and choosing web scraping tools covers the wider shortlist.

Pick Diffbot when, pick Kadoa when

Pick Diffbot when your targets are articles, products, discussions or organisations, when you want them extracted with no per-site configuration, and when a large prebuilt entity graph is worth something to you. The public rate card also makes it the easier one to trial without a procurement cycle.

Pick Kadoa when every source needs its own schema, when the feed runs on a schedule and someone downstream depends on it, and when you want drift monitoring, validation rules and alerting as product features instead of a backlog ticket.

Who each is wrong for

Diffbot is wrong for the team whose pages are not articles and not products. Government filings, industrial catalogues, internal portals, regional directories with idiosyncratic layouts: for those, Diffbot's answer is the Custom API, which is CSS selectors you write and maintain. If that is your world, you would be paying entity-extraction prices for a selector runner.

Kadoa is wrong for the team that wants a metered API and nothing else. If you need pages parsed on demand, at unpredictable volume, without configuring a workflow per source and without a sales call to learn the rate, the per-workflow model is friction in both cost and setup. It is also wrong for a one-off backfill, where you would be buying scheduling and monitoring you use once.

Both are wrong for the team whose real problem is getting the page at all. Neither vendor leads with anti-bot evasion. Solve blocking first, then decide who turns the HTML into rows.

Frequently asked

What happens when a page does not fit a standard entity type?
This is the sharpest difference. Diffbot's Extract API covers eight types: article, product, image, video, discussion, event, list and job. A page outside those falls to the Custom API, which Diffbot's own documentation describes as working through 'a set of manually defined rules set by CSS selectors' and functioning 'much like traditional web scraping'. You are back to writing and maintaining selectors. Kadoa has no fixed type list at all; you define the schema per source and the pipeline is generated against it, so an odd page shape is the normal case rather than the exception.
How does each handle a site redesign that breaks extraction?
Kadoa treats repair as a product. Its error-handling documentation describes a self-healing layer that 'detects page structure changes and updates selectors' and 'retries with different strategies', and says most issues are resolved 'without you knowing'. When that fails, the docs state a support ticket is opened and Kadoa's ops team investigates, so the final escalation sits with the vendor. Diffbot's classifier is redesign-tolerant by construction for its supported types, since it reads the rendered page rather than a selector path. Any Custom API rules you added on top break the same way hand-written scrapers do.
Do they include crawling and proxies or expect you to supply pages?
Both go further than a bare parser, and neither is an unblocking product. Diffbot ships a Crawl API that spiders a site for links and feeds them to Extract, and its documentation confirms Crawl respects robots.txt. Its pricing page bills extraction through a datacenter proxy at two credits per page instead of one, so proxying is an option rather than the default. Kadoa's API reference exposes crawling session endpoints alongside URL and URL-list sources. Neither vendor's public docs position them for heavily defended targets; plan a separate unblocking layer for those.
How is pricing structured, per call or per pipeline?
Diffbot publishes a credit rate card, checked on 2026-07-27: Free at 10,000 credits, Startup at $299 a month for 250,000 credits, Plus at $899 for a million, Enterprise custom. One page through Extract costs one credit; a Knowledge Graph facet query costs 100. Kadoa publishes no prices. Its docs state plainly that 'Kadoa charges per workflow and rows extracted' and that you 'only pay for successfully extracted data'. So Diffbot scales with pages fetched and Kadoa scales with sources configured and rows delivered.
Is either usable for a one-off backfill rather than an ongoing feed?
Diffbot is the easier fit. Bulk Extract and the Knowledge Graph are included on every tier, and a backfill is just a credit purchase against a rate card you can read before signing anything. Watch the rate limits, which run from 5 calls per minute on Free to 25 per second on the $899 Plus tier as listed on 2026-07-27. Kadoa is built around workflows that carry a source, a schema and a schedule, and it bills per workflow, so paying for scheduling and drift monitoring you will use once is the wrong shape.

Weekly briefing – tool launches, legal shifts, market data.