Skip to main content
Read-only access to the Atlas Score Index: neutral 16-factor vault scores across four pillars — Yield, Safety, Liquidity, Sustainability. Public, no key, JSON out. A stranger should be able to integrate in under 30 minutes. The base URL, https://api.atlasyield.club/v1, returns an index of every endpoint with the rate limits and links. The machine-readable OpenAPI 3.1 document is at docs.atlasyield.club/api-reference/openapi.yaml (JSON: api.atlasyield.club/openapi.json).

Find a vault in one call

You do not need to know a vault address to get started. /scores takes filters, so one small request can answer “which USDC vaults on Base can I actually deposit into?”:
That response is about 2.5 KB. Without fields=compact and limit, /scores returns the whole catalog, which is large. A trimmed real response:
count is the rows returned and total is the rows that matched before limit. Every response carries applied, the filters this server honoured. If you sent a parameter and it is missing from applied, the rows are not filtered by it. The usual cause is a misspelt name: an unknown query key is not an error, it is ignored and listed in ignoredParams (present only when there is one), so minAPY=10 returns 200 with the rows unfiltered and "ignoredParams": ["minAPY"]. A ranking by composite is a ranking by the Atlas Score, not a recommendation. Before any deposit, check /route for that vault: a blocking verdict means refuse.

Authentication

None for everything above. The API is public and read only. No key, no signup.

Partner keys

Partners embedding Atlas in their own interface get a key, sent as x-api-key. It is an unlock, not a gate: every public endpoint behaves the same with or without it. What it adds (bulk factor breakdowns, the timestamped score history, a larger request budget) is documented for partners only.

Contact us for partner keys and more

Tell us what you are building and which vaults you list. We reply with a key, the partner endpoint reference, and pricing.
/scores and /catalog serve whatever is currently cached. /portfolio fails closed: an allocation is an active recommendation, so it returns 503 rather than allocating on stale scoring data. Treat a 503 as “ask again shortly”, not as an outage.

Calling from a browser

Every /v1 route answers cross-origin requests from any website: Access-Control-Allow-Origin: *, with no credentials involved, so fetch works from a page on any domain or from localhost. The x-api-key and content-type request headers are allowed, preflights are cached for 24 hours, and error responses carry the same headers, so a browser can read a 429 or 404 body. The RateLimit, RateLimit-Policy, Retry-After and X-Atlas-Disclaimer response headers are readable from JavaScript. openapi.json and llms.txt on the API host are open the same way.

Rate limits

60 requests / minute per IP. Exceeding it returns 429 with standard RateLimit-* headers. The dataset refreshes on a scoring cadence of hours, not seconds — cache responses and poll sparingly.

Versioning

Everything lives under the /v1 prefix. Breaking changes ship under a new prefix; /v1 stays stable. Every score row also carries scorerVersion so you can pin to a scoring engine revision.

Disclaimer

Atlas Scores are research and information, not investment advice. The same line ships on every response — as a disclaimer field and an X-Atlas-Disclaimer header. Scores are neutral, model-driven signals; you are responsible for your own listing and allocation decisions. See Limitations.

Coverage requests

Nothing to request access to. If there is a protocol or chain you need scored that we do not cover yet, email admin@atlasyield.club. Tell us the surface you are building and the sources you route to. You can tell us what to cover. You cannot tell us what it scores.