temporalCoverage
temporalCoverage · Recommended by Google
Appears in
What is it?
The temporalCoverage property specifies the time period that a dataset covers. It tells data consumers whether the data spans a single date, a date range, or an ongoing collection period.
Values use ISO 8601 format: a single date (2024-03-15), a date range (2020-01-01/2024-12-31), or an open-ended range (2020-01-01/..) for datasets still being updated.
Why this matters for AEO
When a user asks "is there storm data from the 1990s," AI answer engines check temporalCoverage to match datasets to time-based queries. ISO 8601 date ranges let the AI determine overlap precisely, rather than scanning description text for year mentions.
What the specs say
Schema.org:DateTime, Text, URL. The temporalCoverage of a CreativeWork indicates the period that the content applies to, either as a DateTime or as a textual string indicating a time period in ISO 8601 time interval format.
Google: Recommended. "The data in the dataset covers a specific time interval." Source
How to find your value
- Single snapshot — Date
- Fixed time range — Start/End
- Still collecting — Open-ended
- Full year — Year range
- Precise timestamps — DateTime range
Format and code
Date range:
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Storm Events Database",
"temporalCoverage": "2001-08-06/2002-09-09"
}
Open-ended (ongoing collection):
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Live Weather Observations",
"temporalCoverage": "2020-01-01/.."
}
Precise timestamps:
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Svartberget Water Balance",
"temporalCoverage": "2008-04-23T20:00:00Z/2017-10-31T14:00:00Z"
}
Webflow implementation
Static pages
Add the temporalCoverage string inside your Dataset JSON-LD block in Page Settings > Custom Code > Footer Code. Use ISO 8601 format with a / separator for ranges.
CMS template pages
Store start and end dates in CMS date fields. Concatenate them in ISO 8601 format within a custom code embed. Use .. as the end date for ongoing datasets.
In Schema HQ
The temporalCoverage field does not currently generate Dataset markup. Add temporal coverage data manually through Webflow custom code.
Real examples
From Swedish Research Data Service:
{
"@context": "https://schema.org",
"@type": "Dataset",
"temporalCoverage": "2008-04-23T20:00:00Z/2017-10-31T14:00:00Z"
}
From ESIPFed Science on Schema.org:
{
"@context": "https://schema.org",
"@type": "Dataset",
"temporalCoverage": "2001-08-06/2002-09-09"
}
Related fields
FAQ
What date format should temporalCoverage use?
ISO 8601. Single dates: 2024-03-15. Ranges: 2020/2024 or 2020-01-01/2024-12-31. Timestamps: 2020-01-01T00:00:00Z/2024-12-31T23:59:59Z. The / separator divides start from end.
How do I indicate an ongoing dataset?
Use .. as the end of the range: 2020-01-01/... This tells data catalogs the collection is still active and the end date is not yet determined.
Can temporalCoverage be a text description instead of a date?
Yes, schema.org accepts Text values like "The Jurassic period" or "1950s." But ISO 8601 dates are strongly preferred because they allow precise temporal matching in search engines and data catalogs.