BlogFindings
Dataset schema: 0 of 117 data pages declared it, and 2 of 1,062 home pages did
Lantad asked all 1,419 hostnames in this repository's two committed corpus seed files for robots.txt on 19 October 2026, read the home page of every host its own file permitted, and then followed the same-host links whose path or anchor text named data, statistics or a data portal. 117 of those pages answered HTTP 200 with HTML. Not one declared a Dataset, DataCatalog, DataDownload or DataFeed node, and 81 of the 117 carried no JSON-LD typed node of any kind.
On 19 October 2026 Lantad asked all 1,419 hostnames in this repository's two committed corpus seed files for robots.txt, computed a root verdict for its own crawler with the scanner's own parser, and read the home page of every host the file permitted. 1,062 answered HTTP 200 with an HTML content type. 51 of those home pages linked at least one same-host URL whose path or anchor text named data, datasets, statistics or a data catalogue, which produced 126 candidate pages, and 117 of those answered HTTP 200 with HTML across 48 hosts. Not one of the 117 declared a node from the Dataset family. Two home pages in the whole corpus did, and neither of them belongs to the kind of publisher Google's own documentation has in mind.
In short
- Dataset schema is the schema.org type whose stated job is to describe a body of data, and across the 117 data pages Lantad read on 19 October 2026 not one declared it, nor a DataCatalog, a DataDownload or a DataFeed.
- 81 of those 117 pages carried no JSON-LD typed node at all, and on the 36 that did the commonest types were Organization on 20 pages and WebPage on 19, which describe the publisher and the page rather than the data on it.
- A second read of the same pages the same day found that 32 of the 115 that answered again visibly held data: 14 linked at least one spreadsheet, archive or CSV file, and 24 carried at least one table element, with 35 table elements on a single page.
- 2 of the 1,062 readable home pages declared a Dataset node, and neither is a government or an education site: nbcnews.com declares one named additionalTaxonomy whose own description says it helps with analytics, and trustmrr.com declares a revenue database.
- Google's dataset documentation, carrying Last updated 2026-09-08 UTC, requires only name and description, and names its Dataset Search tool rather than Search results as where the markup is used, so the documented payoff is narrower than the vocabulary suggests.
| What the page declared | Of the 117 | What a machine can tell from it |
|---|---|---|
| A Dataset, DataCatalog, DataDownload or DataFeed node | 0 | Nothing declares the page holds data |
| At least one JSON-LD typed node of any kind | 36 | The publisher or the page is described |
| No JSON-LD typed node at all | 81 | Only the prose and the HTML |
| An Organization node | 20 | Who publishes the page |
| A WebPage node | 19 | That the page is a page |
| A table element or a downloadable data file, on the second read | 32 of 115 | Data is present and undeclared |
What is dataset schema, and what actually reads it?
The type is old, stable and narrow. schema.org's own page for it gives the definition quoted above, lists DataFeed as its single more specific type, and connects it to two neighbours: the distribution property expects a DataDownload, which is where a machine would find the actual file, and includedInDataCatalog expects a DataCatalog, which is the portal a dataset sits inside. So the vocabulary already models the whole shape of a public data release, from the catalogue down to the file.
What Google asks for is smaller than that. Google's dataset structured data documentation, carrying a last updated date of 2026-09-08 UTC, lists exactly two required properties for Dataset, name and description, with distribution.contentUrl required only once you declare a DataDownload. Its recommended list is long and includes creator, license, identifier, isAccessibleForFree, keywords, spatialCoverage, temporalCoverage, variableMeasured and version. The same page flags measurementTechnique and variableMeasured as proposed and pending standardization at schema.org, and describes its tabular approach as currently in beta and therefore subject to change. Those are Google's words about its own feature, and they matter for anyone deciding how much of this to build.
The destination matters more. That documentation names the Dataset Search tool as where this markup helps a dataset be found. It does not say the markup produces anything in ordinary Search results, and the only appearance claim on the page is hedged with a note that the actual appearance in search results might be different. For a site owner weighing the work, that is the honest frame: the documented return on Dataset markup is discovery inside a separate Google tool, not a richer result on the page everyone looks at. Neither source read for this post describes any AI system reading the type, which is why nothing here claims it changes whether an answer engine quotes you.
Adoption, as published, is thin in a way that is consistent with all of the above. The schema.org page reports the type on 10K to 100K domains, attributed to Google's web index in August 2026. Set that against the 16 schema.org types that reach 10 million domains and Dataset is two to three orders of magnitude behind the common vocabulary, and against our own count of 88 of the types schema.org defines arriving on 626 home pages it sits well outside the set anyone deploys by habit. None of that is a reason to skip it, and none of it is a reason to deploy it. It is the context the measurement below sits in, and it is the reason a zero is unsurprising rather than scandalous. The question of whether the type belongs on data pages is a judgement; whether it is on them is a fact, and it is cheap to check on the pages that publish structured data about everything else.
| Property | Google's status | On nbcnews.com | On trustmrr.com |
|---|---|---|---|
| name | Required | Declared | Declared |
| description | Required | Declared | Declared |
| distribution | Recommended | Absent | Absent |
| license | Recommended | Absent | Absent |
| creator | Recommended | Absent | Declared |
| temporalCoverage | Recommended | Absent | Absent |
| variableMeasured | Recommended, pending standardization | Absent | Declared |
How 117 data pages were chosen, and what that leaves out
Every request in this measurement was sent as LantadBot, from one network location, with redirects followed, a twenty to twenty five second timeout, no browser involved and no JavaScript executed. The robots pass went first in the order that matters: 1,107 of the 1,419 hostnames answered robots.txt in the 2xx range, and of those 51 served an HTML document at the robots.txt address and were treated as carrying no rules, 45 parsed into no user-agent group, 999 parsed into at least one group that leaves the site root open to this crawler, and 12 parsed into a group that disallows it there. 227 hostnames answered a 4xx, which this scanner's robotsPolicyFromStatus treats as imposing no restrictions, 54 answered a 5xx, which this scanner treats as a site-wide disallow until it recovers rather than guessing, and 31 failed in the client before any status arrived. That leaves 1,322 hostnames this crawler was permitted to read, and the frame and the strata are the ones set out on the methodology page.
Selection of the data pages was mechanical and it is the part to argue with. From each of the 1,062 readable home pages, every same-host anchor was tested against a single pattern looking for open data, dataset or datasets, statistics, a data catalogue or a data portal in either the URL path or the anchor text, and at most six matches per host were kept. 51 home pages produced at least one match, for 126 candidate URLs, and each candidate was evaluated against its own site's parsed robots.txt before it was requested. One candidate on nzherald.co.nz was disallowed for this crawler and is excluded from every count here. It is worth stating plainly that the home page pass in this run ran before the robots pass rather than after it, so the 12 hosts whose files refuse this crawler at the root had their home pages requested once before that verdict was known; those 12 hosts are excluded from the 1,062 and from everything downstream, which is the correct result arrived at in the wrong order. Anyone checking their own file against a named token can do it with the robots.txt tester.
The selection is a filter, not a census, and it fails in predictable directions. A statistics agency whose data sits behind a search box rather than a link is absent. So is one whose navigation labels the section in a language the pattern does not match, which is a real limit on a corpus that includes hostnames in a dozen languages. Six links per host caps a national statistics office at the same depth as a SaaS company with one page about its benchmark report. What the filter does deliver is a set of pages that a crawler arriving at the home page would reach by following a link that says the word data, which is the same path an AI crawler would take, and that is the population the finding is about.
Where those 51 hosts sit is itself informative. 22 of them are in the government stratum, out of 86 readable government home pages, and 7 are in education out of 100. The rest are 6 in healthcare, 6 in SaaS, 4 in finance, 2 in news, 2 in SaaS marketing, 1 in startups and 1 in travel. The resulting 117 readable pages skew the same way, with 60 from government, 17 from SaaS, 11 each from education and finance, 9 from healthcare, 5 from news and 4 across the remaining three strata. So this is mostly a measurement of government and institutional data pages, which is exactly the population Google's documentation names when it lists civic and government data among the fields the type is for.
Flow: 1,419 corpus hostnames to robots.txt read and parsed; robots.txt read and parsed (97 refused or failed) to 1,322 permitted at the root; 1,322 permitted at the root to 1,062 home pages readable; 1,062 home pages readable (pattern on path or anchor) to 51 linked a data surface; 51 linked a data surface to 126 candidates, robots checked; 126 candidates, robots checked (9 answered 403 or 404) to 117 answered 200 with HTML; 117 answered 200 with HTML to 0 declared a Dataset node.
Not one of the 117 declared the type built for it
The headline count is a zero and it was tested twice, by two different methods, because a zero is the easiest result to produce by accident. The first test flattened every JSON-LD block each page delivered, collected every node carrying an @type, and looked for Dataset, DataCatalog, DataDownload or DataFeed by name. The second test ran a regular expression for those four type names over the raw delivered HTML of every page, which would catch a declaration inside a block that failed to parse as JSON, or one sitting somewhere a flattener would not walk. Both returned nothing on every page. On the second read of the set, 115 pages answered again and both tests returned nothing again.
What the pages did carry is the part worth sitting with. 81 of the 117 carried no JSON-LD typed node at all, so roughly seven pages in every ten publishing institutional data describe themselves to a machine with nothing but their prose and their HTML. On the 36 that carried markup, the types that came up were Organization on 20 pages, WebPage on 19, ImageObject on 16, WebSite on 12, BreadcrumbList on 9, ListItem on 9, and then SearchAction, Product, FAQPage and Question on 7 each. Read that list as a group and it describes a publisher, a page, a picture, a trail and a search box. Not one of those types says anything about the content the page exists to deliver, which is a pattern this blog keeps meeting: markup gets deployed by a template that knows the site, not by anybody who looked at the page.
A zero is also not a novelty here, and the comparisons are the honest way to size it. Lantad has published zero of 88 community pages declaring the discussion forum type, 1 of 242 course pages declaring Course and 5 of 374 careers pages declaring JobPosting. Dataset now joins that pattern at the bottom of it. The reasonable reading is not that these publishers are careless. It is that content-type markup, as opposed to identity markup, is something almost nobody deploys unless a plugin does it for them, and there is no plugin ecosystem for a national statistics release.
Two measurement limits bound the zero and both cut the same way. Only JSON-LD was counted, so a Dataset expressed in microdata or RDFa reads here as absent; our own comparison of JSON-LD against microdata found microdata on 22 of 385 home pages and RDFa on one, so the correction is small but it is not nil. And no JavaScript was executed, so a Dataset node injected after load is invisible to this count, which makes every figure here a floor in delivered bytes rather than a statement about a rendered page. Separately, presence was all that was checked: this post makes no claim about whether any declaration would validate, and our sweep of home pages whose JSON-LD carried a defect found one on 117 of 612, so presence and correctness are different questions on the same pages.
32 pages held a file or a table, and declared none of it
A zero on a page with no data on it would be nothing at all. So the set was read a second time the same day and asked a different question: does this page visibly hold data a machine could have been pointed at. 115 of the 117 answered again, and 32 of those 115 did. 14 linked at least one file whose extension names a data format, and 24 carried at least one table element in the delivered HTML. The file extensions were xlsx on 8 pages, zip on 7, xml on 2 and csv on 1, which is a fair portrait of how public statistics actually ship: a spreadsheet, or a zip holding several.
The hosts are worth naming, because they are the pages where the gap between what is published and what is declared is widest. The 14 pages linking a data file sit on eight hosts: abs.gov.au, federalreserve.gov, ons.gov.uk, bundestag.de, who.int, rbi.org.in, seattle.gov and diabetes.org. Those are the Australian Bureau of Statistics, the Federal Reserve, the UK Office for National Statistics, the German Bundestag, the World Health Organization, the Reserve Bank of India, the City of Seattle and the American Diabetes Association. Each of them hands a visitor a downloadable release from a page reachable by following a link that says the word data, and on none of those pages is there a declaration saying so. The 24 pages carrying tables spread across 13 hosts, and the densest single page delivered 35 table elements.
Tables are a surface this blog has measured before and they are weaker than they look. Our count of table elements on home pages found 87 across 1,079 pages with only 2 carrying a caption, so a table in the wild is frequently a grid with no statement of what it is a grid of. A machine reading one of these data pages therefore gets numbers in a layout and has to infer the rest. That is exactly the inference a Dataset node, or a DataDownload pointing at the xlsx, exists to remove. Whether removing it changes any outcome in an answer engine is not measured here and is not claimed.
Length is the other half of the picture and it is more encouraging. Across the 117 pages the median word count delivered to this crawler was 424, the longest page carried 21,539 words and the shortest carried 3. 11 of the 117 came in under 100 words, which puts them in the same band as the 43 of 220 documentation pages that gave a crawler under 100 words, and well clear of the harder failure where 418 of 1,419 sites gave a crawler no words at all. So most of these pages do say something in prose. The data is described in sentences, and declared in markup on none of them.
The two home pages that declared a Dataset, and what each one is
Across the 1,062 readable home pages, two carried a Dataset node, and the pair is instructive precisely because neither is a data publisher of the kind the documentation describes. One is a news site and one is a startup; no government or education home page in the corpus declared the type.
The first is nbcnews.com, and its Dataset node is not describing a dataset. It carries 14 keys, of which name is the string additionalTaxonomy and description is the sentence saying that this is additional taxonomy that helps us with analytics. The remaining keys are pageType, vertical, subVertical, section, subSection, packageId, sponsor, appVersion and gatedContentEnabled, each of them a local term remapped through a custom @context declared on the node itself. It is an analytics payload wearing a schema.org type, published in the page's JSON-LD where a consumer of structured data will find it. It satisfies Google's required pair in full, because name and description are both present and neither is empty, which is the cleanest illustration available of how little those two requirements constrain.
The second is trustmrr.com, and it is the real thing. Its node declares 10 keys: @type, @id, name, url, description, creator, publisher, keywords, measurementTechnique and variableMeasured. The name is TrustMRR verified startup revenue database and the description runs 211 characters. It carries five properties from Google's recommended list, being creator, keywords, measurementTechnique, variableMeasured and url, and two of those five are the ones Google's own page flags as proposed and pending standardization at schema.org. So the single well-formed Dataset declaration found here leans partly on vocabulary the publisher of the feature describes as not yet settled.
Both nodes share one absence and it is the consequential one. Neither declares distribution, which is the property whose job is to point at the file. A Dataset node with no distribution tells a machine that data exists somewhere and gives it no way to get it, which is a weaker claim than it first appears, and on the eight statistical publishers in the previous section the file was sitting right there in an anchor. The pattern of identity properties present and content properties absent is the same one we found in 95 medical nodes that declared no specialty, and it is the reason a count of declarations is not a measure of usefulness. It also sits alongside the broader finding that 141 of 382 home pages carried no structured data at all in the raw HTML: absence is still the commonest state, and partial presence is the second.
nbcnews.com
- name: additionalTaxonomy
- description: helps us with analytics
- 14 keys, 9 via a custom @context
- pageType, vertical, packageId, sponsor
- distribution: absent
- Satisfies both required properties
trustmrr.com
- name: TrustMRR verified startup revenue database
- description: 211 characters
- 10 keys, no custom context
- creator, publisher, keywords
- measurementTechnique, variableMeasured
- distribution: absent
What a reader can check, and what this does not show
The practical question for anybody publishing data is not whether this corpus declared the type. It is whether their own page does, and whether it needs to. The check costs a minute: open the page that holds your data, view source, and search for the string Dataset. If it is not there, the next question is what you would gain, and the honest answer from the documentation is discovery inside Google's Dataset Search tool, plus a machine-readable pointer at the file through distribution. If your data matters to the people who would search a dataset catalogue, that is worth the twenty lines. If it does not, the twenty lines buy you nothing that is documented, and a page that says clearly in prose what the numbers are and links the file is already doing the larger part of the job. A page that delivers no words at all is the harder failure, and that is the kind this scanner grades under AI visibility.
What this post does not show should be stated at least as plainly as what it does. No answer engine was queried, no citation was counted, and nothing here connects a Dataset declaration, or its absence, to appearing in any AI answer. The relationship is recorded as unmeasured rather than answered. Our own audit where structured data came third among the factors in a 1,100 URL citation study is the nearest evidence we have published on that question, and it is about structured data in general rather than this type. Lantad's schema sub-score does not check Dataset at all: SCHEMA_REQUIREMENTS in core/src/schema.ts holds the five types Organization, Product, Article, FAQPage and BreadcrumbList, which is a setting in this repository rather than a finding, and it means a scan of any of these pages would not have flagged a single thing reported here.
Four further limits bound the counts. One page per hostname was read at the home page, and interior pages entered only through the link filter described above, so a dataset landing page three clicks deep is outside this measurement entirely, and Google's documentation specifically recommends putting the markup on exactly such landing pages. Only JSON-LD was counted. No JavaScript was executed, so every figure is a floor in delivered bytes. And the 1,419 hostnames are two committed sampling frames built for another purpose, stratified by platform and by industry, so the proportions here describe this corpus and generalise to nothing beyond it: 48 hosts with a readable data page is a count of what turned up.
That last point is the one that keeps this honest. A reader could take 0 of 117 as evidence that Dataset markup is pointless, and that is not what it shows either. It shows that the type is absent from the pages it was designed for, which is a fact about deployment and not about value. Whether the gap is worth closing depends on a judgement about Dataset Search that no measurement in this repository can make for anybody. What this corpus can say, having now looked at the pages, is that the eight statistical publishers above are each one anchor and two properties away from declaring what they already publish, and that nothing is currently reading a declaration none of them has made. For the broader question of how a page earns a mention in an answer, generative engine optimization covers the signals we do measure, and what GPTBot sees shows the delivered bytes for any URL.
-
Dataset family in parsed JSON-LD0 of 117 Flattened every block, matched four type names -
Dataset family in raw HTML0 of 117 Second, independent test over delivered bytes -
Data visibly present on the page32 of 115 A linked data file or a table element -
Effect on any AI answerNot run No engine queried, no citation counted
Lantad
Published .
schema.org carries a type whose entire job is to say that a page holds data. It is called Dataset, schema.org places it at Thing then CreativeWork then Dataset, and defines it as a body of structured information describing some topic(s) of interest. Google documents it, asks for two properties, and states where the markup gets used. That makes one question worth asking of the open web rather than assuming: on the pages that actually publish data, statistical releases, open data portals and the spreadsheets behind them, is the type there at all. The answer measured here is a flat no, and the interesting part is what those pages carried instead.
Common questions
What is dataset schema used for?
Google's dataset structured data documentation, Last updated 2026-09-08 UTC, names its Dataset Search tool as where the markup helps a dataset be found. It does not state that the markup appears in ordinary Search results. schema.org defines the Dataset type as a body of structured information describing some topic(s) of interest, and connects it to DataDownload through the distribution property and to DataCatalog through includedInDataCatalog.
What properties does Dataset markup require?
Two: name and description. Google's documentation lists only those as required for Dataset, with distribution.contentUrl required once a DataDownload is declared. Both Dataset nodes Lantad found in this corpus satisfied the required pair, and neither declared distribution, so neither gave a machine any route to the data itself.
Do AI crawlers read Dataset markup?
Not measured, and not claimed here. Neither of the two sources read for this post describes an AI system reading the type, no answer engine was queried for this measurement and no citation was counted. The relationship between a Dataset declaration and appearing in an AI answer is recorded as unmeasured.
How many sites use Dataset markup?
schema.org's page for the type reports it on 10K to 100K domains, attributed to Google's web index in August 2026. In the corpus measured here, 2 of 1,062 readable home pages declared a Dataset node and 0 of 117 data pages did, on 19 October 2026.
See what AI can read on your site
Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.