---
title: "Every source the ledger is built from, with its live row count."
method: GET
path: "/v1/meta/providers"
tags: ["meta"]
---

# Every source the ledger is built from, with its live row count.

`GET /v1/meta/providers`

## Request

- Base URL: `https://api.jobopportunitiesapi.org`
- URL: `https://api.jobopportunitiesapi.org/v1/meta/providers`
- Auth: HTTP bearer

The list `?provider=` and `?exclude_provider=` accept. A value that is
not here is a 422, never a silently empty page — you can always tell
"no jobs match" from "you spelled it wrong".

Only redistributable sources appear. Sources JOA reads but does not
republish are named at `GET /public/coverage` (`excluded_sources`).

Also served without a key at `GET /public/providers`, because "which
sources is this built from" is a question you should be able to answer
before creating an account.

## Response `200`

The provider list.

- object
  - `data` object[]
    - `label` string
    - `live_listings` integer
    - `provider` string: The value to pass to ?provider=.
    - `source_class` 'employer_ats' | 'government' | 'direct'
    - `source_type` string
    - `with_description` integer: How many of this source's live rows carry the employer's advert text. Published including the sources where it is zero — three of them have no adapter in the description crawl at all, so they contribute rows and no text, and `?provider=<that>&require_fields=description` returns an empty page. Knowing that here beats discovering it mid-evaluation.
    - `with_description_pct` number
  - `generated_at` string, date-time
  - `note` string

## Other responses

- `401`: Missing, unknown, revoked or expired key. All four are reported identically.
- `429`: Over your plan's per-minute or per-day limit. `Retry-After` says how long (seconds to the next minute boundary, or to UTC midnight on a daily breach). The body says exactly when the limit resets (`resets_at`, `resets_at_text`) and, when a higher plan exists, links a same-key upgrade (`upgrade_url`).

---

[API](https://skmtc.dev/jobopportunitiesapi/apis/job-opportunities-api.md) · [All operations](https://skmtc.dev/jobopportunitiesapi/apis/job-opportunities-api/llms.txt) · [OpenAPI document](https://skmtc.dev/jobopportunitiesapi/apis/job-opportunities-api/revisions/b5ef9709a0c9?raw)
