Content markup properties of radio stations

This section provides the details of the content markup properties for the RadioBroadcastService entity type. For complete details, see the Full feed example.

Specification table

Property Expected type Description
@context Text Required: Always set this property to ["http://schema.googleapis.com", {"@language": "xx"}], where xx represents the language of the strings in the feed.

Each root entity context must have its @language set to the appropriate language code, and in BCP 47 format. For example, if the language is set to Spanish, the names are assumed to be in Spanish even if the subtitle or dub language is in English.
@type Text Required: Always set this property to RadioBroadcastService.
@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; The ID should be stable and not change over time (even if the url property of the show changes). It will be treated as an opaque string and does not 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.
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.
url URL Required: The content's Canonical URL, which supplies information about the radio station.

The url property must meet the following requirements:
  • It must be globally unique.
  • It must contain a live canonical URL that Google can crawl.
  • It must point to a content description page that's not blocked by a paywall.
name Text Required: The official name of the radio station. There must be only one official name per language. For example, "WXKS FM." Use an array to list the names in different languages. For an example, see Multiple regions and languages.
alternateName Text Alternate names that help users identify the radio station. This property must be legitimate alternate names for a station, not keywords to influence triggering. For keywords, use the keywords property instead. Use an array to list the names in different languages. For an example, see Multiple regions and languages.
callSign Text Required if applicable: The official government-issued callsign of the radio station. For example, "KQEI-FM." For North American radio stations, this property is required. For regions where callsigns aren't commonly used, this is optional.
broadcastDisplayName Text Required: The display names or brandings of the radio station. For example, "Fake Radio 105." The values help users identify this radio station in their queries, in addition to other key information such as callsign and name.
description Text Required: A brief description of the radio station. This property has a 300-character limit. Use an array to mark up the description in multiple languages. For an example, see Multiple regions and languages.
slogan Text Slogan of the radio station. For example, "Google’s number one fictional music radio station."
logo ImageObject A logo image of the station. Provide the highest resolution available. The format must be either JPEG or PNG. For details and examples, see the ImageObject section.
broadcastFrequency BroadcastFrequencySpecification Required: The frequency specification of the radio station. For terrestrial AM/FM radio stations, this property is required. For online-only streams, the value must be set to the INTERNET_STREAM string. For details and examples, see the BroadcastFrequencySpecification section.
areaServed City, State, Country, or AdministrativeArea Required: The primary geographic area targeted by the radio station. Use this property to select the most appropriate station among a network of affiliated, similarly named stations. For example, use it to select a nationally broadcast radio service with local affiliates. The suggested format is city, (optional) state, country. For details and examples, see the City, State, Country, AdministrativeArea section.
broadcastAffiliateOf Organization Required if applicable: The affiliate that the radio station is a member of, or the affiliate that provides the content that's broadcast on the radio station. For example, "NPR," "PRI," or "PBS." If the radio station isn't part of any affiliation, this property isn't required. For details and examples, see the Organization section.
broadcaster Organization Required: The organization who owns, runs, and operates the radio station. For details and examples, see the Organization section.
parentService RadioBroadcastService Required if applicable: This property is only required when the radio station is a repeater or translator. It represents the original radio station that the repeater or translator relays. For details and examples, see the RadioBroadcastService section.
potentialAction ListenAction Required: The Action that's triggered for users in order to listen to the radio station. For details, see the ListenAction section.
popularityScore PopularityScoreSpecification A score that Google uses, plus other signals, to determine which media to play for users. This score represents the popularity of the content in relation to other content in your catalog. Therefore, the score's scale must be consistent across your feeds, and all the entities in your catalog. By default, an entity's popularity score is set to 0.
inLanguage Text The language of the content that's broadcast on the radio station. The value must be a language code in BCP 47 format. Use this value to fulfill user queries that request contents in a specific language. If the station broadcasts in different languages at different times, just list the primary language.
keywords Text A list of keywords associated with the radio station. Use these keywords to expand the user queries that trigger the radio station. For example, "news," "sports," or "rock."
identifier PropertyValue The external ID or another ID that unambiguously identifies this entity. Multiple identifiers are allowed. For details, see the Identifier properties section.
sameAs URL The URL of a reference web page that unambiguously indicates the item's identity. For example, a Wikipedia page for the broadcast service.

Entity-type property references

The following are entity-types and their property references.

BroadcastFrequencySpecification

The BroadcastFrequencySpecification entity-type is associated with the broadcastfrequency property.

The BroadcastFrequencySpecification entity-type is used to identify the radio station by its frequency. In the case of digital radio, the frequency channel might carry multiple sub-channels with different programs. In those cases, the broadcastSubChannel value is used to locate the target radio station within the frequency channel.

For internet-only radio stations, the BroadcastFrequencySpecification object isn't needed, so use the string value INTERNET_STREAM instead.

Property Expected type Description
@type Text Required: Always set this property to BroadcastFrequencySpecification.
broadcastFrequencyValue Text Required: The digit part of the frequency. For example, "89.3." For Digital Audio Broadcasting (DAB) stations, this must be the block number. For example, "12A."
broadcastSignalModulation Text Required: The signal modulation part of the frequency. For example, "FM" or "AM." For DAB stations, use "DAB."
broadcastSubChannel Text Required if applicable: The subchannel in the case of digital radio. For DAB and DAB+ stations, this value is the service ID. For example, "HD1"–"HD8" are possible values for HD radio, and "C8D8" is a possible value for DAB.

The following are BroadcastFrequencySpecification examples:

FM (HD)

"broadcastFrequency": {
  "@type": "BroadcastFrequencySpecification",
  "broadcastFrequencyValue": "89.3",
  "broadcastSignalModulation": "FM",
  "broadcastSubChannel": "HD1"
},

AM

"broadcastFrequency": {
  "@type": "BroadcastFrequencySpecification",
  "broadcastFrequencyValue": "1010",
  "broadcastSignalModulation": "AM",
},

DAB

"broadcastFrequency": {
  "@type": "BroadcastFrequencySpecification",
  "broadcastFrequencyValue": "12B",
  "broadcastSignalModulation": "DAB",
   "broadcastSubChannel": "C8D8"
},

Internet-Only

"broadcastFrequency": "INTERNET_STREAM",

Organization

The Organization entity-type is associated with the broadcaster or broadcastAffiliateOf properties.

In the RadioBroadcastService specification, the Organization type is used for both broadcaster and broadcastAffiliateOf properties.

Property Expected type Description
@type Text Required: Always set this property to Organization.
@id URL Required: A globally unique ID for the organization that's in a URI format. The ID must be stable and not change over time. It's treated as an opaque string and doesn't have to be a working link.
name Text Required: The name of the organization.
sameAs URL This property is a URL to a reference web page that unambiguously identifies the organization. For example, a Wikipedia page for the organization, or the organization’s official website.

The following are Organization examples:

SINGLE

"broadcaster": {
  "@type": "Organization",
  "@id": "https://www.tjradio.org/broadcasters/billyradio",
  "sameAs": "https://www.billyradio-example.org/",
  "name": "Billy Radio Inc"
},

MULTIPLE OWNERS

"broadcaster": [
  {
    "@type": "Organization",
    "@id": "https://www.tjradio.org/broadcasters/billyradio"
    "name": "Billy Radio Inc"
    "sameAs": "https://www.billyradio-example.org/"
  },
  {
    "@type": "Organization",
    "@id": "https://www.tjradio.org/broadcasters/Gmusic"
    "name": "Gmusic",
  }
],

MULTIPLE NETWORKS

"broadcastAffiliateOf": [
  {
    "@type": "Organization",
    "@id": "https://www.tjradio.org/networks/npr",
    "name": "NPR",
    "sameAs": "https://en.wikipedia.org/wiki/NPR"
  },
  {
    "@type": "Organization",
    "@id": "https://www.tjradio.org/networks/pri",
    "name": "PRI",
    "sameAs": "https://www.pri.org/"
  }
],

RadioBroadcastService

The RadioBroadcastService entity-type is associated with the parentService property.

The parentService property is used for a repeater or translator station to indicate its parent station.

Property Expected type Description
@type Text Required: Always set this property to RadioBroadcastService.
@id URL Required: A globally unique ID in a URL format that represents the parent radio station. If the parent radio station is also included in your feed as a separate entity, ensure that both IDs are the same.
name Text Required: The name of the parent radio station.
sameAs URL The URL to a reference web page that unambiguously identifies the parent station. For example, a Wikipedia page for the parent station.

The following is aRadioBroadcastService example:

  "parentService": {
    "@type": "RadioBroadcastService",
    "@id": "https://www.tjradio.org/stations?id=10",
    "name": "GQED-FM",
    "sameAs": "https://en.vikibedia.org/wiki/GQED-FM"
  },

The ImageObject entity-type is associated with the logo property.

The logo property is used to provide the logo image for the given radio station. These images are displayed alongside content as a deep link for a given radio entity.

Property Expected Type Description
@type Text Required: Always set this property to ImageObject.
height Integer Height of the image in pixels.
width Integer Width of the image in pixels.
contentUrl URL Required: A URL where the image can be fetched.
regionsAllowed Country The countries where the media is allowed. If the property isn't specified, then it's assumed that the image is allowed to be displayed in all locales.

To submit different images per region, add multiple ImageObject types, each with its own set of countries and a corresponding image URL.

Country

The Country entity-type is associated with the logo.regionsAllowed property.

Property Expected type Description
@type Text Always set this property to Country.
name Text The ISO 3166-1 alpha-2. For example, "GB" or "US."

The following are ImageObjectexamples:

UNIVERSAL LOGO

"logo": {
  "@type": "ImageObject",
  "height": 100,
  "width": 800,
  "contentUrl": "http://www.foo.com/img/67890.jpg",
},

LOGO BY COUNTRY

"logo": [
  {
    "@type": "ImageObject",
    "height": 100,
    "width": 800,
    "contentUrl": "http://www.foo.com/img/67890.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "US"
      },
      {
        "@type": "Country",
        "name": "GB"
      }
    ]
  },
  {
    "@type": "ImageObject",
    "height": 100,
    "width": 800,
    "contentUrl": "http://www.foo.com/img/12345.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "IN"
      },
      {
        "@type": "Country",
        "name": "PK"
      }
    ]
  },
],

PropertyValue

The PropertyValue entity-type is associated with the identifier property.

If you use a third-party ID system for your content, such as the Gracenote IDs (TMS), then the ID can be provided by the identifier property. This improves the accuracy of Google’s reconciliation of your radio stations.

Property Expected type Description
@type Text Required: Always set this property to PropertyValue.
propertyID Text Required: The type of specified ID. We support the following ID types:
  • TMS_ROOT_ID: The Gracenote IDs (TMS) Root ID. For example, "15829."
  • TMS_ID: The Gracenote IDs (TMS) Variant ID. For example, "MV000398520000."
  • WIKIDATA_ID: The WikiData ID. For example, "Q795598."
value Text The URL to a reference web page that unambiguously identifies the parent station. For example, a Wikipedia page for the parent station.

The following is a PropertyValue example:

  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "WIKIDATA_ID",
    "value": "Q795598"
  },

PopularityScoreSpecification

The PopularityScoreSpecification entity-type is associated with the popularityScore property.

Property Expected type Description
@type Text Required: Always set this property to PopularityScoreSpecification.
value Number Required: A positive numeric value that's compared with other entities from your catalog. The bigger number represents the higher popularity.
eligibleRegion Country A country or a list of the regions to which the popularity score is applicable. If the popularity score is globally applicable, simply use earth as the text value.
If specific regions need to be listed, use the Country type.

If this property is left out, the eligibleRegion defaults to earth.

Country

The Country entity-type is associated with the popularityScore.eligibleRegion property.

Property Expected type Description
@type Text Required: Always set this property to Country.
name Text Required: The ISO 3166-1 alpha-2. For example, "GB" or "US."

The following are PopularityScoreSpecification examples:

GLOBAL POPULARITY

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 4.3,
  "eligibleRegion": "Earth"
},

COUNTRY-SPECIFIC

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 2,
  "eligibleRegion": {
    "@type": "Country",
    "name": "US"
  }
},

City, State, Country, AdministrativeArea

The City, State, Country, and AdministrativeArea entity-types are associated with the areaServed property.

The areaServed property helps you select the most appropriate station based on the user’s location information. Examples of location information are user queries such as "a radio station near me" or "local news radio."

Property Expected type Description
@type Text Required: Always set this property to one of the following entity types: City,State, Country, or AdministrativeArea.
name Text Required: The name of the city, state, country, or area. Provide the most granular region. Also, provide the containing chain. Use the following format: city, state, country.

The following are areaServed examples:

CITY

"areaServed": {
  "@type": "City",
  "name": "North Highlands, CA, US"
},

STATE

"areaServed": [
  {
    "@type": "State",
    "name": "California, US"
  },
  {
    "@type": "State",
    "name": "Nevada, US"
  }
],

COUNTRY

"areaServed": [
  {
    "@type": "Country",
    "name": "US"
  },
  {
    "@type": "Country",
    "name": "Australia"
  }
],

ADMINISTRATIVEAREA

"areaServed": [
  {
    "@type": "AdministrativeArea",
    "name": "Cape Cod, Massachusetts, US"
  }
],

ListenAction

The ListenAction entity-type is associated with the potentialAction property.

The ListenAction property defines your deep links for playback. It also defines the criteria for the users to access the content. For example, geo/chronal/login/subscription status.

Property Expected type Description
@type Text Required: Always set this property to ListenAction.
target EntryPoint Required: The specifications of your deep link. It includes the supported platform information. There can be multiple EntryPoint entity-types to define different deep links for different platform sets.
actionAccessibilityRequirement ActionAccessSpecification Required: The definition of user requirements to access this entity. If multiple ActionAccessSpecification entity-types are present, a user that matches any of the specification criteria are able to access the content.

EntryPoint

The EntryPoint entity-type is associated with the potentialAction.target property.

Property Expected type Description
@type Text Required: Always set this property to EntryPoint.
urlTemplate Text Required: The link that initiates the playback of your content.
actionPlatform Text Required: The platforms that the deep link is valid for. The following are possible values:
  • http://schema.org/DesktopWebPlatform
  • http://schema.org/MobileWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/AndroidTVPlatform
  • http://schema.org/IOSPlatform
  • http://schema.googleapis.com/GoogleAudioCast
  • http://schema.googleapis.com/GoogleVideoCast

ActionAccessSpecification

The ActionAccessSpecification entity-type is associated with the potentialAction.actionAccessibilityRequirement property.

Property Expected type Description
@type Text Required: Always set this property to ActionAccessSpecification.
category Text Required: The type of access requirement. This must be one of the following values:
  • nologinrequired: This action is available to the user with no purchase or login needed to access content.
  • free: This action is available with no purchase or paid subscription required of the user. The action still requires users to sign in.
  • subscription: This action is included with a paid subscription to your service.
availabilityStarts DateTime The start time of the availability window. Use this property to control the exact time when this content is available to users.
availabilityEnds DateTime The end time of the availability window. Use this property to control the exact time when this content is no longer available to users.
eligibleRegion Country The country that's eligible for the Offer. Use this property to control the country or region where this content should or shouldn't be available.
requiresSubscription MediaSubscription The subscription package required to access the content. If your service offers multiple subscription packages, this property is required. If your service is free, or there's only a single tier of subscription service, then you can skip this property.
Country

The Country entity-type is associated with the potentialAction.actionAccessibilityRequirement.eligibleRegion property.

Property Expected type Description
@type Text Required: Always set this property to Country.
name Text Required: The ISO 3166-1 alpha-2 country code.
MediaSubscription

The MediaSubscription entity-type is associated with the potentialAction.actionAccessibilityRequirement.requiresSubscription property.

Property Expected type Description
@type Text Required: Always set this property to MediaSubscription.
@id Text Required: A globally unique ID for the subscription package in a URI format. The ID must be stable and not change over time. It's treated as an opaque string and doesn't have to be a working link.
name Text Required: The name of the subscription package. For example, "G-Radio Premium" or "A-Radio Basic."
expectsAcceptanceOf Offer The Offer type associated with the purchase of the Media Subscription. This property is used to express the price of the subscription.
Offer

The Offer entity-type is associated with the potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf property.

Property Expected type Description
@type Text Required: Always set this property to Offer.
price Number Required: The price of the subscription.
priceCurrency Text Required: The currency of the price in a three-letter ISO 4217 format.
seller Organization The organization that offers the subscription or purchase of the action. Use the same schema as described in the Organization section.

The following are ListenAction examples:

UNIVERSAL DEEP LINK

"potentialAction": {
    "@type": "ListenAction",
    "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://www.tjradio.org/?streamStationId=170",
        "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/AndroidTVPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleAudioCast",
            "http://schema.googleapis.com/GoogleVideoCast"
        ]
    },
    "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "NoLoginRequired",
        "availabilityStarts": "2018-04-01T11:01:00-04:00",
        "availabilityEnds": "2018-06-30T23:59:00-04:00",
        "eligibleRegion": {
            "@type": "Country",
            "name": "US"
        }
    }
},

PLATFORM SPECIFIC

"potentialAction": {
    "@type": "ListenAction",
    "target": [
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjradio.org/?streamStationId=170",
            "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/MobileWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/AndroidTVPlatform",
                "http://schema.org/IOSPlatform"
            ]
        },
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjradio.org/castlink?streamStationId=170",
            "actionPlatform": [
                "http://schema.googleapis.com/GoogleAudioCast",
                "http://schema.googleapis.com/GoogleVideoCast"
            ]
        }
    ],
    "actionAccessibilityRequirement": [
        {
            "@type": "ActionAccessSpecification",
            "category": "NoLoginRequired",
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": [
                {
                    "@type": "Country",
                    "name": "IN"
                },
                {
                    "@type": "Country",
                    "name": "GB"
                }
            ]
        },
        {
            "@type": "ActionAccessSpecification",
            "category": "Subscription",
            "requiresSubscription": {
                "@type": "MediaSubscription",
                "@id": "http://www.example.com/packages/basic-pack",
                "name": "G-Radio Basic Pack",
                "expectsAcceptanceOf": {
                    "@type": "Offer",
                    "price": 8.99,
                    "priceCurrency": "USD"
                }
            },
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": {
                "@type": "Country",
                "name": "US"
            }
        }
    ]
},

See the following pages for more information on topics related to the properties described on this page: