Endpoints · v1 / Global
The market-wide headline numbers: total market capitalisation, total 24-hour volume, and how much the first of those moved in 24 hours.
This endpoint is not a list. result is the object itself — no items, no
page, no total. It is also the only endpoint here that takes no parameters
at all; anything you send in the query string is ignored rather than rejected.
What the numbers cover
The coins listed on this site, not the whole market. The totals are built by summing our own per-coin market data over the coins we list and have activated, skipping any whose market cap we do not have. They will not match a figure from another aggregator, and the difference is coverage, not arithmetic.
total_volume_24h is a rolling 24-hour figure, the sum of the same 24-hour
volumes /quotes reports per coin — not the volume of a calendar day.
The three fields do not all share data_time
data_time is when the snapshot behind total_market_cap and
total_volume_24h was taken. Snapshots are written every ten minutes, so those
two numbers are between zero and ten minutes old.
total_market_cap_change_percentage_24h comes from a different job with its
own schedule, so it can be older or newer than data_time. If you need the
three to be consistent to the minute, they are not — treat the percentage as a
headline figure rather than as something derived from the two numbers beside it.
Two things to know about the percentage
It can be null, and that means we did not publish it — not that the market
did not move. The other two fields are unaffected and the response is still a
200, so render "—", not "0%". We withhold it when the upstream value is
missing, unreadable, larger than any figure this API can express, or when it was
computed against a different database from the one the two totals came from.
That last case is the reason the field is withheld rather than published with a
caveat: a percentage over the wrong denominator is not an approximate number,
it is an unrelated one.
It can be 0 when we could not compute it. Upstream reports zero both when
the 24-hour change really is zero and when it lacked a 24-hour-old reference
point to compare against, and those are indistinguishable to us and therefore to
you. A long run of exact zeros is the second case, not a frozen market.
Response
| Field | Type | Notes |
|---|---|---|
total_market_cap |
string | Decimal string, never a JSON number — the value is past what JSON.parse holds without rounding. Always present. |
total_volume_24h |
string | Same. Rolling 24 hours. Always present. |
total_market_cap_change_percentage_24h |
string | null | Percent, already multiplied by 100: "2.35" means 2.35%, and it can be negative. null when unavailable. |
data_time |
string | RFC3339, UTC, with a Z suffix. Describes the two totals only. |
Errors
Everything in Errors applies, plus one this endpoint alone returns:
| HTTP status | code |
message_key |
Cause |
|---|---|---|---|
| 404 | 40400 | NOT_FOUND |
No snapshot exists yet. The path is correct — there is nothing to return. |
Examples
# The whole endpoint
curl -H "X-Api-Key: <your-api-key>" \
"https://open-api.coinworldcap.com/openapi/v1/global"
# Query parameters are ignored, not rejected — this is the same 200
curl -H "X-Api-Key: <your-api-key>" \
"https://open-api.coinworldcap.com/openapi/v1/global?limit=5&sort=whatever"
# Show the response headers, including X-Request-Id
curl -i -H "X-Api-Key: <your-api-key>" \
"https://open-api.coinworldcap.com/openapi/v1/global"