Contents
The calling key: plan, limits, usage
The caller: the key (masked, never the secret: name, scopes, expiry, IP allowlist, browser origins), the plan and its limits, the account’s usage of the current minute and UTC day, overage, the history window and the venues the licence gate withholds.
/api/v1/meEvery keyDescription
Not counted against the limits and never 429: ask it when a client is limited. Keyless public access (X-Blockmetric-Access: public) gets the public tier and key null.
Who can call it
Available with every key and keyless (X-Blockmetric-Access: public). Keys of Free accounts get free-tier data (real-time feeds, 30 days of history, heatmap over time for every coin over the last 24 hours, liquidation levels now for every coin, the same as the free web plan); Pro and Desk keys the data of their plan; API Dev / API Pro raise the limits.
- No key
- 24 h
- Free
- 30 days
- Pro
- 365 days
- Desk
- 1095 days
- API Dev
- 365 days
- API Pro
- 1095 days
History window per plan. Limits: Authentication & limits.
Parameters
No parameters.
Response fields
Every success is { data, meta }; these are the fields of data. meta is the same on every endpoint.
| Field | Description |
|---|---|
keylessboolean | true = keyless public access (X-Blockmetric-Access: public). |
keyobject · nullable | The calling key; null with keyless access. |
key.maskedstring | Prefix and last 4 characters (bm_live_…ABCD), never the key. |
key.namestring · nullable | Your label of the key. |
key.createdAtstring (ISO 8601) | Created. |
key.expiresAtstring (ISO 8601) · nullable | Expiry; null = none. |
key.lastUsedAtstring (ISO 8601) · nullable | Last request with the key (updated at most once a minute). |
key.scopes[]array of "api" | "node" | api = this data API, node = the node gateway. |
key.ipAllowlist[]array of string | CIDR ranges the key is limited to; empty = any address. |
key.allowedOrigins[]array of string | Browser origins that may use the key; empty = server use only. |
plan"free" | "pro" | "desk" | "api_dev" | "api_pro" | The caller's plan. |
limitsobject | Limits of the plan. |
limits.perMinuteinteger | Requests per minute (account, all keys). |
limits.perDayinteger | Requests per UTC day. |
limits.webhookEndpointsinteger | Webhook endpoints the plan includes. |
limits.streamsinteger | Concurrent live streams the plan includes. |
usageobject | Requests of the account in the current minute and UTC day (this request is not counted). |
usage.minuteobject · nullable | The current one-minute window; null when unknown. |
usage.minute.limitinteger | Requests allowed in the window. |
usage.minute.usedinteger | Requests used. |
usage.minute.remaininginteger | Requests left. |
usage.minute.resetsAtstring (ISO 8601) | When the window resets. |
usage.dayobject · nullable | The current UTC day; null when unknown. |
usage.day.limitinteger | Requests allowed in the window. |
usage.day.usedinteger | Requests used. |
usage.day.remaininginteger | Requests left. |
usage.day.resetsAtstring (ISO 8601) | When the window resets. |
overageobject | Requests beyond the daily limit (billed per 1,000 calls up to the monthly cap). |
overage.availableboolean | The plan can bill requests beyond the daily limit (API Dev, API Pro). |
overage.enabledboolean | Overage is switched on for the account. |
overage.capUsdnumber · nullable | Monthly cap of the overage cost in USD. |
overage.pricePer1kUsdnumber · nullable | Price per 1,000 calls beyond the daily limit in USD. |
overage.monthCallsinteger | Calls billed as overage this UTC month. |
overage.monthCostUsdnumber | Overage cost this UTC month (USD). |
accessobject | Data scope of the plan. |
access.historyDaysinteger | Days of history the plan reads. |
access.delayMinutesinteger | Feed delay in minutes (0 = real time). |
access.heatmapTimeframes[]array of string (enum) | Heatmap intervals of the plan. |
access.liqMapCoinsinteger · nullable | Coins with liquidation levels now (top by open interest); null = every coin. |
access.commercialboolean | Whether the licence allows commercial use (see meta.license). |
restrictedVenues[]array of "binance" | "bybit" | "okx" | Exchanges whose raw rows the API withholds during the licence review. |
Errors
- 400
invalid_paramInvalid parameter - 401
unauthorizedMissing or invalid API key - 403
plan_requiredPlan does not include this - 403
scope_requiredKey not scoped for this API - 403
ip_not_allowedAddress not on the IP allowlist of the key - 403
origin_not_allowedKey used from a browser origin it does not allow - 403
source_restrictedExchange data not redistributed - 403
https_requiredhttps required - 500
internal_errorInternal errorretry
Code snippets in these docs are licensed under MIT-0: copy them into your own code without attribution. The SDKs, CLI and MCP server will be, once published, Apache-2.0; the name Blockmetric is not licensed (forks must be renamed). Data from the API is governed by the API terms; third-party exchange data by the exchange’s terms.