Skip to content

GET /v1/sources

Call GET /v1/sources
Price free
Scope index:read
Operation id listSources

The sources behind Verdict’s index: license and attribution, refresh cadence, and the last successful run. Call it to check data freshness or the attribution to show. Free. Scope: index:read.

Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.

Request
curl -X GET 'https://api.askverdict.io/v1/sources' \
-H "Authorization: Bearer $VERDICT_API_KEY"

200: A page of sources.

200 response
{
"data": [
{
"id": "src_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"source": "gleif",
"name": "GLEIF LEI golden copy",
"phase": 1,
"license": {
"kind": "cc0",
"name": "CC0 1.0 Universal",
"url": "https://creativecommons.org/publicdomain/zero/1.0/",
"attribution": null
},
"refresh_cadence": "daily",
"rate_limit": null,
"last_successful_run": {
"id": "run_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"status": "succeeded",
"started_at": "2026-11-07T03:00:00Z",
"finished_at": "2026-11-07T03:21:40Z",
"events_upserted": 1874
},
"last_run": {
"id": "run_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"status": "succeeded",
"started_at": "2026-11-07T03:00:00Z",
"finished_at": "2026-11-07T03:21:40Z",
"events_upserted": 1874
},
"freshness_seconds": 7200
}
],
"next_cursor": null,
"has_more": false
}
Name In Type Required Description
cursor query string no Opaque cursor from the next_cursor of the previous page. Omit it for the first page.
limit query integer no Page size, 1 to 200. Default 50.
x-verdict-version header string no API version to use, a date. Defaults to the version current when the key was created. The current version is 2026-11-01.
Field Type Required Description
data array of Source yes Sources.
data[].id string yes The source id.
data[].source enum: “sec_edgar”, “gleif”, “companies_house”, “wikidata” yes Stable source slug, as cited in evidence[].source.
data[].name string yes Human name.
data[].phase integer yes Release phase that ships the source.
data[].license object yes The source’s license.
data[].license.kind enum: “public_domain”, “cc0”, “ogl_v3”, “cc_by_4_0”, “cc_by_3_0_au” yes License kind.
data[].license.name string yes License name.
data[].license.url string (uri) yes License text.
data[].license.attribution string or null yes Attribution text to show when you display the data, if required.
data[].refresh_cadence string yes How often Verdict refreshes it, for example daily.
data[].rate_limit string or null yes The source’s fair-access limit Verdict observes.
data[].last_successful_run object or null yes Latest successful ingestion, or null if none yet.
data[].last_successful_run.id string yes The run id.
data[].last_successful_run.status enum: “running”, “succeeded”, “partial”, “failed” yes Run status.
data[].last_successful_run.started_at string (date-time) yes When the run started.
data[].last_successful_run.finished_at string or null (date-time) yes When the run finished.
data[].last_successful_run.events_upserted integer yes Events inserted or updated.
data[].last_run object or null yes Latest ingestion run of any status (it may still be running or have failed), or null if none yet.
data[].last_run.id string yes The run id.
data[].last_run.status enum: “running”, “succeeded”, “partial”, “failed” yes Run status.
data[].last_run.started_at string (date-time) yes When the run started.
data[].last_run.finished_at string or null (date-time) yes When the run finished.
data[].last_run.events_upserted integer yes Events inserted or updated.
data[].freshness_seconds integer or null yes Seconds since the latest successful run finished: how fresh this source’s data is. null if it has never succeeded.
next_cursor string or null yes Pass as cursor to fetch the next page. null when this is the last page.
has_more boolean yes Whether another page follows.

Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.

Status Meaning
400 Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request).
401 Missing, malformed, revoked or expired API key, or a bad webhook signature (unauthorized).
403 The key lacks the scope this operation needs (forbidden_scope).
429 Rate limited (rate_limited). Wait Retry-After seconds.
500 Unexpected server error (internal). Not billed; retry with the same Idempotency-Key.

Open the interactive reference to send this request from the browser. The full document is at /openapi.json.