List families
GET/api/v1/families
Every market slug, coverage dates, and whether the caller’s plan can open it.
Description
Returns the published markets: listed US stocks, delisted US stocks, listed fundamentals, and index membership. Each row includes coverage dates and whether this credential’s plan can open catalog and series for that slug. Locked slugs still appear on the list. Valuation is not a row here; it has its own paths under /api/v1/families/valuation. The stock universe is not a row either; it is under /api/v1/families/us-equities/universe. Corporate events are under /api/v1/families/us-equities/events, dividend and split history under /api/v1/families/us-equities/corporate-actions, and FX rates under /api/v1/families/fx/rates. There is no query string.
Authentication
v1 is client_id plus client_secret on every protected GET. A browser session is not enough. Google sign-in is for the website only — do not send a session cookie to v1.
- HTTP Basic —
Authorization: Basic base64(client_id:client_secret) - Headers —
X-Client-IdandX-Client-Secret
Create or rotate credentials on Account. Full notes are on Authentication.
Path parameters
This path has no parameters.
Query parameters
These GETs take no query string except listed fundamentals, sector and index fundamentals, the stock universe, corporate events, dividend and split history, and valuation, which use symbols (the stock universe catalog also takes kind, sector, industry, and format; corporate events also take from and to; dividend and split history also takes types, from, and to), and FX rates, which use currencies with date or from and to. Path parameters select the family and symbol. The plan window is applied on the server.
Example request
curl -sS -u "$CLIENT_ID:$CLIENT_SECRET" \
https://barquant.dev/api/v1/familiesResponse attributes
| Field | Type | Description |
|---|---|---|
families | object[] | One object per published family. |
families[].slug | string | Family id used in later paths (for example us-equities). |
families[].label | string | Display name. |
families[].kind | "prices" | "spells" | "fundamentals" | prices returns daily bars. spells returns index-membership stays. fundamentals returns listed statements. |
families[].status | "ready" | "exporting" | "empty" | "placeholder" | Whether a catalog is published. |
families[].allowed | boolean | Whether this plan can open catalog and series for the slug. |
families[].requiredPlan | string | null | Lowest plan that unlocks the slug when allowed is false. |
families[].historyYears | number | null | Plan history window in years, or null on Unlimited. |
families[].historyCutoff | string | null | First session this plan can see, YYYY-MM-DD. Null when the family is locked. |
families[].symbolCount | number | null | Symbols in the catalog, or null when empty. |
families[].dateMin | string | null | Earliest session after the plan floor when allowed. |
families[].dateMax | string | null | Latest session in the catalog, YYYY-MM-DD. |
families[].generatedAt | string | null | When this family snapshot was produced. |
families[].samples | string[] | A few example symbols when the catalog is ready. |
families[].message | string | null | Status copy when the catalog is empty, preparing, or a placeholder. |
Sample response
{
"families": [
{
"slug": "us-equities",
"label": "US stocks",
"kind": "prices",
"status": "ready",
"allowed": true,
"requiredPlan": null,
"historyYears": 10,
"historyCutoff": "2016-09-13",
"dateMin": "2016-09-13",
"dateMax": "2026-09-11",
"symbolCount": 5,
"samples": [
"IBM"
],
"message": null
},
{
"slug": "us-equities-delisted",
"label": "Delisted US stocks",
"kind": "prices",
"status": "ready",
"allowed": false,
"requiredPlan": "basic",
"historyYears": 10,
"historyCutoff": null,
"dateMin": "1990-01-02",
"dateMax": "2024-12-31",
"symbolCount": 12,
"samples": [],
"message": null
},
{
"slug": "us-equities-fundamentals",
"label": "Listed fundamentals",
"kind": "fundamentals",
"status": "ready",
"allowed": true,
"requiredPlan": null,
"historyYears": 3,
"historyCutoff": "2023-09-13",
"dateMin": "2023-09-13",
"dateMax": "2026-09-11",
"symbolCount": 5,
"samples": [
"IBM"
],
"message": null
},
{
"slug": "index-membership",
"label": "Index membership",
"kind": "spells",
"status": "ready",
"allowed": false,
"requiredPlan": "pro",
"historyYears": null,
"historyCutoff": null,
"dateMin": "2015-01-02",
"dateMax": "2026-09-11",
"symbolCount": 3,
"samples": [
"$SPX",
"$NDX",
"$DJI"
],
"message": null
}
]
}Errors
| Status | When |
|---|---|
| 401 | Missing or wrong client_id / client_secret. |
| 429 | Daily quota or per-minute plan quota. Read Retry-After and X-RateLimit-* headers. |
401 body:
{
"error": "Unauthorized"
}429 body (per-minute / daily):
{
"error": "Too many requests."
}Plan access
Any authenticated plan. The list is the same for every plan; catalog and series enforce the allowlist.
Daily and per-minute quotas live on Plans and limits.
© 2026–2035 Barquant