Every brand we track with the banking licence that protects its deposits (legal name, scheme, country, owner) and the other brands on the same licence, which share one limit, plus the FSCS limits as numbers.
Reference
Exchange rates
Market
Calculators
Assistant
Covers UK FSCS banks, NS&I, EU and offshore banks, and platforms and e-money firms that aren't banks. providerSlug matches /rates and /reference/providers, and is null for a brand with no provider there. One price for the whole list.
Cost
1 DS Credit
per request
Scope
providers:read
Same data as
—
the DepositScout website
GET https://depositscout.com/api/developer/v1/reference/fscs
No parameters.
curl "https://depositscout.com/api/developer/v1/reference/fscs" \
-H "Authorization: Bearer $DS_API_KEY"Runs against this site. A ds_test_ key is free and returns sample data in the real shape; a live key returns real data and spends credits. The key is kept in this tab only.
curl "/api/developer/v1/reference/fscs" \
-H "Authorization: Bearer ds_test_…"data is a single object. Every 2xx also sets X-DS-Request-Id, X-DS-Credits-Charged, X-DS-Credits-Balance, the X-RateLimit-* trio and an ETag.
{
"data": {
"…": "the item"
},
"meta": {
"requestId": "req_7f3a9c2d1b4e5a6f7c8d",
"generatedAt": "2026-09-21T09:00:00.000Z",
"creditsCharged": 1,
"creditsBalance": 199,
"attribution": "Rates powered by DepositScout — depositscout.com"
}
}What this endpoint can return instead of data. Every error has the same shape: error (a stable code to branch on), message (what to do next), requestId and a docs link, plus the extra fields shown. None of them is charged.
missing_api_key— No Authorization header, or it isn't a Bearer token.{
"error": "missing_api_key",
"message": "Send your key as 'Authorization: Bearer ds_live_…'. Create one at https://depositscout.com/developer.",
"requestId": "req_7f3a9c2d1b4e5a6f7c8d",
"docs": "https://depositscout.com/developers/docs#missing_api_key"
}insufficient_scope— The key doesn't carry the scope the endpoint needs.{
"error": "insufficient_scope",
"message": "This key doesn't have the 'providers:read' scope.",
"requestId": "req_7f3a9c2d1b4e5a6f7c8d",
"docs": "https://depositscout.com/developers/docs#insufficient_scope",
"required": "providers:read"
}insufficient_credits— Balance is lower than the call's cost. A list whose page you can't fully afford is cut to the rows your balance covers instead (meta.limit and X-DS-Limit-Reduced say so), so this only happens below one row's price. Body has required, balance and topUp.{
"error": "insufficient_credits",
"message": "Not enough DS Credits for this request. Top up at https://depositscout.com/developer/credits.",
"requestId": "req_7f3a9c2d1b4e5a6f7c8d",
"docs": "https://depositscout.com/developers/docs#insufficient_credits",
"required": 1,
"balance": 0,
"topUp": "https://depositscout.com/developer/credits"
}rate_limited— Burst or daily limit hit. Retry-After tells you when.{
"error": "rate_limited",
"message": "Too many requests. Retry after 12s.",
"requestId": "req_7f3a9c2d1b4e5a6f7c8d",
"docs": "https://depositscout.com/developers/docs#rate_limited",
"retryAfter": 12
}Every code is listed in the shared error contract. Back to all endpoints.