---
title: "Get a Verified catalog source"
method: GET
path: "/v1/catalog/{slug}"
tags: ["Catalog"]
---

# Get a Verified catalog source

`GET /v1/catalog/{slug}`

## Request

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

## Path parameters

- `slug` string, required

## Headers

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

## Response `200`

The catalog source

- CatalogSource: A SourceFinch Verified source: what the data is, typed fields, the Verified recipe document, a sample from SourceFinch's own latest green run, terms posture, usage rights (documented provenance, not legal advice) and 30-day reliability. Create a monitor from it with createSource using acquisition_path.endpoint, recipe.definition and recipe.key_field.
  - `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
            - `status` integer
            - `contains` string
            - `notContains` string
          - `extract` true
          - `paginate` object
            - `start` integer
            - `step` integer
            - `maxPages` integer, required
      - `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
            - `kind` 'click', required
            - `selector` Items, required (unresolved $ref)
            - `times` integer
          - object
            - `kind` 'scroll', required
            - `times` Times (unresolved $ref)
          - object
            - `kind` 'waitFor', required
            - `selector` Items, required (unresolved $ref)
          - object
            - `kind` 'dismiss', required
            - `selector` Items, required (unresolved $ref)
          - object
            - `kind` 'select', required
            - `selector` Items, required (unresolved $ref)
            - `value` string, required
          - object
            - `kind` 'fill', required
            - `selector` Items, required (unresolved $ref)
            - `value` string, required
            - `submit` boolean
      - `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)

## Other responses

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

## Changes

- **2026-10-20** `190cbe57a5e8`: 2 info
  - added the optional property `recipe/definition/flow/steps/items/extract` to the response with the `200` status
  - added the optional property `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/:slug/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)
