Newscatcher News API

The News API provides structured access to 120,000+ global news sources with advanced search, NLP enrichment, named entity recognition, sentiment scoring, IPTC tagging, pre-computed embeddings, and article clustering. Endpoints cover keyword/boolean search, latest headlines, breaking news, author lookup, source directory, aggregation counts, and subscription metadata. Authentication uses the x-api-token request header and the API targets https://v3-api.newscatcherapi.com/api.

OpenAPI Specification

newscatcher-news-api-openapi.yml Raw ↑
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: [email protected]
  version: 3.24.0
externalDocs:
  description: Find out more about NewsCatcher News API
  url: https://www.newscatcherapi.com/docs

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

paths:
  /api/search:
    get:
      x-fern-sdk-group-name: search
      x-fern-sdk-method-name: get
      tags:
        - Search
      summary: Search articles
      description:
        Searches for articles based on specified criteria such as keywords,
        language, country, source, and more.
      operationId: searchGet
      parameters:
        - $ref: "#/components/parameters/Q"
        - $ref: "#/components/parameters/SearchIn"
        - $ref: "#/components/parameters/IncludeTranslationFields"
        - $ref: "#/components/parameters/PredefinedSources"
        - $ref: "#/components/parameters/SourceName"
        - $ref: "#/components/parameters/Sources"
        - $ref: "#/components/parameters/NotSources"
        - $ref: "#/components/parameters/Lang"
        - $ref: "#/components/parameters/NotLang"
        - $ref: "#/components/parameters/Countries"
        - $ref: "#/components/parameters/NotCountries"
        - $ref: "#/components/parameters/NotAuthorName"
        - $ref: "#/components/parameters/From"
        - $ref: "#/components/parameters/To"
        - $ref: "#/components/parameters/PublishedDatePrecision"
        - $ref: "#/components/parameters/ByParseDate"
        - $ref: "#/components/parameters/SortBy"
        - $ref: "#/components/parameters/RankedOnly"
        - $ref: "#/components/parameters/FromRank"
        - $ref: "#/components/parameters/ToRank"
        - $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/AdditionalDomainInfo"
        - $ref: "#/components/parameters/IsNewsDomain"
        - $ref: "#/components/parameters/NewsDomainType"
        - $ref: "#/components/parameters/NewsType"
        - $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/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/ExcludeDuplicates"
        - $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"

    post:
      x-fern-sdk-group-name: search
      x-fern-sdk-method-name: post
      tags:
        - Search
      summary: Search articles
      description:
        Searches for articles based on specified criteria such as keywords,
        language, country, source, and more.
      operationId: searchPost
      requestBody:
        $ref: "#/components/requestBodies/SearchRequestBody"
      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"

  /api/latest_headlines:
    get:
      x-fern-sdk-group-name: latest_headlines
      x-fern-sdk-method-name: 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"
    post:
      x-fern-sdk-group-name: latest_headlines
      x-fern-sdk-method-name: post
      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: latestHeadlinesPost
      requestBody:
        $ref: "#/components/requestBodies/LatestHeadlinesRequestBody"
      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"

  /api/breaking_news:
    get:
      x-fern-sdk-group-name: breaking_news
      x-fern-sdk-method-name: get
      tags:
        - BreakingNews
      summary: Get breaking news
      description:
        Retrieves breaking news articles and sorts them based on specified
        criteria.
      operationId: breakingNewsGet
      parameters:
        - $ref: "#/components/parameters/SortBy"
        - $ref: "#/components/parameters/RankedOnly"
        - $ref: "#/components/parameters/FromRank"
        - $ref: "#/components/parameters/ToRank"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PageSize"
        - $ref: "#/components/parameters/TopNArticles"
        - $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"
      responses:
        "200":
          $ref: "#/components/responses/BreakingNewsResponse"
        "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"

    post:
      x-fern-sdk-group-name: breaking_news
      x-fern-sdk-method-name: post
      tags:
        - BreakingNews
      summary: Get breaking news
      description:
        Retrieves breaking news articles and sorts them based on specified
        criteria.
      operationId: breakingNewsPost
      requestBody:
        $ref: "#/components/requestBodies/BreakingNewsRequestBody"
      responses:
        "200":
          $ref: "#/components/responses/BreakingNewsResponse"
        "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"

  /api/authors:
    get:
      x-fern-sdk-group-name: authors
      x-fern-sdk-method-name: get
      tags:
        - Authors
      summary: Search articles by author
      description:
        Searches for articles written by a specified author. You can filter
        results by language, country, source, and more.
      operationId: authorsGet
      parameters:
        - $ref: "#/components/parameters/AuthorName"
        - $ref: "#/components/parameters/NotAuthorName"
        - $ref: "#/components/parameters/PredefinedSources"
        - $ref: "#/components/parameters/Sources"
        - $ref: "#/components/parameters/NotSources"
        - $ref: "#/components/parameters/Lang"
        - $ref: "#/components/parameters/NotLang"
        - $ref: "#/components/parameters/Countries"
        - $ref: "#/components/parameters/NotCountries"
        - $ref: "#/components/parameters/From"
        - $ref: "#/components/parameters/To"
        - $ref: "#/components/parameters/PublishedDatePrecision"
        - $ref: "#/components/parameters/ByParseDate"
        - $ref: "#/components/parameters/SortBy"
        - $ref: "#/components/parameters/RankedOnly"
        - $ref: "#/components/parameters/FromRank"
        - $ref: "#/components/parameters/ToRank"
        - $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/IncludeTranslationFields"
        - $ref: "#/components/parameters/IncludeNlpData"
        - $ref: "#/components/parameters/HasNlp"
        - $ref: "#/components/parameters/Theme"
        - $ref: "#/components/parameters/NotTheme"
        - $ref: "#/components/parameters/NerName"
        - $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/AuthorsResponse"
        "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"

    post:
      x-fern-sdk-group-name: authors
      x-fern-sdk-method-name: post
      tags:
        - Authors
      summary: Search articles by author
      description:
        Searches for articles by author. You can filter results by language,
        country, source, and more.
      operationId: authorsPost
      requestBody:
        $ref: "#/components/requestBodies/AuthorsRequestBody"
      responses:
        "200":
          $ref: "#/components/responses/AuthorsResponse"
        "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"

  /api/search_by_link:
    get:
      x-fern-sdk-group-name: search_by_link
      x-fern-sdk-method-name: get
      tags:
        - SearchByLink
      summary: Search articles by links or IDs
      description:
        Searches for articles based on specified links or IDs. You can filter
        results by date range.
      operationId: searchByLinkGet
      parameters:
        - $ref: "#/components/parameters/Ids"
        - $ref: "#/components/parameters/Links"
        - name: from_
          in: query
          required: false
          schema:
            allOf:
              - $ref: "#/components/schemas/From"
            default: 1 month ago
        - $ref: "#/components/parameters/To"
        - $ref: "#/components/parameters/Page"
        - $ref: "#/components/parameters/PageSize"
        - $ref: "#/components/parameters/RobotsCompliant"
      responses:
        "200":
          $ref: "#/components/responses/SearchByLinkResponse"
        "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"
    post:
      x-fern-sdk-group-name: search_by_link
      x-fern-sdk-method-name: post
      tags:
        - SearchByLink
      summary: Search articles by links or IDs
      description: Searches for articles using their ID(s) or link(s).
      operationId: searchByLinkPost
      requestBody:
        $ref: "#/components/requestBodies/SearchByLinkRequestBody"
      responses:
        "200":
          $ref: "#/components/responses/SearchByLinkResponse"
        "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"

  /api/sources:
    get:
      x-fern-sdk-group-name: sources
      x-fern-sdk-method-name: get
      tags:
        - Sources
      summary: Retrieve sources
      description:
        Retrieves a list of sources based on specified criteria such as
        language, country, rank, and more.
      operationId: sourcesGet
      parameters:
        - $ref: "#/components/parameters/Lang"
        - $ref: "#/components/parameters/Countries"
        - $ref: "#/components/parameters/PredefinedSources"
        - $ref: "#/components/parameters/SourceName"
        - $ref: "#/components/parameters/SourceUrl"
        - $ref: "#/components/parameters/IncludeAdditionalInfo"
        - $ref: "#/components/parameters/IsNewsDomain"
        - $ref: "#/components/parameters/NewsDomainType"
        - $ref: "#/components/parameters/NewsType"
        - $ref: "#/components/parameters/FromRank"
        - $ref: "#/components/parameters/ToRank"
      responses:
        "200":
          $ref: "#/components/responses/SourcesResponse"
        "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"

    post:
      x-fern-sdk-group-name: sources
      x-fern-sdk-method-name: post
      tags:
        - Sources
      summary: Retrieve sources
      description:
        Retrieves the list of sources available in the database. You can filter
        the sources by language, country, and more.
      operationId: sourcesPost
      requestBody:
        $ref: "#/components/requestBodies/SourcesRequestBody"
      responses:
        "200":
          $ref: "#/components/responses/SourcesResponse"
        "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"

  /api/aggregation_count:
    get:
      x-fern-sdk-group-name: aggregation_count
      x-fern-sdk-method-name: get
      tags:
        - AggregationCount
      summary: Get aggregation count by interval
      description:
        Retrieves the count of articles aggregated by day or hour based on
        various search criteria, such as keyword, language, country, and source.
      operationId: aggregationCountGet
      parameters:
        - $ref: "#/components/parameters/Q"
        - $ref: "#/components/parameters/AggregationBy"
        - $ref: "#/components/parameters/SearchIn"
        - $ref: "#/components/parameters/PredefinedSources"
        - $ref: "#/components/parameters/Sources"
        - $ref: "#/components/parameters/NotSources"
        - $ref: "#/components/parameters/Lang"
        - $ref: "#/components/parameters/NotLang"
        - $ref: "#/components/parameters/Countries"
        - $ref: "#/components/parameters/NotCountries"
        - $ref: "#/components/parameters/NotAuthorName"
        - $ref: "#/components/parameters/From"
        - $ref: "#/components/parameters/To"
        - $ref: "#/components/parameters/PublishedDatePrecision"
        - $ref: "#/components/parameters/ByParseDate"
        - $ref: "#/components/parameters/SortBy"
        - $ref: "#/components/parameters/RankedOnly"
        - $ref: "#/components/parameters/FromRank"
        - $ref: "#/components/parameters/ToRank"
        - $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/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/RobotsCompliant"
      responses:
        "200":
          $ref: "#/components/responses/AggregationCountResponse"
        "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"
    post:
      x-fern-sdk-group-name: aggregation_count
      x-fern-sdk-method-name: post
      tags:
        - AggregationCount
      summary: Get aggregation count by interval
      description:
        Retrieves the count of articles aggregated by day or hour based on
        various search criteria, such as keyword, language, country, and source.
      operationId: aggregationCountPost
      requestBody:
        $ref: "#/components/requestBodies/AggregationRequestBody"
      responses:
        "200":
          $ref: "#/components/responses/AggregationCountResponse"
        "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"

  /api/subscription:
    get:
      x-fern-sdk-group-name: subscription
      x-fern-sdk-method-name: get
      tags:
        - Subscription
      summary: Retrieve subscription plan information
      description: Retrieves information about your subscription plan.
      operationId: subscriptionGet
      responses:
        "200":
          $ref: "#/components/responses/SubscriptionResponse"
        "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"
    post:
      x-fern-sdk-group-name: subscription
      x-fern-sdk-method-name: post
      tags:
        - Subscription
      summary: Retrieve subscription plan information
      description: Retrieves information about your subscription plan.
      operationId: subscriptionPost
      responses:
        "200":
          $ref: "#/components/responses/SubscriptionResponse"
        "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:
    Q:
      name: q
      in: query
      required: true
      schema:
        $ref: "#/components/schemas/Q"

    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: |
        T

# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/newscatcher/refs/heads/main/openapi/newscatcher-news-api-openapi.yml