API

The Dividend Registry API

UK dividend dates and amounts as JSON, compiled from official regulatory filings — with the source filing attached to every record.

Plans

Need more?

Larger volumes, or a use these plans don’t cover

More than 100,000 requests a month, several teams on one account, or a use the standard terms don’t allow — tell us what you need and we’ll price it.

Get in touch

Both plans include

  • Every endpoint, FTSE 350 companies and around 780 London-listed ETFs
  • History back to 2015, rebuilt daily after the evening’s filings
  • The source filing linked on every record
  • 60 requests a minute; the allowance resets on your billing date
  • Cancel any time — your key keeps working to the end of the period you paid for

Questions before you buy

What counts as a request?

Every call made with your key, including one that returns an error such as an unknown ticker. A call turned away before it reaches the data — an invalid key, the per-minute limit, a payment problem — doesn’t count, and /health is free and needs no key. One call to /dividends/upcoming returns up to 500 dividends.

What happens when I reach my monthly allowance?

Requests return 429 until the allowance resets on your billing date. It is a hard stop, never an extra charge. Every response tells you how many requests you have left.

Can I use the data in a commercial product?

Yes. While your subscription is active you can use it inside your own application, service or analysis, store and cache it, and show figures to your users. What the licence doesn’t allow is republishing the registry itself as a dataset, feed or API, sharing your key, or training models on the data — the terms set this out in full.

Can I get a refund?

If you are buying as a private individual and cancel within 14 days, we refund the days you haven’t used. Otherwise you can cancel at any time and keep access to the end of the period you paid for, with no further charge.

Does it cover ETFs as well as companies?

Yes. Companies and London-listed ETFs use the same endpoints; look a fund up by its London ticker, and each record says whether it is a company or a fund. Any other London line of the same fund share class returns the same record.

How do I change my card, switch plan or cancel?

Use the manage-your-subscription link below: we email you a sign-in link to our payment provider’s page, where you can do all three. Your key keeps working throughout.

Prices include any UK VAT. If you are buying from outside the UK, enter your business VAT or tax number at checkout. Subscribing from outside the UK as a private individual is not supported — the payment is refunded and no key is issued.

Already subscribed? Manage your subscription or replace a lost key.

What you get

The same dividend records that power this site: declared amounts with their ex-dividend, record and payment dates, the dividend type, the PID and special flags, and a link to the filing each figure came from. Records are rebuilt daily, after the day’s filings are ingested.

Coverage is FTSE 350 companies and London-listed ETFs — around 780 fund share classes, each checked against its own distribution notices and, for the largest fund families, against the provider’s own published history. A fund is looked up by its London ticker, and any other London line of the same share class returns the same record. The archive runs back to 2015 and is UK-only.

Base URL and authentication

Every request needs your API key in an Authorization header. Keys look like dr_live_… and are shown once, on the page after payment — we keep only a hash, so we cannot show one again.

curl https://api.dividendregistry.com/dividends/company/BP \
  -H "Authorization: Bearer YOUR_API_KEY"

It returns the company’s record — shortened here to its latest dividend and the main fields; the full list follows below:

{
  "kind": "company",
  "ticker": "BP",
  "company": "BP",
  "lei": "213800LH1BZH3DI6G760",
  "ftse_index": "ftse100",
  "upcoming": [],
  "recent": [
    {
      "dividend_type": "quarterly",
      "status": "declared",
      "amount": "8.66000000",
      "currency": "USX",
      "gbp_equivalent": "6.40590000",
      "declaration_date": "2026-08-04",
      "ex_dividend_date": "2026-08-13",
      "record_date": "2026-08-14",
      "payment_date": "2026-09-18",
      "is_pid": false,
      "is_special": false,
      "scrip_available": true,
      "source": {
        "source_doc_url": "https://data.fca.org.uk/artefacts/NSM/RNS/88d5b364-4449-4f63-b89f-d99b483cc312.html",
        "published": "2026-09-08T09:00:01Z",
        "tier": "filing"
      }
    },
    …
  ]
}

Requests are GET only, and responses are JSON. Keep your key out of anything you publish — browser code included, since a key in a web page is a public key.

Endpoints

EndpointWhat it returns
GET /dividends/upcomingDividends whose ex-dividend date is today or later, soonest first. days (1–400) limits how far ahead, index filters by FTSE membership (ftse100, ftse250), limit (1–500, default 100). Returns {as_of, count, dividends[]}.
GET /dividends/company/{ticker}One company, split into upcoming and recent. The ticker is the TIDM, case-insensitive. recent_limit (1–200, default 20). 404 if the ticker is not in the product.
GET /dividends/company/{ticker}/yearsDividends grouped by the company’s own financial year, each year reconciled against the total the company states itself. 404 if no verified years exist for it.
GET /calendar/{YYYY-MM}Every dividend whose ex-dividend or payment date falls in that month. 400 on a malformed month; a valid month with nothing in it returns an empty list.
GET /healthNo key needed. Returns {status, data_as_of} — the date of the data currently being served, so you can tell whether a refresh has landed.

Which list a dividend is in

upcoming and recent are decided by the ex-dividend date, falling back to the payment date. A dividend that has gone ex but has not been paid yet is therefore in recent, with its cash still to come — if you are showing someone what they are owed, read both lists. A record with neither date appears in neither.

Units and currencies

This is the part to get right, and the one place a careless integration goes wrong by a factor of a hundred.

Provenance

Every record carries a source object: the filing id, the stable disclosure id, the URL of the announcement on the national archive, and its publication timestamp in UTC. Nothing is served that cannot be traced to a filing, and records that our rules could not resolve are withheld rather than guessed.

Corrections create a new version rather than overwriting the old one, and only the current version is served. Withdrawn and cancelled dividends are never served.

Status and type values

status is declared or proposed — proposed means a final recommended in results and still subject to approval at the AGM. dividend_type is final, interim, quarterly, monthly, special or other.

Two honest caveats: other is a catch-all where the cadence is not yet resolved, and cadence wording is not fully normalised between issuers — a quarterly payer may appear as quarterly or interim. Treat is_special and is_pid as authoritative for those two attributes rather than reading the type word.

Limits

Errors

Errors return a JSON body of {"detail": "…"} with a matching status: 400 a bad parameter, 401 a missing or invalid key, 402 a payment problem on the subscription (access resumes when payment succeeds), 404 an unknown ticker or month with no data, 405 a method other than GET, and 429 either rate limit.

Freshness

The data is rebuilt once a day, after the evening ingest of that day’s filings, including at weekends — a payment date passing changes what is upcoming even on a day no company files anything. /health reports the date being served.

Before you build

Read the API terms — in particular what the licence does and does not allow you to do with the data. The methodology explains how the registry is compiled, and the disclaimer applies to the API as it does to the site: this is information compiled from filings, not advice, and the issuer’s own announcement is always the authoritative source.

Questions, or a use case that does not fit these plans? [email protected].