Titelia

API

Jede Tabelle der Website antwortet auch in JSON, ohne Schlüssel, ohne Konto und ohne Kontingent.

Die Zahlen gehören den Fonds, die sie melden, und den Aufsichtsbehörden, die sie veröffentlichen. Wer sie weiterverwendet, nennt die ursprüngliche Quelle.

Die Adressen
AdresseAntwort
/api/company/<isin> AusprobierenDie Fonds, die eine Gesellschaft halten, mit Stückzahl, Anteil am jeweiligen Fonds und Kapitalanteil, sofern bekannt.
/api/fund/<id> AusprobierenDie Zusammensetzung eines Fonds, Position für Position, zum Stichtag seiner Meldung.
/api/isins AusprobierenAlle Gesellschaften der Website, eine pro Zeile, mit ihrer ISIN und ihrer Adresse.
/de/feed.xml AusprobierenDieser Feed meldet jeden Fonds, dessen Zusammensetzung auf Titelia neu erscheint oder sich ändert. Sie stammt aus dem Bericht, den der Fonds selbst veröffentlicht.
/api/fund/<id>.csv AusprobierenDieselbe Tabelle als Datei, für die Tabellenkalkulation.
/api/company/<isin>.csv AusprobierenDieselbe Tabelle als Datei, für die Tabellenkalkulation.
/api/openapi.json AusprobierenDer OpenAPI-Vertrag. Er wird aus den Konstanten des Codes erzeugt.

Alle diese Adressen akzeptieren limit (standardmäßig 1.000 Zeilen, höchstens 12.000) und offset. Der page-Block der Antwort nennt die Gesamtzahl sowie die Adressen der nächsten und der vorigen Seite. Die Dateien akzeptieren zusätzlich lang, das die Spalten in einer der drei Sprachen der Website schreibt. Ab 120 Anfragen pro Minute erhält eine Adresse eine 429 und die Wartezeit.

Keine Version in den Adressen, weil nichts brechen wird: ein Feld kann hinzukommen, keines verschwindet oder ändert seine Bedeutung, und eine Adresse zieht nicht um.

Ablehnungen

Ein Fehler antwortet als application/problem+json (RFC 9457). Sein Feld type verweist auf einen der Codes in der Liste der Ablehnungen. Die Felder status und detail nennen den Rest.

company-not-found
Keine Gesellschaft antwortet auf diese Kennung. Die vollständige Liste steht unter /api/isins.
fund-not-found
Kein Fonds antwortet auf diese Kennung.
not-found
Die angefragte Ressource existiert nicht.
no-such-endpoint
Keine API-Adresse antwortet hier.
method-not-allowed
Diese Adressen sind nur lesbar: GET, HEAD und OPTIONS.
rate-limit-exceeded
Zu viele Anfragen innerhalb der Minute. Der Header retry-after nennt die Wartezeit.
server-error
Die Website konnte nicht antworten. Bitte versuchen Sie es etwas später erneut.