Content API Query Reference
The Content API is the preferred mechanism for querying reader-facing data in Arc XP. The Content API returns a “denormalized” view of documents created in Arc XP applications. For example, stories saved in Composer contain metadata for all embedded photos from Photo Center when viewed in Content API.
The Content API offers parameterized filtering that enables you to serve specific slices of content, such as the top 20 most recently published stories with the “news” tag. Content API is not intended to serve as a site search replacement. We encourage you to use Queryly to power open-ended site search experiences. If you attempt to leverage the Content API for open-ended queries, you can quickly reach your rate limit and begin seeing 429 HTTP error codes.
Do not take direct input from URLs, query parameters, or other input fields on public sites and directly map that to queries in the Content API.
Query Languages
Queries in the Content API are powered by Opensearch 1.3.
To query Content API, you can use either the Simple Query String Syntax by including your query as q parameter or the extended Query DSL by including your query JSON as the body
query parameter. In both cases, you must URL encode your queries and include them as a query parameter in a GET
request.
Unsupported Queries
Some queries supported in Elasticsearch’s Query DSL are more taxing on Content API than others. For this reason, Content API does not support aggregation queries in Content API’s body parameter. Content API rejects any Query DSL sent using an aggregation query and returns a 400 error. Aggregation queries are denoted in Elasticsearch Query DSL as aggregations
or aggs
.
Searchable Text Fields
Some ANS text fields are analyzed. An analyzed field is available for full-text search. An analyzed field is tokenized, which means that the value of the field ise broken into distinct words so that each word can be matched on individually. For example, if the value of a field is “the quick brown fox jumps over the lazy dog” then it is possible to match on that field by just searching for “fox” or “dog.”
The list of fields analyzed by Content API is:
subtype
language
copyright
location
address.post_office_box
address.extended_address
address.street_address
address.locality
address.region
address.postal_code
address.country_name
editor_note
status
headlines.basic
subheadlines.basic
credits.by.name
credits.by.org
credits.by.image.subtitle
credits.by.image.caption
credits.by.bio
credits.by.url
credits.by.social_links.site
credits.by.slug
credits.host_talent.name
credits.host_talent.org
credits.host_talent.bio
credits.contributors.name
credits.contributors.org
credits.contributors.bio
credits.affiliation.name
credits.affiliation.org
credits.affiliation.bio
taxonomy.keywords.keyword
taxonomy.keywords.tag
taxonomy.topics.name
taxonomy.auxiliaries.name
taxonomy.named_entities.name
taxonomy.tags.text
taxonomy.tags.description
taxonomy.primary_site.name
taxonomy.primary_site.description
taxonomy.sites.name
taxonomy.sites.description
taxonomy.primary_section.name
taxonomy.primary_section.description
taxonomy.sections.name
taxonomy.sections.description
taxonomy.seo_keywords
promo_items.basic.headlines.basic
promo_items.basic.subheadlines.basic
promo_items.basic.description.basic
promo_items.basic.content
promo_items.basic.subtitle
promo_items.basic.caption
promo_items.basic.credits.by.name
promo_items.basic.credits.by.org
promo_items.basic.credits.by.image.subtitle
promo_items.basic.credits.by.image.caption
promo_items.basic.credits.bio
promo_items.basic.credits.url
promo_items.basic.credits.social_links.site
promo_items.basic.credits.slug
promo_items.basic.transcript
promo_items.basic.rating
promo_items.basic.video_type
promo_items.basic.youtube_content_id
promo_items.basic.subtitles.urls.format
promo_items.basic.promo_image.subtitle
promo_items.basic.promo_image.caption
promo_items.basic.promo_image.credits.by.name
promo_items.basic.promo_image.credits.by.org
promo_items.basic.promo_image.credits.by.image.subtitle
promo_items.basic.promo_image.credits.by.image.caption
promo_items.basic.promo_image.credits.by.bio
promo_items.basic.promo_image.credits.by.url
promo_items.basic.promo_image.credits.by.social_links.site
promo_items.basic.promo_image.credits.by.slug
related_content.basic.headlines.basic
related_content.basic.subheadlines.basic
related_content.basic.description.basic
related_content.basic.content
related_content.basic.subtitle
related_content.basic.caption
related_content.basic.credits.by.name
related_content.basic.credits.by.org
related_content.basic.credits.by.image.subtitle
related_content.basic.credits.by.image.caption
related_content.basic.credits.by.bio
related_content.basic.credits.by.url
related_content.basic.credits.by.social_links.site
related_content.basic.credits.by.slug
related_content.basic.transcript
related_content.basic.rating
related_content.basic.video_type
related_content.basic.youtube_content_id
related_content.basic.subtitles.urls.format
related_content.basic.promo_image.subtitle
related_content.basic.promo_image.caption
related_content.basic.promo_image.credits.by.name
related_content.basic.promo_image.credits.by.org
related_content.basic.promo_image.credits.by.image.subtitle
related_content.basic.promo_image.credits.by.image.caption
related_content.basic.promo_image.credits.by.bio
related_content.basic.promo_image.credits.by.url
related_content.basic.promo_image.credits.by.social_links.site
related_content.basic.promo_image.credits.by.slug
owner.name
planning.budget_line
source.system
source.name
slug
label.basic.text
corrections.text
content_elements.subtype
content_elements.channels
content_elements.content
content_elements.language
content_elements.level
content_elements.list_type
content_elements.text
content_elements.headlines.basic
content_elements.subheadlines.basic
content_elements.items.type
content_elements.items.subtype
content_elements.items.list_type
content_elements.items.channels
content_elements.items.content
content_elements.items.items.types
content_elements.items.items.subtype
content_elements.items.items.list_type
content_elements.items.items.channels
content_elements.items.items.content
content_elements.items.items.items.type
content_elements.items.items.items.subtype
content_elements.items.items.items.list_type
content_elements.items.items.items.channels
content_elements.items.items.items.content
content_elements.providerUrl
content_elements.objectUrl
content_elements.header.type
content_elements.header.subtype
content_elements.header.channels
content_elements.header.content
content_elements.rows.type
content_elements.rows.subtype
content_elements.rows.channels
content_elements.rows.content
content_elements.subtitle
content_elements.caption
content_elements.credits.by.name
content_elements.credits.by.org
content_elements.credits.by.image.subtitle
content_elements.credits.by.image.caption
content_elements.credits.by.bio
content_elements.credits.by.url
content_elements.credits.by.social_links.site
content_elements.credits.by.slug
content_elements.transcript
content_elements.rating
content_elements.youtube_content_id
content_elements.subtitles.urls.format
content_elements.promo_image.subtitle
content_elements.promo_image.caption
content_elements.promo_image.credits.by.name
content_elements.promo_image.credits.by.org
content_elements.promo_image.credits.by.image.subtitle
content_elements.promo_image.credits.by.image.caption
content_elements.promo_image.credits.by.bio
content_elements.promo_image.credits.by.url
content_elements.promo_image.credits.by.social_links.site
content_elements.promo_image.credits.by.slug
content_elements.source_url
content_elements.mimetype
content_elements.label.basic.text
content_elements.citation.type
content_elements.citation.subtype
content_elements.citation.channels
content_elements.citation.content
content_elements.content_elements.subtype
content_elements.content_elements.channels
content_elements.content_elements.subtitle
content_elements.content_elements.caption
content_elements.content_elements.credits.by.name
content_elements.content_elements.credits.by.org
content_elements.content_elements.credits.by.image.subtitle
content_elements.content_elements.credits.by.image.caption
content_elements.content_elements.credits.by.bio
content_elements.content_elements.credits.by.url
content_elements.content_elements.credits.by.social_links.site
content_elements.content_elements.credits.by.slug
content_elements.content
Filterable Text Fields
Some ANS text fields are indexed and not analyzed. You can query an indexed field that is not analyzed using exact value matches only.
The list of ANS fields indexed but not analyzed by Content API is:
version
type
canonical_website
canonical_url
short_url
location.raw
headlines.basic.raw
credits.by._id
credits.by.type
credits.by.version
credits.by.image._id
credits.by.image.type
credits.by.image.version
credits.by.image.url
credits.by.social_links.url
credits.by.referent.type
credits.by.referent.service
credits.by.referent.Id
credits.by.referent.provider
credits.host_talent._id
credits.host_talent.type
credits.host_talent.version
credits.host_talent.slug
credits.contributors._id
credits.contributors.type
credits.contributors.version
credits.contributors.slug
credits.affiliation._id
credits.affiliation.type
credits.affiliation.version
credits.affiliation.slug
taxonomy.topics._id
taxonomy.topics.uuid
taxonomy.auxiliaries._id
taxonomy.auxiliaries.uuid
taxonomy.named_entities._id
taxonomy.named_entities.type
taxonomy.tags._id
taxonomy.tags.text.raw
taxonomy.tags.slug
taxonomy.primary_site._id
taxonomy.primary_site.type
taxonomy.primary_site.version
taxonomy.primary_site.path
taxonomy.primary_site.parent_id
taxonomy.primary_site.referent.type
taxonomy.primary_site.referent.service
taxonomy.primary_site.referent.id
taxonomy.primary_site.referent.provider
taxonomy.sites._id
taxonomy.sites.type
taxonomy.sites.version
taxonomy.sites.path
taxonomy.sites.parent_id
taxonomy.sites.referent.type
taxonomy.sites.service
taxonomy.sites.id
taxonomy.sites.provider
taxonomy.primary_section._id
taxonomy.primary_section._website
taxonomy.primary_section._website_section_id
taxonomy.primary_section.type
taxonomy.primary_section.version
taxonomy.primary_section.path
taxonomy.primary_section.parent_id
taxonomy.primary_section.parent.default
taxonomy.sections._id
taxonomy.sections._website
taxonomy.sections._website_section_id
taxonomy.sections.type
taxonomy.sections.version
taxonomy.sections.path
taxonomy.sections.parent_id
taxonomy.sections.parent.default
taxonomy.stock_symbols
promo_items.basic.url
promo_items.basic.credits.by._id
promo_items.basic.credits.by.type
promo_items.basic.credits.by.version
promo_items.basic.credits.by.image._id
promo_items.basic.credits.by.image.type
promo_items.basic.credits.by.image.version
promo_items.basic.credits.by.image.url
promo_items.basic.credits.by.social_links.url
promo_items.basic.credits.by.referent.type
promo_items.basic.credits.by.referent.service
promo_items.basic.credits.by.referent.id
promo_items.basic.credits.by.referent.provider
promo_items.basic.streams.audio_codec
promo_items.basic.streams.video_codec
promo_items.basic.streams.stream_type
promo_items.basic.streams.url
promo_items.basic.streams.bitrate
promo_items.basic.streams.provider
promo_items.basic.subtitles.urls.url
promo_items.basic.promo_image.url
promo_items.basic.promo_image.credits.by._id
promo_items.basic.promo_image.credits.by.type
promo_items.basic.promo_image.credits.by.version
promo_items.basic.promo_image.credits.by.image._id
promo_items.basic.promo_image.credits.by.image.type
promo_items.basic.promo_image.credits.by.image.version
promo_items.basic.promo_image.credits.by.image.url
promo_items.basic.promo_image.credits.by.social_links.url
promo_items.basic.promo_image.credits.by.referent.type
promo_items.basic.promo_image.credits.by.referent.service
promo_items.basic.promo_image.credits.by.referent.id
promo_items.basic.promo_image.credits.by.referent.provider
promo_items.basic.referent.type
promo_image.basic.referent.service
promo_image.basic.referent.id
promo_image.basic.referent.provider
related_content.basic.url
related_content.basic.credits.by._id
related_content.basic.credits.by.type
related_content.basic.credits.by.version
related_content.basic.credits.by.image._id
related_content.basic.credits.by.image.type
related_content.basic.credits.by.image.version
related_content.basic.credits.by.image.url
related_content.basic.credits.by.social_links.url
related_content.basic.credits.by.referent.type
related_content.basic.credits.by.referent.service
related_content.basic.credits.by.referent.id
related_content.basic.credits.by.referent.provider
related_content.basic.streams.audio_codec
related_content.basic.streams.video_codec
related_content.basic.streams.stream_type
related_content.basic.streams.url
related_content.basic.streams.provider
related_content.basic.subtitles.urls.url
related_content.basic.promo_image.url
related_content.basic.promo_image.credits.by._id
related_content.basic.promo_image.credits.by.type
related_content.basic.promo_image.credits.by.version
related_content.basic.promo_image.credits.by.image._id
related_content.basic.promo_image.credits.by.image.type
related_content.basic.promo_image.credits.by.image.version
related_content.basic.promo_image.credits.by.image.url
related_content.basic.promo_image.credits.by.social_links.url
related_content.basic.promo_image.credits.by.referent.type
related_content.basic.promo_image.credits.by.referent.service
related_content.basic.promo_image.credits.by.referent.id
related_content.basic.promo_image.credits.by.referent.provider
related_content.basic.referent.type
related_content.basic.referent.service
related_content.basic.referent.id
related_content.basic.referent.provider
planning.story_length.character_encoding
revision.revision_id
revision.parent_id
revision.user_id
revision.branch
revision.published
content_restrictions.content_code
content_restrictions.geo.restrictions.restrictions_id
source.edit_url
source.source_id
source.source_type
label.basic.url
label.basic.display
corrections.correction_type
content_elements._id
content_elements.type
content_elements.alignment
content_elements.correction_type
content_elements.units
content_elements.endorsement
content_elements.items._id
content_elements.items.alignment
content_elements.items.items._id
content_elements.items.items.alignment
content_elements.header._id
content_elements.header.alignment
content_elements.rows._id
content_elements.rows.alignment
content_elements.referent.type
content_elements.referent.service
content_elements.referent.id
content_elements.referent.provider
content_elements.url
content_elements.credits.by._id
content_elements.credits.by.type
content_elements.credits.by.version
content_elements.credits.by.image._id
content_elements.credits.by.image.type
content_elements.credits.by.image.version
content_elements.credits.by.image.url
content_elements.credits.by.social_links.url
content_elements.credits.by.referent.type
content_elements.credits.by.referent.service
content_elements.credits.by.referent.id
content_elements.credits.by.referent.provider
content_elements.video_type
content_elements.streams.audio_codec
content_elements.streams.video_codec
content_elements.stream.stream_type
content_elements.streams.url
content_elements.streams.provider
content_elements.subtitles.urls.url
content_elements.promo_image.url
content_elements.promo_image.credits.by._id
content_elements.promo_image.credits.by.type
content_elements.promo_image.credits.by.version
content_elements.promo_image.credits.by.image._id
content_elements.promo_image.credits.by.image.version
content_elements.promo_image.credits.by.image.type
content_elements.promo_image.credits.by.image.url
content_elements.promo_image.credits.by.social_links.url
content_elements.promo_image.credits.by.referent.type
content_elements.promo_image.credits.by.referent.service
content_elements.promo_image.credits.by.referent.id
content_elements.promo_image.credits.by.referent.provider
content_elements.label.basic.url
content_elements.label.basic.display
content_elements.citation._id
content_elements.citation.alignment
content_elements.content_elements._id
content_elements.content_elements.type
content_elements.content_elements.alignment
content_elements.content_elements.url
content_elements.content_elements.credits.by._id
content_elements.content_elements.credits.by.type
content_elements.content_elements.credits.by.version
content_elements.content_elements.credits.by.image._id
content_elements.content_elements.credits.by.image.type
content_elements.content_elements.credits.by.image.version
content_elements.content_elements.credits.by.image.url
content_elements.content_elements.credits.by.social_links.url
content_elements.content_elements.credits.by.referent.id
content_elements.content_elements.credits.by.referent.service
content_elements.content_elements.credits.by.referent.provider
content_elements.content_elements.credits.by.referent.type
content_aliases
Nested Fields
Nested fields in Elasticsearch are indexed differently and require some Distinct Query Language.
The list of ANS fields that are nested by Content API is:
taxonomy.sections
pitches.platform
pitches.publication
publishing.editions
publishing.scheduled_operations.publish_edition
publishing.scheduled_operations.unpublish_edition
Other Fields
Some ANS fields are also queryable independent of their type. The following fields are of the queryable data type in Content API.
Dates
created_date
last_updated_date
display_date
publish_date
first_publish_date
publishing.editions.edition_date
publishing.editions.edition_first_publish_date
publishing.editions.edition_display_date
publishing.editions.edition_publish_date
Boolean
content_elements[].autoplay
content_elements[].controls
content_elements[].licensable
content_elements[].loop
content_elements[].preload
content_elements[].video_type
label.basic.display
owner.sponsored
planning.scheduling.will_have_gallery
planning.scheduling.will_have_graphic
planning.scheduling.will_have_image
planning.scheduling.will_have_video
promo_items.basic.licensable
related_content.basic.licensable
revision.published
syndication.external_distribution
syndication.search
taxonomy.primary_section.primary
taxonomy.sections[].primary
Numbers
content_elements[].duration
content_elements[].height
content_elements[].level
content_elements[].streams.bitrate
content_elements[].streams.height
content_elements[].streams.width
content_elements[].subtitles.confidence
content_elements[].width
promo_items.basic.duration
promo_items.basic.height
promo_items.basic.width
promo_items.basic.streams.bitrate
promo_items.basic.streams.height
promo_items.basic.streams.width
promo_items.basic.subtitles.confidence
taxonomy.auxiliaries.uuid
taxonomy.keywords.frequency
taxonomy.keywords.score
taxonomy.topics.score
taxonomy.topics.uuid