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
@context
["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.@id
@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.
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
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
alternateName
keywords
property instead. Use an array to list the names in different languages. For an example, see Multiple regions and languages
.callSign
broadcastDisplayName
description
slogan
logo
broadcastFrequency
INTERNET_STREAM
string. For details and examples, see the BroadcastFrequencySpecification
section.areaServed
broadcastAffiliateOf
broadcaster
parentService
potentialAction
popularityScore
0
.inLanguage
keywords
identifier
sameAs
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. The value must be one of: "FM", "AM", "HD", "DAB" or "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 a RadioBroadcastService
example:
"parentService"
:
{
"@type"
:
"RadioBroadcastService"
,
"@id"
:
"https://www.tjradio.org/stations?id=10"
,
"name"
:
"GQED-FM"
,
"sameAs"
:
"https://en.vikibedia.org/wiki/GQED-FM"
},
ImageObject
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 ImageObject
examples:
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.
propertyID
-
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
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.
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
ActionAccessSpecification
The ActionAccessSpecification
entity-type is associated with the potentialAction.actionAccessibilityRequirement
property.
category
-
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
availabilityEnds
eligibleRegion
Offer
. Use this property to control the country or region where this content should or shouldn't be available.requiresSubscription
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"
}
}
]
},
Full feed example
In this full feed example, we present a hypothetical radio data provider: TJ_RADIO. TJ_RADIO provides us with listen actions for radio data, along with the affiliation and ownership information. In this feed, 3 radio networks (provide content to affiliate stations) are presented GPR, GRI and G-music. Additionally, 3 radio stations are presented: GQED, GQEI and G-music.
- GQED is owned by GQED Inc and GPCB, two separate organizations. Also, GQED is affiliated to GPR, as it broadcasts some of the content created by GPR and GPI.
- GQEI is owned by GQED Inc and GPCB also. It is a repeater/translator station of GQED, serving a different area. GQEI is also affiliated to GPR and GPI.
- G-music is an international station, which is owned by GRJ and affiliated to the radio network G-music (a different entity with the same name as the station). G-music stations are across theacross all the country and broadcast some of the content created by the radio network G-music.
Related pages
See the following pages for more information on topics related to the properties described on this page: