DataDownload
DataDownload is a MediaObject subtype for a specific downloadable file or endpoint of a Dataset. It inherits all MediaObject properties (contentUrl, encodingFormat, contentSize) plus measurement properties.
Attach one or more DataDownload entries to Dataset.distribution — a single dataset often ships as CSV, JSON, and Parquet simultaneously, each its own DataDownload.
Full example of schema.org/DataDownload json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Dunmore Air Quality (Hourly, 2025)",
"description": "Hourly PM2.5, PM10, ozone, and NO2 readings from the municipal station, 2025 archive.",
"license": "https://creativecommons.org/publicdomain/zero/1.0/",
"distribution": [
{ "@type": "DataDownload", "name": "2025 archive (CSV)", "contentUrl": "https://dunmore.gov.example/open-data/air-quality/2025.csv", "encodingFormat": "text/csv", "contentSize": "4.8 MB" },
{ "@type": "DataDownload", "name": "2025 archive (JSON)", "contentUrl": "https://dunmore.gov.example/open-data/air-quality/2025.json", "encodingFormat": "application/json", "contentSize": "12.1 MB" },
{ "@type": "DataDownload", "name": "2025 archive (Parquet)", "contentUrl": "https://dunmore.gov.example/open-data/air-quality/2025.parquet", "encodingFormat": "application/vnd.apache.parquet", "contentSize": "1.8 MB" }
]
}
</script>Minimal valid version
The smallest markup that still produces a valid DataDownload entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DataDownload",
"name": "2025 archive (CSV)",
"contentUrl": "https://dunmore.gov.example/open-data/air-quality/2025.csv",
"encodingFormat": "text/csv"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsDataset rich result (via Dataset.distribution)primary
Common DataDownload mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Download URL in Dataset.url
WrongPutting the CSV URL on Dataset.urlRightDataset.url = landing page; DataDownload.contentUrl = direct fileDataset.url is the human-readable landing page; DataDownload separates the machine-downloadable artefact. Conflation loses that layering.
Schema properties in this example
About the example data
The CSV and JSON downloads for the Dunmore air-quality dataset.
Comments
Loading comments...