API
Every table on the site answers in JSON too, with no key, no account and no quota.
The figures belong to the funds that file them and to the regulators that publish them. If you republish them, name the original source.
| Address | Response |
|---|---|
/api/company/<isin> Try it | The funds that hold a company, with the number of shares, the weight inside each fund and the share of capital where it is known. |
/api/fund/<id> Try it | The holdings of a fund, line by line, as of the date it filed. |
/api/isins Try it | Every company on the site, one per line, with its ISIN and its address. |
/en/feed.xml Try it | This feed lists every fund whose portfolio arrives on Titelia or changes. It is read from the report the fund publishes itself. |
/api/fund/<id>.csv Try it | The same table as a file, for a spreadsheet. |
/api/company/<isin>.csv Try it | The same table as a file, for a spreadsheet. |
/api/openapi.json Try it | The OpenAPI contract. It is generated from the constants in the code. |
Every address here takes limit (1,000 rows by default, 12,000 at most) and offset. The page block of the answer gives the total and the addresses of the next and previous pages. The files also take lang, which writes the columns in one of the three languages of the site. Past 120 requests a minute, an address gets a 429 and the delay to wait.
No version in the addresses, because nothing will break: a field may appear, none disappears or changes meaning, and an address does not move.
Refusals
An error answers as application/problem+json (RFC 9457). Its type field points to one of the codes in the list of refusals. The status and detail fields give the rest.
company-not-found- No company answers to that identifier. The full list is at /api/isins.
fund-not-found- No fund answers to that identifier.
not-found- The requested resource does not exist.
no-such-endpoint- No API address answers here.
method-not-allowed- These addresses are read-only: GET, HEAD and OPTIONS.
rate-limit-exceeded- Too many requests within the minute. The retry-after header gives the delay to wait.
server-error- The site failed to answer. Please retry a little later.