fshy

Home / Data APIs

Messari (Blockworks Data API)

docs.blockworks.com/getting-started/authenticationCrypto market and onchain data API (assets, protocols, exchanges, timeseries)data-apis/messariJSONcomparereport an errorprovider JSON

Free allowance
No free market-data allowance found: every call needs an API key, the Free plan lists no Assets endpoints, and most models need a paid plan; models of the unpaid access tier work with any valid key, and the docs do not list them
Verdict
paidno free allowance; listed for its price
Cost
no price stated
Identity
emailno card, no phone
Binding limit
write-gatedpaid or permission-gated access: a free-plan key answers 403 on models of the paid tier
Evidence
documented7 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tierNo free market-data allowance found: every call needs an API key, the Free plan lists no Assets endpoints, and most models need a paid plan; models of the unpaid access tier work with any valid key, and the docs do not list them
unit none; metered on none; The Data API enforces no rate limit and caches answers for 30 minutes. A keyless call to the tabular assets model answered HTTP 401 although the quickstart calls that model public; the legacy api.messari.io v1 endpoint answered 403 invalid auth mechanism. The Pro plan opens only the Assets endpoints; its price is not on the page.
Pricenone stated
Limits
  • write-gated (binding) paid or permission-gated access: a free-plan key answers 403 on models of the paid tier source
Bulk path: the legacy Bulk API gave CSV or JSONL downloads by subscription tier; the current Datashares are sales-gated. Storage terms: unverified. Rate limit: none enforced by the Data API; the legacy docs gave 200 requests a minute for unpaid keys.
Bindingwrite-gated Access to a model, not a request count, decides what a free key can read.
Identityemail A key is made in an account at app.blockworks.com; the sign-up form was not read, so what it asks is unverified: behind a sign-up.
Egressnot metered in bytes
Per-object capnot stated
Interfacerest GET https://api.blockworks.com/query/tabular/... and /query/timeseries/... with the X-Blockworks-API-Key header; the legacy x-messari-api-key header is still accepted
Toolingcurl or any HTTP client; an MCP server, warehouse Datashares and spreadsheet plugins are sales-gated
Composes withCrypto market data from here needs a paid plan; CoinPaprika and CoinLore give keyless prices, DefiLlama keyless DeFi metrics.
ReliabilityA keyless call answered HTTP 401 on the assets model the quickstart calls public; the legacy host answered 403.
NotesNo keyless route; a free key reaches only unpaid-tier models. Bulk path: sales-gated. Storage terms: unverified.
Evidence notedocumented Access tiers and the pricing table are first-party; the keyless 401 contradicts the quickstart; the free key was not exercised.
Parsed numbers
  • has-free-tier 0
Evidence 7
datesourcewhat it proved
2026-11-02docs.blockworks.com/getting-started/authenticationunpaid-tier models work with any valid key
2026-11-02docs.blockworks.com/getting-started/authenticationpaid models refuse a free-plan key with 403
2026-11-02docs.blockworks.com/getting-started/authenticationthe Data API enforces no rate limit and caches 30 minutes
2026-11-02app.blockworks.com/pricingPro opens only the Assets endpoints of the API
2026-11-02docs.messari.io/api-reference/permissionslegacy docs set unpaid keys at 200 requests a minute
2026-11-02probe: https://api.blockworks.com/query/tabular/assets?pageSize=2a keyless call to the assets model answered HTTP 401
2026-11-02probe: https://api.blockworks.com/query/tabular/assets?pageSize=2the 401 says the model requires authentication
More fields 1
bulk pathlegacy Bulk API by tier; Datashares by sales
Unknown values 1
  • retention stated: the field does not apply to this kind of offer