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

# List source groups

> Lists the source groups you can search with the `source_groups` parameter of the Search endpoint. A source group is a ready-made list of publisher domains that the NewsCatcher team builds and maintains for a common use case, such as the top financial news publishers, central banks and regulators, or a region's business press. Instead of listing dozens of domains in `sources`, pass the group's `slug`. Groups are read-only: you can't create or edit them, and NewsCatcher may update their domains over time. The response describes each group but does not list its domains. This endpoint requires an API key and does not count toward your plan's quota.




## OpenAPI

````yaml news-api-v3 get /api/source-groups
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, source
    discovery, and source groups.


    ## 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, or search a curated source group.


    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.25.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: SourceGroups
    description: Operations to list source groups.
    externalDocs:
      description: >-
        List the curated source groups you can pass to the `source_groups`
        parameter of the Search endpoint.
      url: >-
        https://www.newscatcherapi.com/docs/news-api/api-reference/source-groups/list-source-groups-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/source-groups:
    get:
      tags:
        - SourceGroups
      summary: List source groups
      description: >
        Lists the source groups you can search with the `source_groups`
        parameter of the Search endpoint. A source group is a ready-made list of
        publisher domains that the NewsCatcher team builds and maintains for a
        common use case, such as the top financial news publishers, central
        banks and regulators, or a region's business press. Instead of listing
        dozens of domains in `sources`, pass the group's `slug`. Groups are
        read-only: you can't create or edit them, and NewsCatcher may update
        their domains over time. The response describes each group but does not
        list its domains. This endpoint requires an API key and does not count
        toward your plan's quota.
      operationId: sourceGroupsGet
      parameters:
        - $ref: '#/components/parameters/SourceGroupsPage'
        - $ref: '#/components/parameters/SourceGroupsPageSize'
      responses:
        '200':
          $ref: '#/components/responses/SourceGroupsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailableError'
components:
  parameters:
    SourceGroupsPage:
      description: The page number to return, starting from 1.
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        default: 1
        example: 1
    SourceGroupsPageSize:
      description: The number of source groups per page.
      name: page_size
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 100
        example: 100
  responses:
    SourceGroupsResponse:
      description: A successful response containing one page of source groups.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListSourceGroupsResponseDto'
    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
    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
    ServiceUnavailableError:
      description: >
        Service unavailable. A part of the service is temporarily unavailable,
        for example the source group catalog. Requests answered with `503` are
        not charged. Retry after a short wait.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: >-
              Source groups are temporarily unavailable, so this search was not
              run. Please retry - this request has not been charged.
            status_code: 503
            status: Service unavailable
  schemas:
    ListSourceGroupsResponseDto:
      title: List Source Groups Response
      description: One page of the source group catalog.
      required:
        - source_groups
        - total
        - page
        - page_size
      type: object
      properties:
        source_groups:
          title: Source Groups
          description: The source groups on this page.
          type: array
          items:
            $ref: '#/components/schemas/SourceGroup'
        total:
          title: Total
          description: The total number of source groups across all pages.
          type: integer
          example: 21
        page:
          title: Page
          description: The current page number.
          type: integer
          example: 1
        page_size:
          title: Page Size
          description: The number of source groups per page.
          type: integer
          example: 100
    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
    SourceGroup:
      title: Source Group
      description: >-
        A ready-made list of publisher domains, curated and maintained by the
        NewsCatcher team.
      required:
        - slug
        - name
      type: object
      properties:
        slug:
          title: Slug
          description: >-
            The identifier to pass to the `source_groups` parameter of the
            Search endpoint.
          type: string
          example: top_100_financial_news
        name:
          title: Name
          description: The display name of the group.
          type: string
          example: Top 100 financial news publishers
        description:
          title: Description
          description: What kind of publishers the group covers.
          type:
            - string
            - 'null'
          example: The most read finance and markets publishers, English-language.
  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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.