Content markup properties of events

  • The webpage provides specifications for content markup properties related to the Event entity type, specifically for SportsEvent and MusicEvent.

  • Each event type has required and recommended properties such as @context, @type, @id, and name.

  • Specific properties like sport, homeTeam, and awayTeam are relevant to SportsEvent, while performer and composer are specific to MusicEvent.

  • Location details, including name and address, are required for both SportsEvent and MusicEvent.

  • Examples of markup are provided for team sports, individual sports, music events, and events with GeoShape restrictions.

This section provides the details of the content markup properties for the Event related entity type.

SportsEvent specification table

Property Expected Type Description
@context Text Required - Always set to ["http://schema.org", {"@language": "xx"}]
  • Replace xx with the entity's language code in BCP 47 format format, for example, "en".
@type Text Required - Always set to SportsEvent.
@id URL Required - The content's identifier in URI format; for example, https://example.com/1234abc.
@id must meet the following requirements:
  • Globally unique across your catalog (and distinct from the @id of any BroadcastEvent referencing this SportsEvent)
  • Static; The ID should be stable and not change over time. It will be treated as an opaque string and doesn't have to be a working link.
  • In the form of Unified Resource Identifier (URI)
  • The domain used for the @id value must be owned by your organization.
Important: Do not include a url property on SportsEvent or BroadcastEvent. Provide playback links using SportsEvent.potentialAction. See the Identifier section for more details.
name Text Required - The name of this event.
  • Use an array to list the names in different languages. See the Multiple regions and languages example.
  • Note that only one name is supported per locale (language-country pair).
description Text The description of this event. 300-character limit. Use an array to include descriptions in multiple languages (one per language).
sport URL Required A link to the Wikipedia page (english version preferred) of the sport.
startDate DateTime or Date Required - The start time of the event in ISO 8601 format with time zone. Please note that this is the actual start time of event, instead of when the event is aired on TV.
endDate DateTime or Date Recommended - The scheduled end time of the event in ISO 8601 format with time zone. Provide the scheduled end time whenever known; if the end time is unknown, omit this property rather than supplying an estimated placeholder.
homeTeam SportsTeam Highly Recommended Why? The home team of the event.
homeTeam.name Text Required The full name of the sports team.
homeTeam.sport URL Required A link to the Wikipedia page (english version preferred) of the sport.
homeTeam.sameAs URL Highly Recommended Why? A URL to a reference web page that can identify the team; for example, the Wikipedia page of the team.
homeTeam.athlete Person Annotation(s) for an individual athlete on the team.
homeTeam.athlete.name Text The full name of the athlete.
homeTeam.parentOrganization SportsOrganization Required - The sports league or governing organization that the team belongs to. Include parentOrganization on both homeTeam and awayTeam when both teams are provided.
homeTeam.parentOrganization.name Text Required - The name of the sports league that the team is part of. For example, National Basketball Association or Major League Baseball. Note that this field shouldn't be used for the team's conference.
homeTeam.parentOrganization.sameAs URL Highly Recommended Why? - A link to the Wikipedia page (English version preferred) that identifies the league of the team (for example, https://en.wikipedia.org/wiki/National_Basketball_Association). Don't use placeholder example.com URLs.
awayTeam SportsTeam Highly Recommended Why? - The away team of the event. The properties and requirements (including parentOrganization) are the same as SportsEvent.homeTeam.
competitor SportsTeam or Person Highly Recommended Why? If the home or away team is not applicable (e.g., a boxing match, the Olympics), specify the participants as competitors. If SportsTeam, the properties are the same as SportsEvent.homeTeam. If Person, the properties are the same as otherPerson objects; for instance, an actor in Movie.
location Place OR City The location of the event.
location.name Text Required - The name of the location.
location.address PostalAddress Required if location @type is Place - The address of the location. This shouldn't be used if location @type is City
location.address.streetAddress Text The street address of the location.
location.address.addressLocality Text The city of the location.
location.address.addressRegion Text The state of the location.
location.address.postalCode Text The postal code of the location.
location.address.addressCountry Text The countries in ISO 3166 format.
image ImageObject Required for Google TV - The image(s) related to the event. Recommended to be the official poster or banner art for the event. For more details on the required and optional properties to include with image, see Image properties.
potentialAction WatchAction Required if applicable - Deep link(s) to play the sports event, used for both channel-less livestreams and Video-on-demand replays. All sports event deep links must reside on SportsEvent.potentialAction; never place potentialAction on a BroadcastEvent that references a SportsEvent (for linear TV channel broadcasts without a direct event deep link, provide the channel deep link on BroadcastService.potentialAction). Provide an array of WatchAction objects when offering multiple streams (such as regional, home or away feed, or multi-language broadcasts) or separate live and Video-on-demand replay windows.
potentialAction.actionAccessibilityRequirement ActionAccessSpecification Required if potentialAction is provided - Defines the entitlement and clickable availability window (availabilityStarts and availabilityEnds) for each WatchAction:
  • Pre-roll window (availabilityStarts): For live sports broadcasts, set availabilityStarts at least 14 days before SportsEvent.startDate (availabilityStarts <= SportsEvent.startDate - 14 days) so upcoming event tiles can surface in advance (the event entity itself can be delivered closer to game day, as long as the availabilityStarts timestamp is at least 14 days prior to startDate).
  • Overtime buffer (availabilityEnds): Set availabilityEnds after SportsEvent.endDate with at least a 2 to 3 hour buffer (availabilityEnds >= SportsEvent.endDate + 2 to 3 hours, or through the end of the Video-on-demand replay window) to prevent deep links from expiring during live overtimes or post-game coverage.
See Action markup properties for full details.
identifier PropertyValue Highly Recommended Why? - External or other ID that unambiguously identifies this entity. Multiple identifiers are allowed. See the Identifier properties section for details.

SportsEvent examples

Team Sport Example

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "SportsEvent",
  "@id": "http://example.com/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "sport": "https://en.wikipedia.org/wiki/Basketball",
  "description": [
    {
      "@language": "en",
      "@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
    },
    {
      "@language": "es",
      "@value": "Juego 6 de las Finales de Baloncesto Profesional de 2019. El Equipo A lidera la serie 3-2 contra el Equipo B."
    }
  ],
  "startDate": "2019-09-16T21:10-08:00",
  "endDate": "2019-09-17T00:00-08:00",
  "homeTeam": {
    "@type": "SportsTeam",
    "name": "Team B",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "John Doe"
      }
    ]
  },
  "awayTeam": {
    "@type": "SportsTeam",
    "name": "Team A",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "Jane Doe"
      }
    ]
  },
  "location": {
    "@type": "Place",
    "name": "Example Stadium",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1600 Amphitheatre Pkwy",
      "addressLocality": "Mountain View",
      "addressRegion": "CA",
      "postalCode": "94043",
      "addressCountry": "US"
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "EP000194303282"
    }
  ]
}

Individual Sports Example

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "SportsEvent",
  "@id": "http://example.com/boxing/johndoe_vs_janedoe_2019",
  "name": "2019 Professional Boxing - John Doe vs Jane Doe",
  "sport": "https://en.wikipedia.org/wiki/Boxing",
  "description": "World champion Jane Doe fights undefeated John Doe at the Example Arena in Mountain View, California.",
  "startDate": "2019-07-12T21:10-08:00",
  "endDate": "2019-07-12T23:30-08:00",
  "competitor": [
    {
      "@type": "Person",
      "name": "Jane Doe",
      "birthDate": "1977-12-14",
      "gender": "F",
      "nationality": "US"
    },
    {
      "@type": "Person",
      "name": "John Doe",
      "birthDate": "1978-10-17",
      "gender": "M",
      "nationality": "GB"
    }
  ],
  "location": {
    "@type": "Place",
    "name": "Example Arena",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1600 Amphitheatre Pkwy",
      "addressLocality": "Mountain View",
      "addressRegion": "CA",
      "postalCode": "94043",
      "addressCountry": "US"
    }
  }
}

SportsEvent with GeoShape restrictions

{
  "@context": ["http://schema.org", {"@language": "en"}],
  "@type": "SportsEvent",
  "@id": "http://example.com/basketball/professional/final_game_6",
  "name": "2019 Professional Basketball Finals, Game 6: Team A at Team B",
  "sport": "https://en.wikipedia.org/wiki/Basketball",
  "description": [
    {
      "@language": "en",
      "@value": "Game 6 of the 2019 Professional Basketball Finals. Team A leads the series 3-2 against Team B."
    },
    {
      "@language": "es",
      "@value": "Juego 6 de las Finales de Baloncesto Profesional de 2019. El Equipo A lidera la serie 3-2 contra el Equipo B."
    }
  ],
  "startDate": "2019-09-16T21:10-08:00",
  "endDate": "2019-09-17T00:00-08:00",
  "homeTeam": {
    "@type": "SportsTeam",
    "name": "Team B",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "John Doe"
      }
    ]
  },
  "awayTeam": {
    "@type": "SportsTeam",
    "name": "Team A",
    "sport": "https://en.wikipedia.org/wiki/Basketball",
    "parentOrganization": {
      "@type": "SportsOrganization",
      "name": "Professional Basketball League",
      "sameAs": "https://en.wikipedia.org/wiki/Professional_Basketball_League"
    },
    "athlete": [
      {
        "@type": "Person",
        "name": "Jane Doe"
      }
    ]
  },
  "location": {
    "@type": "Place",
    "name": "Example Stadium",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1600 Amphitheatre Pkwy",
      "addressLocality": "Mountain View",
      "addressRegion": "CA",
      "postalCode": "94043",
      "addressCountry": "US"
    }
  },
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "TMS_ID",
      "value": "EP000194303282"
    }
  ],
  "potentialAction": [
    {
      "@type": "WatchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/basketball/final_game_6?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": [
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/MobileWebPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/IOSPlatform",
          "http://schema.googleapis.com/GoogleVideoCast"
        ]
      },
      "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "free",
        "availabilityStarts": "2019-09-01T10:35:29Z",
        "availabilityEnds": "2019-09-17T11:00:00Z",
        "eligibleRegion": {
          "@type": "Country",
          "name": "US"
        }
      }
    },
    {
      "@type": "WatchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "http://www.example.com/basketball/final_game_6?autoplay=true",
        "inLanguage": "en",
        "actionPlatform": "http://schema.org/AndroidTVPlatform"
      },
      "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "subscription",
        "availabilityStarts": "2019-09-01T10:35:29Z",
        "availabilityEnds": "2019-09-17T11:00:00Z",
        "requiresSubscription": {
          "@type": "MediaSubscription",
          "name": "Example Package",
          "commonTier": true,
          "@id": "http://www.example.com/example_package"
        },
        "eligibleRegion": [
          {
            "@type": "GeoShape",
            "@id": "http://example.com/area1",
            "addressCountry": "US",
            "postalCode": [
              "94118",
              "94119"
            ]
          },
          {
            "@type": "GeoShape",
            "@id": "http://example.com/area2",
            "addressCountry": "US",
            "postalCode": [
              "94120",
              "94121"
            ]
          }
        ]
      }
    }
  ]
}

MusicEvent specification table

Property Expected Type Description
@context Text Required - Always set to ["http://schema.org", {"@language": "xx"}]
  • Replace xx with the entity's language code in BCP 47 format format, for example, "en".
@type Text Required - Always set to MusicEvent.
@id URL Required - The content's identifier in URI format; for example, https://example.com/1234abc.
@id must meet the following requirements:
  • Globally unique across your catalog
  • Static
  • In the form of Unified Resource Identifier (URI)
Because an entity's url meets all the requirements as an identifier, we recommend you use an entity's url as @id. See the Identifier section for more details.
name Text Required - The name of this event.
  • Use an array to list the names in different languages. See the Multiple regions and languages example.
  • Note that only one name is supported per locale (language-country pair).
description Text The description of the event. 300-character limist. Use an array to include the descriptions in multiple languages and lengths.
attendee Organization or Person A person or organization attending the event.
startDate Date Required - The start time of the event in ISO 8601 format with time zone.
endDate Date The end time of the event in ISO 8601 format with time zone.
composer Organization or Person The person or organization who wrote a composition, or who is the composer of a work performed at some event.
performer Organization or Person Required - A performer at the event—for example, a presenter, a musician, musical group or actor.
subEvent Event An Event that is part of this event. For example, a conference event includes many presentations, each of which is a subEvent of the conference.
superEvent Event An event that this event is a part of. For example, a collection of individual music performances might each have a music festival as their superEvent.
location Place OR City Required - The location of the event.
location.name Text Required - The name of the location.
location.address PostalAddress Required if location @type is Place - The address of the location. This should not be used if location @type is City.
location.address.streetAddress Text The street address of the location.
location.address.addressLocality Text The city of the location.
location.address.addressRegion Text The state of the location.
location.address.postalCode Text The postal code of the location.
location.address.addressCountry Text The countries in ISO 3166 format.
workPerformed CreativeWork A work performed in some event, for example a play performed in a TheaterEvent.

MusicEvent example

MusicEvent

{
  "@context":"http://schema.org",
  "@type":"MusicEvent",
  "@id": "http://example.com/music/my_favortie_artist/2019_tour",
  "name":"My Favorite Artist’s 2019 Homecoming Tour",
  "description":"After 8 years off the music scene, My Favorite Artist is back with the Homecoming Tour.",
  "startDate": "2014-10-12T21:10-08:00",
  "location":{
    "@type":"Place",
    "name":"Example Arena",
    "address":{
      "@type":"PostalAddress",
      "streetAddress":"1600 Amphitheatre Pkwy",
      "addressLocality":"Mountain View",
      "addressRegion":"CA",
      "postalCode":"94043",
      "addressCountry":"US"
    }
  },
  "performer": {
    "@type":"Person",
    "name":"My Favorite Artist",
    "birthDate":"1977-02-24",
    "gender":"F",
    "nationality":"CA"
  }
}

Event specification table

Property Expected Type Description
@context Text Required - Always set to ["http://schema.org", {"@language": "xx"}]
  • Replace xx with the entity's language code in BCP 47 format format, for example, "en".
@type Text Required - Always set to Event.
@id URL Required - The content's identifier in URI format; for example, https://example.com/1234abc.
@id must meet the following requirements:
  • Globally unique across your catalog
  • Static
  • In the form of Unified Resource Identifier (URI)
Because an entity's url meets all the requirements as an identifier, we recommend you use an entity's url as @id. See the Identifier section for more details.
name Text Required - The name of this event.
  • Use an array to list the names in different languages. See the Multiple regions and languages example.
  • Note that only one name is supported per locale (language-country pair).
description Text The description of the event. 300-character limist. Use an array to include the descriptions in multiple languages and lengths.
attendee Organization or Person A person or organization attending the event.
startDate Date Required - The start time of the event in ISO 8601 format with time zone.
endDate Date The end time of the event in ISO 8601 format with time zone.
subEvent Event An Event that is part of this event. For example, a conference event includes many presentations, each of which is a subEvent of the conference.
superEvent Event An event that this event is a part of. For example, a collection of individual music performances might each have a music festival as their superEvent.
releasedEvent PublicationEvent, FeaturedEvent, or ExclusiveEvent Highly Recommended Why? - A PublicationEvent is used to specify the original (global or local) release of content by a publisher, such as the original theatrical release date of a movie.

Additionally, use FeaturedEvent to indicate that your service markets this content as either an original, featured, special, and so forth.

ExclusiveEvent specifies that your service has exclusive distribution rights and includes where and when.

See the example section for details and examples.
releasedEvent.@type Text Required - Be sure to always set this property to one of the following:
  • PublicationEvent
  • ExclusiveEvent
  • FeaturedEvent
releasedEvent.location Country Required - The regions that are associated with this event.

For a PublicationEvent, this is the region where the content was published.

For FeaturedEvent and ExclusiveEvent, this is the region where the content is featured or exclusive.

Use ISO 3166 codes for countries. To indicate everywhere in the world, set to EARTH.
releasedEvent.startDate Date or DateTime Recommended - Required for ExclusiveEvent - The start date of the entity's publication.

For a PublicationEvent, this denotes the initial release date of this entity, such as the date a movie was first released in theaters.

For ExclusiveEvent and FeaturedEvent, this represents the start date of when the entity is exclusive or featured.
releasedEvent.endDate Date or DateTime Recommended - Required for ExclusiveEvent - This is only applicable to the ExclusiveEvent and FeaturedEvent types.

For ExclusiveEvent, this represents the date when the rights to the content expire.

For FeaturedEvent, this represents the last date when the provider features the entity.

If the content is perpetually exclusive or featured, set the endDate to 20 years from the current date.
releasedEvent.publishedBy Organization or Person Optional - The organization or person that published this entity.
location Place OR City Required - The location of the event. Note that you can provide Place in City level.
location.name Text Required - The name of the location.
location.address PostalAddress Required if location @type is Place - The address of the location. This should not be used if location @type is City
location.address.streetAddress Text The street address of the location.
location.address.addressLocality Text The city of the location.
location.address.addressRegion Text The state of the location.
location.address.postalCode Text The postal code of the location.
location.address.addressCountry Text The countries in ISO 3166 format.
workPerformed CreativeWork A work performed in some event, for example a play performed in a TheaterEvent.

Event example

Event

{
  "@context":"http://schema.org",
  "@type":"Event",
  "@id": "http://example.com/keynote/google_io_2019",
  "name":"Google I/O 2019 keynote",
  "description":"Google’s annual developer conference keynote event.",
  "startDate": "2019-05-07T10:00-08:00",
  "location":{
    "@type":"Place",
    "name":"Example Arena",
    "address":{
      "@type":"PostalAddress",
      "streetAddress":"1600 Amphitheatre Pkwy",
      "addressLocality":"Mountain View",
      "addressRegion":"CA",
      "postalCode":"94043",
      "addressCountry":"US"
    }
  },
  "attendee": {
    "@type":"Person",
    "name":"My Favorite Speaker",
    "birthDate":"1971-12-02",
    "gender":"F",
    "nationality":"IN"
  }
}