> ## Documentation Index
> Fetch the complete documentation index at: https://newscatcherinc-docs.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve latest headlines

> Retrieves the latest headlines for the specified time period. You can filter results by language, country, source, and more.



## OpenAPI

````yaml news-api-v3 get /api/latest_headlines
openapi: 3.1.0
info:
  title: NewsCatcher News API
  description: >
    NewsCatcher News API provides programmatic access to a continuously updated
    global news index. It includes endpoints for article search, latest
    headlines, breaking news, author search, aggregation counts, and source
    discovery.


    ## Key features


    - **Full-text search**: Query articles by keyword, phrase, language,
    country, source, publication date, sentiment, and more using Boolean
    operators and advanced filters.

    - **NLP enrichment**: Articles include theme classification, sentiment
    scores, and named entity recognition (people, organizations, locations).

    - **Article clustering**: Group similar articles into clusters to reduce
    noise and surface unique stories.

    - **Deduplication**: Exclude duplicate articles from results to keep
    datasets clean and relevant.

    - **Source intelligence**: Discover and filter news sources by domain, type,
    rank, and geographic origin.


    For documentation, integration guides, and SDKs, visit the [developer
    portal](https://wwwnewscatcherapi.com/docs).
  termsOfService: https://newscatcherapi.com/terms-of-service
  contact:
    name: Maksym Sugonyaka
    email: maksym@newscatcherapi.com
  version: 3.24.0
servers:
  - url: https://v3-api.newscatcherapi.com
    description: News API production server
security:
  - ApiKeyAuth: []
tags:
  - name: Search
    description: Operations to search for articles.
    externalDocs:
      description: Search for articles by keyword, language, country, source, and more.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/search/search-articles-get
  - name: LatestHeadlines
    description: Operations to retrieve latest headlines.
    externalDocs:
      description: >-
        Retrieve the latest headlines since a specified date, with filtering
        options.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/latest-headlines/retrieve-latest-headlines-get
  - name: BreakingNews
    description: Operations to retrieve breaking news articles.
    externalDocs:
      description: Retrieve breaking news articles.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/breaking-news/breaking-news-get
  - name: Authors
    description: Operations to search by author.
    externalDocs:
      description: Search for articles by author.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/authors/search-articles-by-author-get
  - name: SearchByLink
    description: Operations to search by link or ID.
    externalDocs:
      description: Search for articles by link or ID.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/search-by-link/search-articles-by-links-or-ids-get
  - name: Sources
    description: Operations to retrieve news sources.
    externalDocs:
      description: >-
        Retrieve the list of available sources, filtered by language and
        country.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/sources/retrieve-sources-get
  - name: AggregationCount
    description: Operations to aggregate news counts.
    externalDocs:
      description: >-
        Aggregate news counts based on specified criteria such as keyword,
        language, country, source, and more.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/aggregation-count/get-aggregation-count-by-interval-get
  - name: Subscription
    description: Operations to get subscription info.
    externalDocs:
      description: Retrieve information about your subscription plan.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/subscription/retrieve-subscription-plan-information-get
externalDocs:
  description: Find out more about NewsCatcher News API
  url: https://www.newscatcherapi.com/docs
paths:
  /api/latest_headlines:
    get:
      tags:
        - LatestHeadlines
      summary: Retrieve latest headlines
      description: >-
        Retrieves the latest headlines for the specified time period. You can
        filter results by language, country, source, and more.
      operationId: latestHeadlinesGet
      parameters:
        - $ref: '#/components/parameters/When'
        - $ref: '#/components/parameters/ByParseDate'
        - $ref: '#/components/parameters/SortBy'
        - $ref: '#/components/parameters/Lang'
        - $ref: '#/components/parameters/NotLang'
        - $ref: '#/components/parameters/Countries'
        - $ref: '#/components/parameters/NotCountries'
        - $ref: '#/components/parameters/PredefinedSources'
        - $ref: '#/components/parameters/Sources'
        - $ref: '#/components/parameters/NotSources'
        - $ref: '#/components/parameters/NotAuthorName'
        - $ref: '#/components/parameters/RankedOnly'
        - $ref: '#/components/parameters/IsHeadline'
        - $ref: '#/components/parameters/IsOpinion'
        - $ref: '#/components/parameters/IsPaidContent'
        - $ref: '#/components/parameters/ParentUrl'
        - $ref: '#/components/parameters/AllLinks'
        - $ref: '#/components/parameters/AllDomainLinks'
        - $ref: '#/components/parameters/AllLinksText'
        - $ref: '#/components/parameters/WordCountMin'
        - $ref: '#/components/parameters/WordCountMax'
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/ClusteringEnabled'
        - $ref: '#/components/parameters/ClusteringVariable'
        - $ref: '#/components/parameters/ClusteringThreshold'
        - $ref: '#/components/parameters/IncludeTranslationFields'
        - $ref: '#/components/parameters/IncludeNlpData'
        - $ref: '#/components/parameters/HasNlp'
        - $ref: '#/components/parameters/Theme'
        - $ref: '#/components/parameters/NotTheme'
        - $ref: '#/components/parameters/OrgEntityName'
        - $ref: '#/components/parameters/PerEntityName'
        - $ref: '#/components/parameters/LocEntityName'
        - $ref: '#/components/parameters/MiscEntityName'
        - $ref: '#/components/parameters/TitleSentimentMin'
        - $ref: '#/components/parameters/TitleSentimentMax'
        - $ref: '#/components/parameters/ContentSentimentMin'
        - $ref: '#/components/parameters/ContentSentimentMax'
        - $ref: '#/components/parameters/IptcTags'
        - $ref: '#/components/parameters/NotIptcTags'
        - $ref: '#/components/parameters/IabTags'
        - $ref: '#/components/parameters/NotIabTags'
        - $ref: '#/components/parameters/CustomTags'
        - $ref: '#/components/parameters/RobotsCompliant'
      responses:
        '200':
          $ref: '#/components/responses/SearchResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '408':
          $ref: '#/components/responses/RequestTimeoutError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  parameters:
    When:
      name: when
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/When'
    ByParseDate:
      name: by_parse_date
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ByParseDate'
    SortBy:
      name: sort_by
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/SortBy'
      example: date
    Lang:
      description: >
        The language(s) of the search. The only accepted format is the
        two-letter [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) code. To
        select multiple languages, use a comma-separated string.


        To learn more, see [Enumerated parameters >
        Language](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#language-lang-and-not-lang).
      name: lang
      in: query
      required: false
      schema:
        type: string
        example: en,es
    NotLang:
      description: >
        The language(s) to exclude from the search. The accepted format is the
        two-letter [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) code. To
        exclude multiple languages, use a comma-separated string. 


        To learn more, see [Enumerated parameters >
        Language](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#language-lang-and-not-lang).
      name: not_lang
      in: query
      required: false
      schema:
        type: string
        example: fr,de
    Countries:
      description: >
        The countries where the news publisher is located. The accepted format
        is the two-letter [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. To
        select multiple countries, use a comma-separated string.


        To learn more, see [Enumerated parameters >
        Country](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#country-country-and-not-country).
      name: countries
      in: query
      required: false
      schema:
        type: string
        example: US,CA
    NotCountries:
      description: >
        The publisher location countries to exclude from the search. The
        accepted format is the two-letter [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. To
        exclude multiple countries, use a comma-separated string. 


        To learn more, see [Enumerated parameters >
        Country](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#country-country-and-not-country).
      name: not_countries
      in: query
      required: false
      schema:
        type: string
        example: UK,FR
    PredefinedSources:
      description: >
        Predefined top news sources per country. 


        Format: start with the word `top`, followed by the number of desired
        sources, and then the two-letter country code [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). 


        Multiple countries with the number of top sources can be specified as a
        comma-separated string.
      name: predefined_sources
      in: query
      required: false
      schema:
        type: string
        example: top 50 US, top 20 GB
    Sources:
      description: >
        One or more news sources to narrow down the search. The format must be a
        domain URL. Subdomains, such as `finance.yahoo.com`, are also
        acceptable.To specify multiple sources, use a comma-separated string.
      name: sources
      in: query
      required: false
      schema:
        type: string
        example: nytimes.com,finance.yahoo.com
    NotSources:
      description: >
        The news sources to exclude from the search. To exclude multiple
        sources, use a comma-separated string.
      name: not_sources
      in: query
      required: false
      schema:
        type: string
        example: cnn.com,wsj.com
    NotAuthorName:
      description: >
        The list of author names to exclude from your search. To exclude
        articles by specific authors, use a comma-separated string.
      name: not_author_name
      in: query
      required: false
      schema:
        type: string
        example: John Doe, Jane Doe
    RankedOnly:
      name: ranked_only
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/RankedOnly'
    IsHeadline:
      name: is_headline
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IsHeadline'
    IsOpinion:
      name: is_opinion
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IsOpinion'
    IsPaidContent:
      name: is_paid_content
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IsPaidContent'
    ParentUrl:
      description: >
        The categorical URL(s) to filter your search. To filter your search by
        multiple categorical URLs, use a comma-separated string.
      name: parent_url
      in: query
      required: false
      schema:
        type: string
        example: wsj.com/politics,wsj.com/tech
    AllLinks:
      description: >
        The complete URL(s) mentioned in the article. For multiple URLs, use a
        comma-separated string.


        For more details, see [Search by
        URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).
      name: all_links
      in: query
      required: false
      schema:
        type: string
        example: https://aiindex.stanford.edu/report,https://www.stateof.ai
    AllDomainLinks:
      description: >
        The domain(s) mentioned in the article. For multiple domains, use a
        comma-separated string.


        For more details, see [Search by
        URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).
      name: all_domain_links
      in: query
      required: false
      schema:
        type: string
        example: who.int,nih.gov
    AllLinksText:
      description: >
        The text content of links mentioned in the article. Searches for links
        where the anchor text contains the specified terms. For multiple terms,
        use a comma-separated string.


        **Note**: When this parameter is used, the response includes the
        `all_links_data` field with detailed link information.


        To learn more, see [Search by
        URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).
      name: all_links_text
      in: query
      required: false
      schema:
        type: string
        example: Nvidia,Tesla
    WordCountMin:
      name: word_count_min
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/WordCountMin'
    WordCountMax:
      name: word_count_max
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/WordCountMax'
    Page:
      name: page
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/Page'
    PageSize:
      name: page_size
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/PageSize'
    ClusteringEnabled:
      name: clustering_enabled
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ClusteringEnabled'
    ClusteringVariable:
      name: clustering_variable
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ClusteringVariable'
    ClusteringThreshold:
      name: clustering_threshold
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ClusteringThreshold'
    IncludeTranslationFields:
      name: include_translation_fields
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IncludeTranslationFields'
    IncludeNlpData:
      name: include_nlp_data
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IncludeNlpData'
    HasNlp:
      name: has_nlp
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/HasNlp'
    Theme:
      name: theme
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/Theme'
    NotTheme:
      name: not_theme
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/NotTheme'
    OrgEntityName:
      name: ORG_entity_name
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/OrgEntityName'
    PerEntityName:
      name: PER_entity_name
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/PerEntityName'
    LocEntityName:
      name: LOC_entity_name
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/LocEntityName'
    MiscEntityName:
      name: MISC_entity_name
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/MiscEntityName'
    TitleSentimentMin:
      name: title_sentiment_min
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/TitleSentimentMin'
    TitleSentimentMax:
      name: title_sentiment_max
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/TitleSentimentMax'
    ContentSentimentMin:
      name: content_sentiment_min
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ContentSentimentMin'
    ContentSentimentMax:
      name: content_sentiment_max
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ContentSentimentMax'
    IptcTags:
      description: >
        Filters articles based on International Press Telecommunications Council
        (IPTC) media topic tags. To specify multiple IPTC tags, use a
        comma-separated string of tag IDs. 


        **Note**: The `iptc_tags` parameter is only available in the
        `v3_nlp_iptc_tags` subscription plan.


        To learn more, see [IPTC Media Topic
        NewsCodes](https://www.iptc.org/std/NewsCodes/treeview/mediatopic/mediatopic-en-GB.html).
      name: iptc_tags
      in: query
      required: false
      schema:
        type: string
        example: 20000199,20000209
    NotIptcTags:
      description: >
        Inverse of the `iptc_tags` parameter. Excludes articles based on
        International Press Telecommunications Council (IPTC) media topic tags.
        To specify multiple IPTC tags to exclude, use a comma-separated string
        of tag IDs.


        **Note**: The `not_iptc_tags` parameter is only available in the
        `v3_nlp_iptc_tags` subscription plan.


        To learn more, see [IPTC Media Topic
        NewsCodes](https://www.iptc.org/std/NewsCodes/treeview/mediatopic/mediatopic-en-GB.html).
      name: not_iptc_tags
      in: query
      required: false
      schema:
        type: string
        example: 20000205,20000209
    IabTags:
      description: >
        Filters articles based on Interactive Advertising Bureau (IAB) content
        categories. These tags provide a standardized taxonomy for digital
        advertising content categorization. To specify multiple IAB categories,
        use a comma-separated string.


        **Note**: The `iab_tags` parameter is only available in the
        `v3_nlp_iptc_tags` subscription plan.


        To learn more, see the [IAB Content
        taxonomy](https://iabtechlab.com/standards/content-taxonomy/).
      name: iab_tags
      in: query
      required: false
      schema:
        type: string
        example: Business,Events
    NotIabTags:
      description: >
        Inverse of the `iab_tags` parameter. Excludes articles based on
        Interactive Advertising Bureau (IAB) content categories. These tags
        provide a standardized taxonomy for digital advertising content
        categorization. To specify multiple IAB categories to exclude, use a
        comma-separated string.


        **Note**: The `not_iab_tags` parameter is only available in the
        `v3_nlp_iptc_tags` subscription plan.


        To learn more, see the [IAB Content
        taxonomy](https://iabtechlab.com/standards/content-taxonomy/).
      name: not_iab_tags
      in: query
      required: false
      schema:
        type: string
        example: Agriculture,Metals
    CustomTags:
      description: >
        Filters articles based on provided taxonomy that is tailored to your
        specific needs and is accessible only with your API key. To specify
        tags, use the following pattern: 


        - `custom_tags.taxonomy=Tag1,Tag2`, where `taxonomy` is the taxonomy
        name and `Tag1,Tag2` is a comma-separated list of tag names.


        Example: `custom_tags.industry="Manufacturing,Logistics"`


        To learn more, see the [Custom
        tags](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/custom-tags).
      name: custom_tags
      in: query
      required: false
      schema:
        type: string
        example: Tag1,Tag2
    RobotsCompliant:
      name: robots_compliant
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/RobotsCompliant'
  responses:
    SearchResponse:
      description: >-
        A successful response containing articles that match the search
        criteria. When `clustering_enabled` is `true`, returns a Clustered
        Articles Response. Otherwise, returns a Search Response.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/SearchResponseDto'
              - $ref: '#/components/schemas/ClusteredSearchResponseDto'
    BadRequestError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Invalid JSON in request body
            status_code: 400
            status: Bad request
    UnauthorizedError:
      description: Unauthorized - Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: >-
              The 'x-api-token' parameter has an invalid value. Please provide a
              valid API key.
            status_code: 401
            status: Unauthorized
    ForbiddenError:
      description: Forbidden - Server refuses action
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Your plan request date range cannot be greater than 400 days
            status_code: 403
            status: Forbidden
    RequestTimeoutError:
      description: Request timeout
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Request timed out after 30 seconds
            status_code: 408
            status: Request timeout
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Invalid date format
            status_code: 422
            status: Validation error
    RateLimitError:
      description: Too many requests - Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Max API requests concurrency reached
            status_code: 429
            status: Too many requests
    InternalServerError:
      description: Internal server error
      content:
        text/plain:
          schema:
            type: string
          example: Internal Server Error
  schemas:
    When:
      type: string
      default: 7d
      description: |
        The time period for which you want to get the latest headlines.

        Format examples:
        - `7d`: Last seven days
        - `30d`: Last 30 days
        - `1h`: Last hour
        - `24h`: Last 24 hours
      example: 7d
    ByParseDate:
      type: boolean
      default: false
      description: >
        If true, the `from_` and `to_` parameters use article parse dates
        instead of published dates. Additionally, the `parse_date` variable is
        added to the output for each article object.
      example: true
    SortBy:
      type: string
      enum:
        - relevancy
        - date
        - rank
      default: relevancy
      description: |
        The sorting order of the results. Possible values are:
        - `relevancy`: The most relevant results first.
        - `date`: The most recently published results first.
        - `rank`: The results from the highest-ranked sources first.
      example: date
    RankedOnly:
      type: boolean
      default: true
      description: >
        If true, limits the search to sources ranked in the top 1 million online
        websites. If false, includes unranked sources which are assigned a rank
        of 999999.
      example: true
    IsHeadline:
      type: boolean
      description: >
        If true, only returns articles that were posted on the home page of a
        given news domain.
      example: true
    IsOpinion:
      type: boolean
      description: >
        If true, returns only opinion pieces. If false, excludes opinion-based
        articles and returns news only.
      example: true
    IsPaidContent:
      type: boolean
      description: >
        Filters articles by content completeness.


        If false, returns only articles for which full-text content is publicly
        available. If true, returns all indexed articles, including those where
        only partial content is publicly available (e.g., headlines, summaries,
        or preview paragraphs from paywalled sources).


        **Note**: NewsCatcher indexes content that is publicly accessible and
        available for crawling in accordance with publisher access controls
        (e.g., robots.txt and similar mechanisms). For paywalled sources, only
        content that publishers make publicly available (such as headlines,
        summaries, or preview text) is indexed. NewsCatcher does not bypass
        paywalls, authentication systems, or other technical access
        restrictions.
      example: false
    WordCountMin:
      type: integer
      minimum: 0
      description: >
        The minimum number of words an article must contain. To be used for
        avoiding articles with small content.
      example: 300
    WordCountMax:
      type: integer
      minimum: 0
      description: |
        The maximum number of words an article can contain. 
        To be used for avoiding articles with large content.
      example: 1000
    Page:
      type: integer
      minimum: 1
      default: 1
      description: >
        The page number to scroll through the results. Use for pagination, as a
        single API response can return up to 1,000 articles. 


        For details, see [Retrieve large
        datasets](https://www.newscatcherapi.com/docs/news-api/how-to/retrieve-more-than-10k-articles)
      example: 2
    PageSize:
      type: integer
      minimum: 1
      maximum: 1000
      default: 100
      description: |
        The number of articles to return per page.
      example: 50
    ClusteringEnabled:
      type: boolean
      default: false
      description: >
        Determines whether to group similar articles into clusters. If true, the
        API returns clustered results.


        To learn more, see [Clustering news
        articles](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/clustering-news-articles).
      example: true
    ClusteringVariable:
      type: string
      enum:
        - content
        - title
        - summary
      default: content
      deprecated: true
      description: >
        **Deprecated from January 1, 2026 onward.** For articles published on or
        after 2026-01-01, this parameter is ignored. Clustering always uses a
        combined `title + content` embedding generated by the
        Qwen3-Embedding-0.6B model, regardless of the value supplied.


        For articles published before 2026-01-01, this parameter remains
        functional and specifies which part of the article to use for
        clustering:

        - `content`: Uses the full article content (default).

        - `title`: Uses only the article title.

        - `summary`: Uses the article summary.


        To learn more, see [Clustering news
        articles](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/clustering-news-articles).
      example: content
    ClusteringThreshold:
      type: number
      format: float
      exclusiveMinimum: 0
      maximum: 1
      default: 0.7
      description: >
        Sets the similarity threshold for grouping articles into clusters. A
        lower value creates more inclusive clusters, while a higher value
        requires greater similarity between articles.


        For example:

        - `0.6`: Results in larger, more diverse clusters.

        - `0.7`: Balances cluster size and article similarity (default).

        - `0.8`: Creates smaller, tightly related clusters.


        To learn more, see [Clustering news
        articles](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/clustering-news-articles).
      example: 0.7
    IncludeTranslationFields:
      type: boolean
      default: false
      description: >
        If true, includes English translation fields in the response
        (`title_translated_en`, `content_translated_en`, and NLP translation
        fields).
      example: true
    IncludeNlpData:
      type: boolean
      default: false
      description: >
        If true, includes an NLP object for each article in the response. This
        object provides results of NLP analysis, including article theme,
        summary, sentiment, tags, and named entity recognition if available.


        **Note**: NLP data is only available for articles indexed from July 2023
        onward. For articles indexed before July 2023, the `nlp` field is
        returned as an empty object `{}`.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: true
    HasNlp:
      type: boolean
      default: false
      description: >
        If true, filters results to include only articles that have NLP data.


        **Note**: NLP data is only available for articles indexed from July 2023
        onward. Applying this filter to a date range that predates July 2023
        returns zero results.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: true
    Theme:
      type: string
      example: Finance,Tech
      description: >
        Filters articles based on their general topic, as determined by NLP
        analysis. To select multiple themes, use a comma-separated string.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).


        Available options: `Business`, `Economics`, `Entertainment`, `Finance`,
        `Health`, `Politics`, `Science`, `Sports`, `Tech`, `Crime`, `Financial
        Crime`, `Lifestyle`, `Automotive`, `Travel`, `Weather`, `General`.
    NotTheme:
      type: string
      example: Crime,Sports
      description: >
        Inverse of the `theme` parameter. Excludes articles based on their
        general topic, as determined by NLP analysis. To exclude multiple
        themes, use a comma-separated string.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
    OrgEntityName:
      type: string
      description: >
        Filters articles that mention specific organization names, as identified
        by NLP analysis. 


        - To specify multiple organizations, use `AND`, `OR`, `NOT` operators,
        and `\"` escape literals for exact matches. 

        - To search in translations, combine with the translation options of the
        `search_in` parameter (e.g., `title_content_translated`).


        To learn more, see [Search by
        entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).
      example: '"Apple Inc" OR Microsoft'
    PerEntityName:
      type: string
      description: >
        Filters articles that mention specific person names, as identified by
        NLP analysis. 


        - To specify multiple names, use `AND`, `OR`, `NOT` operators, and `\"`
        escape literals for exact matches. 

        - To search in translations, combine with the translation options of the
        `search_in` parameter (e.g., `title_content_translated`).


        To learn more, see [Search by
        entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).
      example: '"Elon Musk" OR "Jeff Bezos"'
    LocEntityName:
      type: string
      description: >
        Filters articles that mention specific location names, as identified by
        NLP analysis.


        - To specify multiple locations, use `AND`, `OR`, `NOT` operators, and
        `\"` escape literals for exact matches. 

        - To search in translations, combine with the translation options of the
        `search_in` parameter (e.g., `title_content_translated`).


        To learn more, see [Search by
        entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).
      example: '"San Francisco" OR "New York City"'
    MiscEntityName:
      type: string
      description: >
        Filters articles that mention other named entities not falling under
        person, organization, or location categories. Includes events,
        nationalities, products, works of art, and more.


        - To specify multiple entities, use `AND`, `OR`, `NOT` operators, and
        `\"` escape literals for exact matches. 

        - To search in translations, combine with the translation options of the
        `search_in` parameter (e.g., `title_content_translated`).


        To learn more, see [Search by
        entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).
      example: AWS OR "Microsoft Azure"
    TitleSentimentMin:
      type: number
      format: float
      minimum: -1
      maximum: 1
      description: >
        Filters articles based on the minimum sentiment score of their titles.


        Range is `-1.0` to `1.0`, where:

        - Negative values indicate negative sentiment.

        - Positive values indicate positive sentiment.

        - Values close to 0 indicate neutral sentiment.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: -0.5
    TitleSentimentMax:
      type: number
      format: float
      minimum: -1
      maximum: 1
      description: >
        Filters articles based on the maximum sentiment score of their titles.


        Range is `-1.0` to `1.0`, where:

        - Negative values indicate negative sentiment.

        - Positive values indicate positive sentiment.

        - Values close to 0 indicate neutral sentiment.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: 0.5
    ContentSentimentMin:
      type: number
      format: float
      minimum: -1
      maximum: 1
      description: >
        Filters articles based on the minimum sentiment score of their content.


        Range is `-1.0` to `1.0`, where:

        - Negative values indicate negative sentiment.

        - Positive values indicate positive sentiment.

        - Values close to 0 indicate neutral sentiment.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: -0.5
    ContentSentimentMax:
      type: number
      format: float
      minimum: -1
      maximum: 1
      description: >
        Filters articles based on the maximum sentiment score of their content.


        Range is `-1.0` to `1.0`, where:

        - Negative values indicate negative sentiment.

        - Positive values indicate positive sentiment.

        - Values close to 0 indicate neutral sentiment.


        To learn more, see [NLP
        features](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/nlp-features).
      example: 0.5
    RobotsCompliant:
      type: boolean
      description: >
        If true, returns only articles that comply with the publisher's
        robots.txt rules. If false, returns only articles that do not comply
        with robots.txt rules. If omitted, returns all articles regardless of
        compliance status.
      example: true
    SearchResponseDto:
      title: Search Response
      description: >
        The response model for the search requests applies to the `Search`,
        `Latest Headlines`, `Search by link`, and `Authors` endpoints. Response
        field behavior:

        - Required fields are guaranteed to be present and non-null. 

        - Optional fields may be `null` or `undefined` if the data point is not
        presented or couldn't be extracted during processing.

        - To access article properties in the `articles` response array, use
        array index notation. For example, `articles[n].title`, where `n` is the
        zero-based index of the article object (0, 1, 2, etc.).

        - The `nlp` property within the article object `articles[n].nlp` is only
        available with NLP-enabled subscription plans.
      allOf:
        - $ref: '#/components/schemas/BaseSearchResponseDto'
        - type: object
          properties:
            articles:
              $ref: '#/components/schemas/ArticlesDto'
            user_input:
              $ref: '#/components/schemas/UserInputDto'
    ClusteredSearchResponseDto:
      title: Clustered Articles Response
      description: >
        The response model when clustering is enabled, grouping similar articles
        into clusters. Applies to the `Search` and `Latest headlines` requests.
        Response field behavior:

        - Required fields are guaranteed to be present and non-null. 

        - Optional fields may be `null` or `undefined` if the data point is not
        presented or couldn't be extracted during processing.

        - To access article properties in the `articles` response array, 

        use array index notation. For example, `articles[n].title`, where `n` 

        is the zero-based index of the article object (0, 1, 2, etc.).

        - The `nlp` property within the article object `articles[n].nlp` 

        is only available with NLP-enabled subscription plans.
      allOf:
        - $ref: '#/components/schemas/BaseSearchResponseDto'
        - $ref: '#/components/schemas/ClusteredArticlesDto'
        - type: object
          properties:
            user_input:
              $ref: '#/components/schemas/UserInputDto'
    Error:
      type: object
      properties:
        message:
          type: string
          description: A detailed description of the error.
        status_code:
          type: integer
          description: The HTTP status code of the error.
        status:
          type: string
          description: A short description of the status code.
      required:
        - message
        - status_code
        - status
    BaseSearchResponseDto:
      title: Base Search Response
      description: The base response model containing common fields for search operations.
      required:
        - status
        - total_hits
        - page
        - total_pages
        - page_size
      type: object
      properties:
        status:
          title: Status
          description: The status of the response.
          type: string
        total_hits:
          title: Total Hits
          description: The total number of articles matching the search criteria.
          type: integer
        page:
          title: Page
          description: The current page number of the results.
          type: integer
        total_pages:
          title: Total Pages
          description: The total number of pages available for the given search criteria.
          type: integer
        page_size:
          title: Page Size
          description: The number of articles per page.
          type: integer
    ArticlesDto:
      title: Articles
      description: A list of articles matching the search criteria.
      type: array
      items:
        $ref: '#/components/schemas/ArticleEntity'
      default: []
    UserInputDto:
      type: object
      description: The user input parameters for the request.
      additionalProperties: true
    ClusteredArticlesDto:
      type: object
      required:
        - clusters_count
        - clusters
      properties:
        clusters_count:
          title: Clusters Count
          type: integer
          description: The number of clusters in the search results.
        clusters:
          type: array
          description: A list of clusters found in the search results.
          items:
            $ref: '#/components/schemas/ClusterEntity'
    ArticleEntity:
      title: Article Object
      description: The data model representing a single article in the search results.
      required:
        - title
        - link
        - domain_url
        - full_domain_url
        - parent_url
        - rank
        - id
        - score
      type: object
      properties:
        title:
          title: Title
          description: The title of the article.
          type: string
        author:
          title: Author
          description: The primary author of the article.
          type: string
        authors:
          title: Authors
          description: A list of authors of the article.
          anyOf:
            - type: array
              items:
                type: string
            - type: string
        journalists:
          title: Journalists
          description: A list of journalists associated with the article.
          anyOf:
            - type: array
              items:
                type: string
            - type: string
            - type: 'null'
        published_date:
          title: Published Date
          description: The date the article was published.
          type: string
        published_date_precision:
          title: Published Date Precision
          description: The precision of the published date.
          type: string
        updated_date:
          title: Updated Date
          description: The date the article was last updated.
          type:
            - string
            - 'null'
        updated_date_precision:
          title: Updated Date Precision
          description: The precision of the updated date.
          type:
            - string
            - 'null'
        parse_date:
          title: Parse Date
          description: The date the article was parsed.
          type:
            - string
            - 'null'
        link:
          title: Link
          description: The URL link to the article.
          type: string
        domain_url:
          title: Domain URL
          description: The domain URL of the article.
          type: string
        full_domain_url:
          title: Full Domain URL
          description: The full domain URL of the article.
          type: string
        name_source:
          title: Name Source
          description: The name of the source where the article was published.
          type: string
        is_headline:
          title: Is Headline
          description: Indicates if the article is a headline.
          type: boolean
        paid_content:
          title: Paid Content
          description: >-
            Indicates whether the source labels the article as paywalled or
            requiring a subscription for full access.
          type: boolean
        parent_url:
          title: Parent URL
          description: The categorical URL of the article.
          type: string
        country:
          title: Country
          description: The country where the article was published.
          type: string
        rights:
          title: Rights
          description: The rights information for the article.
          type: string
        rank:
          title: Rank
          description: The rank of the article's source.
          type: integer
        media:
          title: Media
          description: The media associated with the article.
          type: string
        language:
          title: Language
          description: The language in which the article is written.
          type: string
        description:
          title: Description
          description: A brief description of the article.
          type: string
        content:
          title: Content
          description: The content of the article.
          type: string
        title_translated_en:
          type:
            - string
            - 'null'
          description: >
            English translation of the article title. Available when using the
            `search_in` parameter with the `title_translated` option or by
            setting the `include_translation_fields` parameter to `true`.
        content_translated_en:
          type:
            - string
            - 'null'
          description: >
            English translation of the article content. Available when using the
            `search_in` parameter with the `content_translated` option or by
            setting the `include_translation_fields` parameter to `true`.
        word_count:
          title: Word Count
          description: The word count of the article.
          type: integer
          default: 0
        is_opinion:
          title: Is Opinion
          description: Indicates if the article is an opinion piece.
          type: boolean
        twitter_account:
          title: Twitter Account
          description: The Twitter account associated with the article.
          type:
            - string
            - 'null'
        all_links:
          title: All Links
          description: A list of all URLs mentioned in the article.
          anyOf:
            - type: array
              items:
                type: string
            - type: string
          default: []
        all_domain_links:
          title: All Domain Links
          description: A list of all domain URLs mentioned in the article.
          anyOf:
            - type: array
              items:
                type: string
            - type: string
          default: []
        all_links_data:
          title: All Links Data
          description: >
            Detailed information about all links mentioned in the article,
            including link URL, domain, and anchor text. Only present when the
            `all_links_text` parameter is used in the request.
          type: array
          items:
            $ref: '#/components/schemas/AllLinksDataItem'
          default: []
        nlp:
          $ref: '#/components/schemas/NlpDataEntity'
        id:
          title: ID
          description: The unique identifier for the article.
          type: string
        score:
          title: Score
          description: The relevance score of the article.
          type: number
        robots_compliant:
          title: Robots Compliant
          description: >
            True if the article content can be safely accessed according to the
            publisher's robots.txt rules; false otherwise.
          type: boolean
          example: true
        custom_tags:
          title: Custom Tags
          description: >-
            An object that contains custom tags associated with an article,
            where each key is a taxonomy name, and the value is an array of
            tags.
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          default: {}
        additional_domain_info:
          $ref: '#/components/schemas/AdditionalDomainInfoEntity'
    ClusterEntity:
      title: Cluster Entity
      description: The data model representing a single cluster of articles.
      required:
        - cluster_id
        - cluster_size
        - articles
      type: object
      properties:
        cluster_id:
          title: Cluster Id
          description: The unique identifier for the cluster.
          type: string
        cluster_size:
          title: Cluster Size
          description: The number of articles in the cluster.
          type: integer
        articles:
          title: Articles
          description: A list of articles in the cluster.
          type: array
          items:
            $ref: '#/components/schemas/ArticleEntity'
    AllLinksDataItem:
      title: Link Data Item
      description: Detailed information about a link found in an article.
      required:
        - domain_url
        - link
        - text
      type: object
      properties:
        domain_url:
          title: Domain URL
          description: The domain of the linked URL.
          type: string
          example: amazon.de
        link:
          title: Link
          description: The complete URL of the link.
          type: string
          example: https://www.amazon.de/s?k=Künstliche+Intelligenz
        text:
          title: Text
          description: The anchor text of the link.
          type: string
          example: KI Brillen
    NlpDataEntity:
      type: object
      default: {}
      description: Natural Language Processing data for the article.
      properties:
        translation_summary:
          type: string
          description: |
            A brief AI-generated summary of the article's English translation.
        theme:
          type: string
          description: The themes or categories identified in the article.
        summary:
          type: string
          description: A brief AI-generated summary of the article content.
        sentiment:
          $ref: '#/components/schemas/SentimentScores'
        new_embedding:
          type: array
          items:
            type: number
            format: float
          description: >
            A dense 1024-dimensional vector representation of the article
            content, generated using the
            [multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large)
            model. Available for articles indexed before January 1, 2026.


            **Note**: The `new_embedding` field is only available in the
            `v3_nlp_embeddings` subscription plan.
        qwen_embedding:
          type: array
          items:
            type: number
            format: float
          description: >
            A dense 1024-dimensional vector representation of the article
            content, generated using the
            [Qwen3-Embedding-0.6B](https://huggingface.co/Qwen/Qwen3-Embedding)
            model. Available for articles indexed from January 1, 2026 onward.
            Embeddings are computed from a combination of the article `title`
            and `content` fields.


            **Note**: The `qwen_embedding` field is only available in the
            `v3_nlp_embeddings` subscription plan.
        ner_PER:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: Named Entity Recognition for person entities (individuals' names).
        ner_ORG:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >-
            Named Entity Recognition for organization entities (company names,
            institutions).
        ner_MISC:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >-
            Named Entity Recognition for miscellaneous entities (events,
            nationalities, products).
        ner_LOC:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >-
            Named Entity Recognition for location entities (cities, countries,
            geographic features).
        translation_ner_PER:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >
            Named Entity Recognition for person entities (individuals' names)
            extracted from the English translation of the article.
        translation_ner_ORG:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >
            Named Entity Recognition for organization entities (company names,
            institutions) extracted from the English translation of the article.
        translation_ner_MISC:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >
            Named Entity Recognition for miscellaneous entities (events,
            nationalities, products) extracted from the English translation of
            the article.
        translation_ner_LOC:
          allOf:
            - $ref: '#/components/schemas/NamedEntityList'
          description: >
            Named Entity Recognition for location entities (cities, countries,
            geographic features) extracted from the English translation of the
            article.
        iptc_tags_name:
          type: array
          items:
            type: string
          description: >
            IPTC media topic taxonomy paths identified in the article content.
            Each path represents a hierarchical category following the IPTC
            standard.


            **Note**: The `iptc_tags_name` field is only available in the
            `v3_nlp_iptc_tags` subscription plan.
        iptc_tags_id:
          type: array
          items:
            type: string
          description: >
            IPTC media topic numeric codes identified in the article content.
            These codes correspond to the standardized IPTC media topic
            taxonomy.


            **Note**: The `iptc_tags_id` field is only available in the
            `v3_nlp_iptc_tags` subscription plan.
        iab_tags_name:
          type: array
          items:
            type: string
          description: >
            IAB content taxonomy paths identified in the article content. Each
            path represents a hierarchical category following the IAB content
            standard.


            **Note**: The `iab_tags_name` field is only available in the
            `v3_nlp_iptc_tags` subscription plan.
    AdditionalDomainInfoEntity:
      title: Additional Domain Info
      description: Additional information about the domain of the article.
      type: object
      properties:
        is_news_domain:
          title: Is News Domain
          description: Indicates whether the domain is a news domain.
          type: boolean
        news_type:
          title: News Type
          description: The type of news content provided by the domain.
          type: string
        news_domain_type:
          title: News Domain Type
          description: The type of news domain.
          type: string
      example:
        is_news_domain: true
        news_type: News and Blogs
        news_domain_type: Original Content
    SentimentScores:
      type: object
      description: Sentiment scores for the article's title and content.
      properties:
        title:
          type: number
          format: float
          description: The sentiment score for the article title (-1.0 to 1.0).
        content:
          type: number
          format: float
          description: The sentiment score for the article content (-1.0 to 1.0).
    NamedEntityList:
      type: array
      description: A list of named entities identified in the article.
      items:
        type: object
        properties:
          entity_name:
            type: string
            description: The name of the entity identified in the article.
          count:
            type: integer
            description: The number of times this entity appears in the article.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-token
      description: >
        API Key to authenticate requests.


        To access the API, include your API key in the `x-api-token` header. 

        To obtain your API key, complete the
        [form](https://www.newscatcherapi.com/book-a-demo) or contact us
        directly.

````