Event Structured Data Guide

Event schema markup enables Google to display your events in dedicated event rich results — including event name, date, time, and location directly in search. Events can also appear in Google Events search panels. Valid Event structured data requires a name, startDate, and location. Sub-types include MusicEvent, SportsEvent, and EducationEvent.

Required Properties

PropertyTypeDescription
namerich result
stringThe name of the event.
startDaterich result
ISO 8601 datetimeThe start date and time (e.g. '2026-04-15T19:00:00-05:00'). Include timezone.
locationrich result
Place or VirtualLocationWhere the event takes place. Include name and address.

Recommended Properties

Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.

PropertyTypeDescription
endDate
ISO 8601 datetimeThe end date and time of the event.
eventStatus
EventStatusType URLEvent status (e.g. https://schema.org/EventScheduled, EventCancelled, EventPostponed).
eventAttendanceMode
EventAttendanceModeEnumeration URLAttendance mode: OfflineEventAttendanceMode, OnlineEventAttendanceMode, or MixedEventAttendanceMode.
description
stringA description of the event.
image
URL or ImageObjectAn image for the event.
offers
OfferTicketing information including price and availability.
performer
Person or OrganizationA performer at the event.
organizer
Person or OrganizationThe organizer of the event.

Rich Result Eligibility

Rich result type: Event listing in Google Search and Google Events

Requirements: Required: name, startDate (ISO 8601 with time and timezone), and location (Place with name and address). eventStatus and eventAttendanceMode are strongly recommended.

Example valid Event JSON-LD

{
  "@context": "https://schema.org",
  "@type": "MusicEvent",
  "name": "Jazz in the Park",
  "startDate": "2026-07-04T18:00:00-05:00",
  "endDate": "2026-07-04T22:00:00-05:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Riverside Park Amphitheater",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "456 Park Drive",
      "addressLocality": "Chicago",
      "addressRegion": "IL",
      "postalCode": "60601",
      "addressCountry": "US"
    }
  },
  "image": "https://example.com/images/jazz-event.jpg",
  "description": "An evening of live jazz music in Riverside Park.",
  "offers": {
    "@type": "Offer",
    "price": "25",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/events/jazz-in-the-park"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Chicago Jazz Society",
    "url": "https://example.com"
  }
}

Validate via API

Validate this schema against Google's requirements in one API call:

curl "https://schemacheck.dev/api/v1/validate" \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonld":{"@context":"https://schema.org","@type":"MusicEvent","name":"Jazz in the Park","startDate":"2026-07-04T18:00:00-05:00","endDate":"2026-07-04T22:00:00-05:00","eventStatus":"https://schema.org/EventScheduled","eventAttendanceMode":"https://schema.org/OfflineEventAttendanceMode","location":{"@type":"Place","name":"Riverside Park Amphitheater","address":{"@type":"PostalAddress","streetAddress":"456 Park Drive","addressLocality":"Chicago","addressRegion":"IL","postalCode":"60601","addressCountry":"US"}},"image":"https://example.com/images/jazz-event.jpg","description":"An evening of live jazz music in Riverside Park.","offers":{"@type":"Offer","price":"25","priceCurrency":"USD","availability":"https://schema.org/InStock","url":"https://example.com/events/jazz-in-the-park"},"organizer":{"@type":"Organization","name":"Chicago Jazz Society","url":"https://example.com"}}}'

Official Documentation

Google Structured Data: Event

Validate your Event schema now

100 free validations/month. No credit card required.