---
title: "Public source connector catalog"
method: GET
path: "/v1/sources"
tags: ["meta"]
---

# Public source connector catalog

`GET /v1/sources`

## Request

- Base URL: `https://api.hyperresearch.ai`
- URL: `https://api.hyperresearch.ai/v1/sources`
- Auth: none required

Honest per-connector state without credential values. Unauthenticated. Makes no outbound vendor call; it does ask the orchestrator for its own non-secret source status, because that is the Worker a licensed fetch would run on. The licensed-article row also carries `licensing`: the publisher domains an operator has verified and every cap a licensed read runs under — per article, per run, per run in articles, per UTC day, per month and the shared aggregate.

## Response `200`

Source catalog

- SourceCatalog
  - `sources` SourceCatalogEntry[], required
    - `slug` string, required
    - `label` string, required
    - `family` string, required
    - `state` 'configured' | 'unconfigured' | 'unavailable', required
    - `credentialPresent` boolean, required
    - `needsCredential` boolean, required
    - `access` string[], required
    - `rights` string, required
    - `retention` 'persisted' | 'ephemeral', required
    - `inMonthlyCap` boolean, required
    - `lastVerified` string
    - `licensing` object
      - `publishers` string[], required
      - `per_article_usd` number
      - `run_usd` number
      - `run_articles_max` number
      - `daily_usd` number
      - `daily_articles_max` number
      - `monthly_usd` number
      - `aggregate_monthly_usd` number
      - `usage_rule` string
      - `deny_entries` number
  - `generated_at` string, required

## Other responses

- `429`: Too many requests from this network; wait `Retry-After` seconds
- `500`: Internal error

---

[API](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api.md) · [All operations](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api/revisions/726ef831ebf4?raw)
