Newscatcher AggregationCount API

Operations to aggregate news counts.

Operations 2

GET /api/aggregation_count Get aggregation count by interval #
POST /api/aggregation_count Get aggregation count by interval #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/newscatcher-aggregationcount-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

newscatcher-aggregationcount-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: NewsCatcher News Aggregation Count 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: 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
paths:
  /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'
components:
  schemas:
    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
    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
    FromRank:
      type: integer
      minimum: 1
      maximum: 999999
      default: 1
      format: int32
      description: 'The lowest boundary of the rank of a news website to filter by. A lower rank indicates a more popular source.

        '
      example: 100
    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
    From:
      oneOf:
      - type: string
        format: date-time
        example: 2024-07-01 00:00:00
      - type: string
        example: 1 day ago
      default: 7 days ago
      description: "The starting point in time to search from. Accepts date-time strings in ISO 8601 format and plain text strings. The default time zone is UTC. \n\nFormats with examples:\n- YYYY-mm-ddTHH:MM:SS: `2024-07-01T00:00:00`\n- YYYY-MM-dd: `2024-07-01`\n- YYYY/mm/dd HH:MM:SS: `2024/07/01 00:00:00`\n- YYYY/mm/dd: `2024/07/01`\n- English phrases: `7 day ago`, `today`\n- Duration shorthand: `7d`, `30d`, `24h`, `48h`\n\n**Note**: By default, applied to the publication date of the article. To use the article's parse date instead, set the `by_parse_date` parameter to `true`.\n"
      example: 2021/01/01
    ContentSentimentMax:
      type: number
      format: float
      minimum: -1.0
      maximum: 1.0
      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
    WordCountMax:
      type: integer
      minimum: 0
      description: "The maximum number of words an article can contain. \nTo be used for avoiding articles with large content.\n"
      example: 1000
    UserInputDto:
      type: object
      description: The user input parameters for the request.
      additionalProperties: 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`.

        '
    OrgEntityName:
      type: string
      description: "Filters articles that mention specific organization names, as identified by NLP analysis. \n\n- To specify multiple organizations, use `AND`, `OR`, `NOT` operators, and `\\\"` escape literals for exact matches. \n- To search in translations, combine with the translation options of the `search_in` parameter (e.g., `title_content_translated`).\n\nTo learn more, see [Search by entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).\n"
      example: '"Apple Inc" OR Microsoft'
    AllLinksText:
      oneOf:
      - type: string
        example: Nvidia, Tesla
      - type: array
        items:
          type: string
        example:
        - Nvidia
        - Tesla
      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 or an array of strings.


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


        For more details, see [Search by URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).

        '
    Countries:
      oneOf:
      - type: string
        example: US,CA
      - type: array
        items:
          type: string
        example:
        - US
        - CA
      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 or an array of strings.


        To learn more, see [Enumerated parameters > Country](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#country-country-and-not-country).

        '
    AllDomainLinks:
      oneOf:
      - type: string
        example: who.int, nih.gov
      - type: array
        items:
          type: string
        example:
        - who.int
        - nih.gov
      description: 'The domain(s) mentioned in the article. For multiple domains, use a comma-separated string or an array of strings.


        For more details, see [Search by URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).

        '
    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
    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
    PageSize:
      type: integer
      minimum: 1
      maximum: 1000
      default: 100
      description: 'The number of articles to return per page.

        '
      example: 50
    NotLang:
      oneOf:
      - type: string
        example: fr,de
      - type: array
        items:
          type: string
        example:
        - fr
        - de
      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 or an array of strings.


        To learn more, see [Enumerated parameters > Language](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#language-lang-and-not-lang).

        '
    FailedAggregationCountResponseDto:
      title: Failed Aggregation Response
      description: The response model for a failed `Aggregation count` request.
      allOf:
      - $ref: '#/components/schemas/BaseSearchResponseDto'
      - type: object
        properties:
          user_input:
            $ref: '#/components/schemas/UserInputDto'
    Lang:
      oneOf:
      - type: string
        example: en,es
      - type: array
        items:
          type: string
        example:
        - en
        - es
      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 or an array of strings.


        To learn more, see [Enumerated parameters > Language](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#language-lang-and-not-lang).

        '
    SearchIn:
      type: string
      default: title_content
      description: "The article fields to search in. Use a comma-separated string for multiple options, with a maximum of 2 in a single request.\n\nAvailable options: \n- Standard fields: `title`, `content`, `summary`, `title_content`\n- Translation fields: `title_translated`, `content_translated`, `summary_translated`, `title_content_translated`\n"
      example: title_content, title_content_translated
    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
    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
    To:
      oneOf:
      - type: string
        example: now
      - type: string
        format: date-time
        example: 2024-01-01 00:00:00
      description: "The ending point in time to search up to. Accepts date-time strings in ISO 8601 format and plain text strings. The default time zone is UTC. \n\nFormats with examples:\n- YYYY-mm-ddTHH:MM:SS: `2024-07-01T00:00:00`\n- YYYY-MM-dd: `2024-07-01`\n- YYYY/mm/dd HH:MM:SS: `2024/07/01 00:00:00`\n- YYYY/mm/dd: `2024/07/01`\n- English phrases: `1 day ago`, `now`\n- Duration shorthand: `7d`, `30d`, `24h`, `48h`\n\n**Note**: By default, applied to the publication date of the article. To use the article's parse date instead, set the `by_parse_date` parameter to `true`.\n"
      default: now
    TitleSentimentMax:
      type: number
      format: float
      minimum: -1.0
      maximum: 1.0
      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
    AllLinks:
      oneOf:
      - type: string
        example: https://aiindex.stanford.edu/report/, https://www.stateof.ai/
      - type: array
        items:
          type: string
        example:
        - https://aiindex.stanford.edu/report/
        - https://www.stateof.ai/
      description: 'The complete URL(s) mentioned in the article. For multiple URLs, use a comma-separated string or an array of strings.


        For more details, see [Search by URL](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-url).

        '
    IsHeadline:
      type: boolean
      description: 'If true, only returns articles that were posted on the home page of a given news domain.

        '
      example: true
    ToRank:
      type: integer
      minimum: 1
      maximum: 999999
      default: 999999
      format: int32
      description: 'The highest boundary of the rank of a news website to filter by. A lower rank indicates a more popular source.

        '
      example: 100
    NotAuthorName:
      oneOf:
      - type: string
        example: John Doe, Jane Doe
      - type: array
        items:
          type: string
        example:
        - John Doe
        - Jane Doe
      description: 'The list of author names to exclude from your search. To exclude articles by specific authors, use a comma-separated string or an array of strings.

        '
    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
    PerEntityName:
      type: string
      description: "Filters articles that mention specific person names, as identified by NLP analysis. \n\n- To specify multiple names, use `AND`, `OR`, `NOT` operators, and `\\\"` escape literals for exact matches. \n- To search in translations, combine with the translation options of the `search_in` parameter (e.g., `title_content_translated`).\n\nTo learn more, see [Search by entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).\n"
      example: '"Elon Musk" OR "Jeff Bezos"'
    ContentSentimentMin:
      type: number
      format: float
      minimum: -1.0
      maximum: 1.0
      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
    PublishedDatePrecision:
      type: string
      description: 'The precision of the published date. There are three types:

        - `full`: The day and time of an article is correctly identified with the appropriate timezone.

        - `timezone unknown`: The day and time of an article is correctly identified without timezone.

        - `date`: Only the day is identified without an exact time.

        '
      example: full
    Q:
      type: string
      description: 'The keyword(s) to search for in articles. Query syntax supports logical operators (`AND`, `OR`, `NOT`) and wildcards:


        - For exact phrases, use escaped quotes: `\"technology news\"`

        - Use `*` for wildcards: `technolog*` (cannot start with `*`)

        - Use `+` to include and `-` to exclude: `+Apple`, `-Google`

        - Boolean operators: `technology AND (Apple OR Microsoft) NOT Google`

        - Forbidden characters: `[` `]` `/` `\\` `:` `^` and URL-encoded equivalents


        **Note:** The API automatically inserts `AND` operators between standalone terms, so strings like `"machine learning"` become `"machine AND learning"`. To avoid syntax errors (especially in queries with `OR` operators), use literal escape `"\"machine learning\""`.


        For detailed syntax rules, see [Advanced querying](https://www.newscatcherapi.com/docs/news-api/guides-and-concepts/advanced-querying).

        '
      example: '"supply chain" AND Amazon NOT China'
    NotSources:
      oneOf:
      - type: string
        example: cnn.com, wsj.com
      - type: array
        items:
          type: string
        example:
        - cnn.com
        - wsj.com
      description: 'The news sources to exclude from the search. To exclude multiple sources, use a comma-separated string or an array of strings.

        '
    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. \n\nFor details, see [Retrieve large datasets](https://www.newscatcherapi.com/docs/news-api/how-to/retrieve-more-than-10k-articles)\n"
      example: 2
    LocEntityName:
      type: string
      description: "Filters articles that mention specific location names, as identified by NLP analysis.\n\n- To specify multiple locations, use `AND`, `OR`, `NOT` operators, and `\\\"` escape literals for exact matches. \n- To search in translations, combine with the translation options of the `search_in` parameter (e.g., `title_content_translated`).\n\nTo learn more, see [Search by entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).\n"
      example: '"San Francisco" OR "New York City"'
    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
    AggregationCountResponseDto:
      title: Aggregation Response
      description: "The response model for a successful `Aggregation count` request. Response field behavior:\n- Required fields are guaranteed to be present and non-null. \n- Optional fields may be `null` or `undefined` if the data point is not presented or couldn't be extracted during processing.\n"
      allOf:
      - $ref: '#/components/schemas/BaseSearchResponseDto'
      - type: object
        properties:
          aggregations:
            title: Aggregations
            description: The aggregation results. Can be either a dictionary or a list of dictionaries.
            oneOf:
            - $ref: '#/components/schemas/AggregationItem'
            - type: array
              items:
                $ref: '#/components/schemas/AggregationItem'
          user_input:
            $ref: '#/components/schemas/UserInputDto'
    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.\n\n- To specify multiple entities, use `AND`, `OR`, `NOT` operators, and `\\\"` escape literals for exact matches. \n- To search in translations, combine with the translation options of the `search_in` parameter (e.g., `title_content_translated`).\n\nTo learn more, see [Search by entity](https://www.newscatcherapi.com/docs/news-api/how-to/search-by-entity).\n"
      example: AWS OR "Microsoft Azure"
    NotIptcTags:
      oneOf:
      - type: string
        example: 20000205, 20000209
      - type: array
        items:
          type: string
        example:
        - '20000205'
        - '20000209'
      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 or an array of strings. \n\n**Note**: The `not_iptc_tags` parameter is only available in the `v3_nlp_iptc_tags` subscription plan.\n\nTo learn more, see [IPTC Media Topic NewsCodes](https://www.iptc.org/std/NewsCodes/treeview/mediatopic/mediatopic-en-GB.html).\n"
    ParentUrl:
      oneOf:
      - type: string
        example: wsj.com/politics,wsj.com/tech
      - type: array
        items:
          type: string
        example:
        - wsj.com/politics
        - wsj.com/tech
      description: 'The categorical URL(s) to filter your search. To filter your search by multiple categorical URLs, use a comma-separated string or an array of strings.

        '
    TimeFrameCount:
      title: Time Frame Count
      description: 'Represents the article count for a specific time frame.

        '
      required:
      - time_frame
      - article_count
      type: object
      properties:
        time_frame:
          type: string
          format: date-time
          description: The timestamp for the aggregation period in format "YYYY-MM-DD HH:mm:ss"
          example: '2024-12-31 00:00:00'
        article_count:
          type: integer
          description: The number of articles published during this time frame
          example: 86
    NotCountries:
      oneOf:
      - type: string
        example: UK,FR
      - type: array
        items:
          type: string
        example:
        - UK
        - FR
      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 or an array of strings.


        To learn more, see [Enumerated parameters > Country](https://www.newscatcherapi.com/docs/news-api/api-reference/enumerated-parameters#country-country-and-not-country).

        '
    PredefinedSources:
      oneOf:
      - type: string
        example: top 50 US, top 20 GB
      - type: array
        items:
          type: string
        example:
        - top 50 US
        - top 20 GB
      description: "Predefined top news sources per country. \n\nFormat: 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). \n\nMultiple countries with the number of top sources can be specified as a comma-separated string or an array of strings.\n"
    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).

        '
    AggregationBy:
      type: string
      enum:
      - day
      - hour
      - month
      description: 'The aggregation interval for the results.

        '
      default: day
    Sources:
      oneOf:
      - type: string
        example: nytimes.com, theguardian.com
      - type: array
        items:
          type: string
        example:
        - nytimes.com
        - theguardian.com
      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 or an array of strings.

        '
    AggregationItem:
      title: Aggregation Item
      description: 'A single item in the aggregations array containing a collection of time-based article counts.

        '
      required:
      - aggregation_count
      type: object
      properties:
        aggregation_count:
          type: array
          description: Array of time frames and their corresponding article counts
          items:
            $ref: '#/components/schemas/TimeFrameCount'
    IsOpinion:
      type: boolean
      description: 'If true, returns only opinion pieces. If false, excludes opinion-based articles and returns news only.

        '
      example: true
    IptcTags:
      oneOf:
      - type: string
        example: 20000199,20000209
      - type: array
        items:
          type: string
        example:
        - '20000199'
        - '20000209'
      description: "Filters articles based on International Press Telecommunications Council (IPTC) media topic tags. To specify multiple IPTC tags, use a comma-separated string or an array of strings. \n\n**Note**: The `iptc_tags` parameter is only available in the `v3_nlp_iptc_tags` subscription plan.\n\nTo learn more, see [IPTC Media Topic NewsCodes](https://www.iptc.org/std/NewsCodes/treeview/mediatopic/mediatopic-en-GB.html).\n"
    TitleSentimentMin:
      type: number
      format: float
      minimum: -1.0
      maximum: 1.0
      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
    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
  parameters:
    IsOpinion:
      name: is_opinion
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/IsOpinion'
    RobotsCompliant:
      name: robots_compliant
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/RobotsCompliant'
    Theme:
      name: theme
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/Theme'
    MiscEntityName:
      name: MISC_entity_name
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/MiscEntityName'
    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.


      

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