> ## 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.

# List source groups

> Returns a paginated list of source groups visible to your organization.

A source group is a named, curated domain allowlist maintained by NewsCatcher — for
example "Top 100 US Finance". Pass a group's `slug` in `source_groups` when creating
a job to scope article fetching to that group's domains, instead of maintaining a
long domain list yourself.

The response covers public groups plus any restricted groups your organization has
been granted access to. Each entry returns `slug`, `name`, and `description`.




## OpenAPI

````yaml catch-all-api get /catchAll/source-groups
openapi: 3.1.0
info:
  title: NewsCatcher CatchAll API
  version: 1.10.0
  description: >
    CatchAll is a web search API that generates unique datasets that don't exist
    anywhere else on the web. Built on NewsCatcher's proprietary real-world
    event index, it delivers state-of-the-art recall—finding all relevant
    events, not just top results.


    ### Authentication


    All endpoints except /health and /version require `x-api-key` header. If the
    key is invalid or missing, the API returns the `403 Forbidden` error.


    ### Job workflow


    1. (Optional) Get suggestions via /catchAll/initialize

    2. Submit a query via /catchAll/submit with optional date ranges and custom
    validators/enrichments

    3. Poll /catchAll/status/{job_id} until completed (10-15 minutes)

    4. Retrieve results via /catchAll/pull/{job_id}


    ### Event monitor workflow


    1. Create successful job via /catchAll/submit

    2. Create event monitor via /catchAll/monitors/create with schedule

    3. Retrieve aggregated results via /catchAll/monitors/pull/{monitor_id}


    ### Webhook workflow


    1. Create a webhook via `POST /catchAll/webhooks`

    2. Attach it to a job or event monitor via `POST
    /catchAll/webhooks/{webhook_id}/resources`,
       or pass `webhook_ids` at job or event monitor creation time
    3. Receive HTTP notifications at the configured URL when each job completes


    ### Company search workflow


    1. Create a dataset via `POST /catchAll/datasets/` or `POST
    /catchAll/datasets/upload`

    2. Wait for the dataset `latest_status` to reach `ready`

    3. Submit a job with `connected_dataset_ids` pointing to your dataset

    4. Retrieve results — each record includes a `connected_entities` array
       with relevance scores per matched company

    ### Important notes


    **Dynamic schemas**: Response schemas are generated dynamically by LLMs.
    Field names in the `enrichment` object may vary and are not deterministic
    across jobs unless explicitly specified.
  contact:
    name: NewsCatcher
    url: https://newscatcherapi.com
    email: support@newscatcherapi.com
servers:
  - url: https://catchall.newscatcherapi.com
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Jobs
    description: Operations to create, monitor, and retrieve job results.
    externalDocs:
      description: Learn about job lifecycle and status tracking
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/get-started/quickstart
  - name: Event Monitors
    description: Operations to create, operate and retrieve event monitor results.
    externalDocs:
      description: >-
        Automate recurring queries with scheduled jobs and webhook
        notifications.
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/event-monitors
  - name: Webhooks
    description: >
      Operations to create and manage reusable webhook endpoints.


      A webhook is a named HTTP endpoint that receives a POST notification

      when a job or event monitor completes. Create webhooks once at the
      organization

      level and attach them to any number of jobs or event monitors via
      `webhook_ids`.

      Supports Slack, Microsoft Teams, and generic HTTP targets with
      configurable

      delivery modes, authentication, and headers.
    externalDocs:
      description: Learn about centralized webhooks and notification setup
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/guides-and-concepts/webhooks
  - name: Entities
    description: >
      Operations to create, update, and delete company entities.


      Entities are the building blocks of Company Monitors. Each entity
      represents

      a company (or person) you want to track. Add identifying information such
      as

      domain, alternative names, and key persons to improve matching quality.
    externalDocs:
      description: Learn about Company Monitors and entities
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/company-monitors
  - name: Datasets
    description: >
      Operations to create and manage datasets of entities.


      A dataset is a named collection of entities — think of it as a watchlist
      or

      portfolio. Connect a dataset to a job via `connected_dataset_ids` to
      activate

      Company Monitors. Datasets can be reused across multiple jobs and event
      monitors.
    externalDocs:
      description: Learn about datasets and Company Monitors
      url: >-
        https://www.newscatcherapi.com/docs/web-search-api/concepts/company-monitors
  - name: Projects
    description: >
      Operations to create, organize, and manage projects.


      A project is a named container for jobs, event monitors, and datasets.
      Group

      related resources by use case, team, or client, and share them with

      teammates. Resources can be assigned at creation time or post-hoc.
    externalDocs:
      description: Learn about projects and resource organization
      url: https://www.newscatcherapi.com/docs/web-search-api/concepts/projects
  - name: Meta
    description: Operations to check API health and version.
externalDocs:
  description: Find out more about NewsCatcher CatchAll API
  url: https://www.newscatcherapi.com/docs/web-search-api/get-started/introduction
paths:
  /catchAll/source-groups:
    get:
      tags:
        - Jobs
      summary: List source groups
      description: >
        Returns a paginated list of source groups visible to your organization.


        A source group is a named, curated domain allowlist maintained by
        NewsCatcher — for

        example "Top 100 US Finance". Pass a group's `slug` in `source_groups`
        when creating

        a job to scope article fetching to that group's domains, instead of
        maintaining a

        long domain list yourself.


        The response covers public groups plus any restricted groups your
        organization has

        been granted access to. Each entry returns `slug`, `name`, and
        `description`.
      operationId: listSourceGroups
      parameters:
        - $ref: '#/components/parameters/Page'
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 500
          description: Number of source groups per page.
      responses:
        '200':
          $ref: '#/components/responses/ListSourceGroupsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  parameters:
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
        minimum: 1
      description: |
        Page number to retrieve.
  responses:
    ListSourceGroupsResponse:
      description: Source groups retrieved successfully.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ListSourceGroupsResponseDto'
          example:
            total: 2
            page: 1
            page_size: 100
            source_groups:
              - slug: top-100-us-finance
                name: Top 100 US Finance
                description: Leading US financial news and trade publications.
              - slug: global-tech-press
                name: Global Tech Press
                description: Major technology news outlets worldwide.
    UnauthorizedError:
      description: >
        The caller could not be identified: the `x-api-key` header is missing,
        the key is

        unknown or disabled, or the key belongs to a different organization than
        the one

        requested.


        Once identity is established, an access failure returns `403` instead.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            detail: X-API-Key header is required for this endpoint
    ValidationError:
      description: Validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorResponse'
  schemas:
    ListSourceGroupsResponseDto:
      type: object
      required:
        - source_groups
        - total
        - page
        - page_size
      properties:
        source_groups:
          type: array
          items:
            $ref: '#/components/schemas/SourceGroupRef'
          description: Source groups visible to your organization.
        total:
          type: integer
          description: Total number of source groups available to your organization.
          example: 2
        page:
          type: integer
          description: The current page number.
          example: 1
        page_size:
          type: integer
          description: The number of source groups per page.
          example: 100
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Error message.
          example: Invalid API key
    ValidationErrorResponse:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorDetail'
    SourceGroupRef:
      type: object
      required:
        - slug
        - name
      description: >
        A source group attached to a job, returned with its slug, name, and
        description.


        Source groups are curated domain allowlists maintained by NewsCatcher.
        Attach one

        to a job with `source_groups` on job creation to scope fetching to its
        domains.
      properties:
        slug:
          type: string
          description: >
            Stable identifier for the source group. This is the value you pass
            in

            `source_groups` when creating a job.
          example: top-100-us-finance
        name:
          type: string
          description: Human-readable name of the source group.
          example: Top 100 US Finance
        description:
          type:
            - string
            - 'null'
          description: What the group covers, when set.
          example: Leading US financial news and trade publications.
    ValidationErrorDetail:
      type: object
      properties:
        loc:
          type: array
          items:
            oneOf:
              - type: string
              - type: integer
          description: Location of the validation error
        msg:
          type: string
          description: Error message
        type:
          type: string
          description: Error type
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication.

````

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