API
The data behind every page is published as static JSON. There is no key, no rate limit and no server: fetch the files directly, from any website.
| Path | Contents | Schema |
|---|---|---|
/data/v1/summary.json | Every protocol's Stage, six ratings, controller and TVL for the latest day | summary.schema.json |
/data/v1/protocols/<id>.json | One protocol's facts, scores and history | protocol.schema.json |
/data/v1/tokens/<mint>.json | One token's facts, four ratings and supply history | token.schema.json |
/data/v1/events.json | The change log, newest first | events.schema.json |
/feeds/all.atom | The change log as an Atom feed; /feeds/<id>.atom per protocol | Atom 1.0 |
Rules
- Schemas are published next to the data, under /data/v1/schemas/, and every file names the schema it follows.
- Breaking changes go to /data/v2/. Version 1 stays for 90 days afterwards, with a deprecation note in each file.
- Files are served with Access-Control-Allow-Origin: *, so a browser on any origin can read them.
- Output is deterministic: keys are sorted and arrays are ordered by stable IDs, so a diff between two days shows only real changes.
- Timestamps appear only in run metadata. Facts carry the slot they were read at.
Licence
Data is published under CC BY 4.0, and every file has a licence field saying so. Attribute it as “Data: Celebtir (CC BY 4.0)” with a link to this site.
Example
const res = await fetch("/data/v1/summary.json");
const summary = await res.json();