endDate
endDate · Recommended by Google
Appears in
What is it?
The date and time when an event finishes. Paired with startDate, this gives search engines and AI systems the full duration of an event. It applies to any event type: conferences, concerts, webinars, festivals, and multi-day gatherings.
Why this matters for AEO
When a user asks "how long is [event]" or "will [event] still be going on Saturday evening," AI answer engines calculate duration from startDate and endDate. Without endDate, the AI cannot answer duration or scheduling overlap questions and may drop the event from time-sensitive results.
What the specs say
Schema.org: Date, DateTime. The end date and time of the item (in ISO 8601 date format). schema.org/endDate
Google: Recommended. "The end date and end time of the event in ISO-8601 format." Google Event docs
How to find your value
- Event page — Schedule section, end time listed after start time
- Ticketing platform — Event details sidebar (Eventbrite, Ticketmaster)
- Conference agenda — Last session end time on the final day
- Venue — Posted hours or event coordinator confirmation
For multi-day events, use the end time on the final day. For single-session events, use the expected end time of the session.
Format and code
DateTime format (preferred for timed events):
{
"@type": "Event",
"name": "Data Saturday Oslo 2025",
"startDate": "2025-08-30T09:00:00",
"endDate": "2025-08-30T17:30:00"
}
Date-only format (for all-day or multi-day events):
{
"@type": "Event",
"name": "SXSW 2025",
"startDate": "2025-03-07",
"endDate": "2025-03-15"
}
Always use ISO 8601: YYYY-MM-DD for dates, YYYY-MM-DDTHH:MM:SS for date-times. Match the format of startDate for consistency.
Invalid:
"endDate": "August 30, 2025"
"endDate": "30/08/2025"
These are not ISO 8601 and will not be parsed correctly.
Webflow implementation
Static pages
Add endDate to the Event JSON-LD in Page Settings > Custom Code (Before ):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Webflow Conf 2024",
"startDate": "2024-10-09T09:00:00",
"endDate": "2024-10-10T17:00:00",
"location": {
"@type": "Place",
"name": "Palace of Fine Arts, San Francisco"
}
}
</script>
CMS template pages
Use a Webflow Date field for the event end date. Reference it in the JSON-LD template. Format the output as ISO 8601 in the embed code.
In Schema HQ
Schema pulls endDate from CMS date field automatically. It formats the value as ISO 8601 DateTime in the published JSON-LD.
Real examples
Eventbrite (Data Saturday Oslo 2025):
"endDate": "2025-08-30T17:30:00"
Schema.org (B.B. King example):
"endDate": "2014-04-12T22:00"
Related fields
- startDate — when the event begins
- doorTime — when venue admission starts
- eventStatus — whether the event is scheduled, cancelled, or rescheduled
- location — where the event takes place
FAQ
Is endDate required for Event rich results?
Google lists endDate as recommended, not required. Events can qualify for rich results with just startDate. However, including endDate improves the quality of the listing and enables duration-based queries.
What format should I use for multi-day events?
Use date-only format (YYYY-MM-DD) for multi-day events where specific session times are not relevant. Use DateTime format for the final session end time if precision matters.
Should endDate match startDate format?
Yes. If startDate uses DateTime format, endDate should also use DateTime. Mixing Date and DateTime formats is technically valid but creates inconsistency that may confuse parsers.