---
title: "List Verified catalog sources"
method: GET
path: "/v1/catalog"
tags: ["Catalog"]
---

# List Verified catalog sources

`GET /v1/catalog`

## Request

- Base URL: `https://sourcefinch.com`
- URL: `https://sourcefinch.com/v1/catalog`
- Auth: HTTP bearer

The public source catalog (also at https://sourcefinch.com/sources): every listed SourceFinch Verified source.

## Query parameters

- `limit` integer
- `cursor` string
- `q` string: Words that must all appear in the name, summary, publisher, category or field names
- `category` string

## Headers

- `X-Request-Id` string
- `SourceFinch-Project` string, uuid

## Response `200`

Listed Verified sources, by name

- CatalogSourceList
  - `data` CatalogSource[], required
    - `slug` string, required
    - `name` string, required
    - `summary` string, required
    - `description` string, required
    - `category` string, required
    - `data_domains` string[], required
    - `update_cadence` string, required
    - `origins` string[], required
    - `updated_at` string, required
    - `publisher` object, required
      - `slug` string, required
      - `name` string, required
      - `homepage` string, nullable, required
      - `jurisdiction` Homepage, required (unresolved $ref)
      - `public_body` boolean, required
    - `terms` object, required
      - `version` number, required
      - `url` Homepage, required (unresolved $ref)
      - `summary` Homepage, required (unresolved $ref)
      - `status` 'permits' | 'silent' | 'restricts' | 'prohibits' | 'unknown', required
      - `robots_url` Homepage, required (unresolved $ref)
      - `robots_sha256` Homepage, required (unresolved $ref)
      - `robots_verdict` 'allowed' | 'disallowed' | 'partial' | 'absent' | 'unknown', nullable, required
      - `ai_signals` object, required
      - `public_record` boolean, required
      - `public_record_citation` Homepage, required (unresolved $ref)
      - `reviewed_at` string, required
      - `next_review_at` Homepage, required (unresolved $ref)
    - `usage_rights` object, required
      - `version` number, required
      - `licence_basis` 'public_domain_gov' | 'open_data_licence' | 'site_terms' | 'licensed_feed' | 'customer_supplied' | 'unknown', required
      - `licence_id` Homepage, required (unresolved $ref)
      - `commercial_use` 'allowed' | 'restricted' | 'prohibited' | 'unknown', required
      - `redistribution` CommercialUse, required (unresolved $ref)
      - `attribution_required` boolean, required
      - `attribution_text` Homepage, required (unresolved $ref)
      - `terms_snapshot_url` Homepage, required (unresolved $ref)
      - `terms_snapshot_sha256` Homepage, required (unresolved $ref)
      - `reviewed_at` string, required
      - `next_review_at` Homepage, required (unresolved $ref)
    - `acquisition_path` object, required
      - `kind` 'official_api' | 'bulk_file' | 'open_data_portal' | 'licensed_feed' | 'publisher_partnership' | 'pay_per_crawl' | 'public_web' | 'customer_authorized' | 'records_request' | 'manual_upload', required
      - `endpoint` string, required
      - `status` 'available' | 'degraded' | 'blocked' | 'closed' | 'unknown', required
      - `status_reason` Homepage, required (unresolved $ref)
      - `terms_basis` object, required
      - `reviewed_at` Homepage, required (unresolved $ref)
    - `recipe` object, required
      - `id` string, required
      - `version_id` string, required
      - `name` string, required
      - `author` Homepage, required (unresolved $ref)
      - `version` string, required
      - `changelog` Homepage, required (unresolved $ref)
      - `schema_hash` string, required
      - `approved_at` Homepage, required (unresolved $ref)
      - `key_field` Homepage, required (unresolved $ref)
      - `schedule` 'hourly' | 'daily' | 'weekly', required
      - `definition` Recipe, required
        - `schema` 'sourcefinch/recipe@1'
        - `mode` 'http' | 'browser'
        - `format` 'html' | 'json' | 'xml' | 'csv'
        - `items` string, required
        - `fields` object, required
        - `connector` object
          - `id` string, required
          - `version` integer, required
        - `flow` object
          - `baseUrl` string, uri, required
          - `steps` object[], required
            - `id` string, required
            - `method` 'GET' | 'POST'
            - `url` string, required
            - `headers` object
            - `body` Url (unresolved $ref)
            - `capture` object
            - `expect` object
              - …
            - `extract` true
            - `paginate` object
              - …
        - `inputs` object
          - `datasetId` string, uuid, required
          - `version` integer, required
          - `key` Id, required (unresolved $ref)
          - `max` integer, required
        - `pagination` union
          - object
            - `kind` 'param', required
            - `param` string, required
            - `start` integer
            - `step` integer
            - `maxPages` integer, required
          - object
            - `kind` 'next', required
            - `selector` Items, required (unresolved $ref)
            - `maxPages` integer, required
        - `waitFor` Items (unresolved $ref)
        - `actions` union[]
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `required` string[]
        - `csv` object
          - `delimiter` ',' | '	' | ';' | '|'
          - `header` boolean
          - `encoding` 'utf-8' | 'latin1' | 'windows-1252'
        - `types` object
      - `fields` object[], required
        - `name` string, required
        - `type` 'string' | 'integer' | 'number' | 'boolean' | 'date' | 'datetime' | 'url' | 'enum', required
        - `description` string, required
        - `nullable` boolean
        - `values` string[]
    - `sample` object, required
      - `run_id` string, required
      - `url` string, required
      - `captured_at` string, required
      - `first_captured_at` string, required
      - `record_count` number, required
      - `records` object[], required
      - `evidence_sha256` string, required
      - `execution_ms` number, nullable, required
      - `manifest` object, nullable, required
        - `sha256` string, required
        - `signed` boolean, required
        - `key_id` Homepage, required (unresolved $ref)
        - `anchored_at` Homepage, required (unresolved $ref)
    - `reliability` object, required
      - `days` number, required
      - `runs` number, required
      - `success` number, required
      - `degraded` number, required
      - `failed` number, required
      - `p50_ms` number, nullable, required
      - `p95_ms` number, nullable, required
    - `health` object, required
      - `status` 'healthy' | 'degraded' | 'failing', required
      - `last_run_at` Homepage, required (unresolved $ref)
      - `last_run_status` Homepage, required (unresolved $ref)
      - `last_success_at` Homepage, required (unresolved $ref)
  - `next_cursor` string, nullable, required

## Other responses

- `400`: Problem details; `code` is `validation`
- `401`: Problem details; `code` is `unauthenticated`
- `403`: Problem details; `code` is `forbidden`
- `429`: Problem details; `code` is `rate_limited`
- `500`: Problem details; `code` is `internal`

## Changes

- **2026-10-20** `190cbe57a5e8`: 2 info
  - added the optional property `data/items/recipe/definition/flow/steps/items/extract` to the response with the `200` status
  - added the optional property `data/items/recipe/definition/flow/steps/items/paginate` to the response with the `200` status

[Operation history](https://skmtc.dev/sourcefinch/apis/sourcefinch-api/changes/v1/catalog/get.md)

---

[API](https://skmtc.dev/sourcefinch/apis/sourcefinch-api.md) · [All operations](https://skmtc.dev/sourcefinch/apis/sourcefinch-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sourcefinch/apis/sourcefinch-api/revisions/190cbe57a5e8?raw)
