---
title: "Ownership register totals"
method: GET
path: "/psc/stats"
tags: ["PSC"]
---

# Ownership register totals

`GET /psc/stats`

## Request

- Base URL: `https://api.companystack.co.uk`
- URL: `https://api.companystack.co.uk/psc/stats`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`

Totals across the register of people with significant control: how many PSCs are held and active, how many companies have one, the split between individuals and corporate bodies, current PSC statements, and the ten most common nationalities. Recomputed about hourly and served from memory; `generated_at` says when. While the first computation runs the answer is 503 with `Retry-After`.

## Response `200`

Register-wide ownership totals

## Other responses

- `401`: API key missing, malformed or revoked
- `403`: The key's plan does not include this endpoint (`code: plan_upgrade_required`, with `upgrade_url`), the key may not call it, or the key is beyond the plan's key limit after a downgrade (`code: key_limit_exceeded`: the newest keys are paused until keys are deleted or the plan upgraded)
- `429`: Per-minute or per-day limit reached (`code: rate_limited`, `window: minute|day`). Wait `Retry-After` seconds; when both windows are full the day is reported. A refused request does not count against either limit. A bulk lookup (`POST /company/bulk`) counts each company number in it as one request, so one that is more than you have left is refused whole, and the body adds `requested` and `fits`.
- `503`: The totals are being prepared (`code: psc_stats_preparing`); try again after `Retry-After`

---

[API](https://skmtc.dev/companystack/apis/companystack-api.md) · [All operations](https://skmtc.dev/companystack/apis/companystack-api/llms.txt) · [OpenAPI document](https://skmtc.dev/companystack/apis/companystack-api/revisions/8f3234237d2d?raw)
