Skip to main content
Every article gets exactly one content type label from NLP analysis: the kind of page it is, independent of what it is about. Labels work in all languages. The label is returned in nlp.content_type, and the content_type parameter filters on it. Use it to keep straight reporting and leave out press releases, shopping pages, or automatically generated content that local sources also publish.

Content type values

The first three, news_report, analysis, and interview, are news. The rest are other kinds of pages that news sites also publish.
Some pages sit between two labels, such as an analysis piece and an opinion column, or a story about a press release and the press release itself. In these cases the label can differ from what a person would pick. Telling news from the other kinds of pages is more reliable than the exact label.
The content_type parameter also accepts two shortcuts:
  • news: news_report, analysis, and interview.
  • all: no content type filter. This is the same as not setting content_type.

Filter by content type

The content_type parameter works on all search and latest headlines endpoints: Pass one or more values as a comma-separated string or an array. Values are case-insensitive, and an article is returned if it matches any of them:
An unknown value returns a 422 error that lists the accepted values.

Availability

Content type labels are available for articles from October 17, 2026. Later in Q4 2026, articles back to January 1, 2026, will be labelled too.
Articles without a label are left out whenever content_type is set, so a filtered request over an older date range can return fewer articles. Without content_type, all articles are returned as before.

Content type in the response

Each article includes its label in the nlp object:
nlp.content_type is null for articles that have no label yet. See Availability.