API reference › Domains › List domains
List domains
GET
/v1/domainspropgate domains list [--state <state>]| Field | Type | Description |
|---|---|---|
| limit | number | Default 50, max 200. |
| cursor | string | From a previous page's meta.nextCursor. Omit for the first page. |
| state | string | One of pending, verifying, verified, degraded, failed. |
| externalId | string | Your own identifier, exact match. The filter to reach for if you did not keep our ids. |
curl -s "https://api.propgate.dev/v1/domains?limit=200" \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -s "https://api.propgate.dev/v1/domains?state=failed" \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -s "https://api.propgate.dev/v1/domains?externalId=cust_1" \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Paging is by cursor, ordered oldest first. Pass meta.nextCursor back until
it is null. A domain registered while you are mid-walk lands after the
cursor and appears at the end, so a full walk never misses a row it had not
reached yet — the property an offset-based page cannot give you once rows are
being inserted concurrently.
{
"data": [
{
"createdAt": "2026-08-03T12:00:00.000Z",
"externalId": "cust_1",
"id": "019fcf7a-2b3c-7d4e-9f5a-6b7c8d9e0f1a",
"lastCheckedAt": "2026-08-03T12:05:00.000Z",
"name": "yourdomain.dev",
"object": "domain",
"profileVersionId": "019fcf6b-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"requirements": [
{
"key": "spf",
"satisfied": true,
"verdict": "pass",
"findings": []
}
],
"requirementsMet": 3,
"requirementsTotal": 5,
"state": "failed",
"verdict": "fail"
}
],
"error": null,
"meta": {
"nextCursor": "019fcf7a-2b3c-7d4e-9f5a-6b7c8d9e0f1a"
}
}lookups is omitted here. A stored result is about 389 bytes without it;
including it on every item would multiply the page by roughly 4.4×, and at
the maximum limit of 200 that is the difference between a page you can
reconcile in one request and one that times out doing it. Fetch
a single domain to get the lookups behind a specific
result.