Get an API key
Create and manage keys at app.blockworks.com/account/api. Keys are shown once at creation, so store yours in a secret manager or environment variable.Using your key
Pass the key in theX-Blockworks-API-Key header on every request to https://api.blockworks.com:
The header name is
X-Blockworks-API-Key. Header names are case-insensitive, so
x-blockworks-api-key works identically. The legacy x-messari-api-key header is still
accepted for existing integrations; new code should send X-Blockworks-API-Key.Access tiers
Not every dataset requires the same level of access. Each model in the catalog declares an access tier, and the API enforces it per request:
Models restricted to internal users do not appear in the public catalog or in this reference.
Paid is the default tier of the reference, so reference pages only call out the exceptions (public
models and models that need a specific permission). You can read the tier of any model from
access.tier in the
catalog endpoints. See Errors for
the exact messages.
Rate limits
The Data API itself enforces no rate limit and sends noRateLimit-* or Retry-After headers.
Responses are cached for 30 minutes (Cache-Control: max-age=1800), so repeating an identical
request within that window is served from cache. Keep concurrency reasonable and prefer selections
and narrow time windows over large repeated pulls.
Handling keys safely
Server-side only
Call the API from your backend. A key shipped to a browser or mobile app is a public key.
Environment variables
Load the key from the environment or a secrets manager rather than hardcoding it.
Rotate regularly
Regenerate your key periodically, and immediately if you suspect it has leaked.
Verify your setup
/query/ping is a lightweight endpoint for confirming your client is wired up correctly. The
request above returns: