2026-09-18 UTC
☰ Menu
◆ open data

A free JSON API for trending cryptocurrencies

Four endpoints, no key, no sign-up, no rate limit. The same numbers that build every page on this site, rebuilt once a day and served as plain JSON under CC BY 4.0 — you only have to name the source.

Endpoints4
Coins today30
Markets43
Coin files108

What this API is

Today's trending.json carries 30 coins and weighs 40.4 kB. A coin object has 28 top-level fields; nothing is nested more than two levels deep. The country file describes 43 markets; 26 returned data today and together they hold 247 entries. There are 14 sectors in categories.json, and Layer 1 chains tops it with 28 trending members. The /api/coin/ folder holds 108 fresh files and 0 archived ones that are never deleted.

At the head of the response you will find Zcash, trend score 98. Signals are filled in for 29 of 30 coins; missing history is reported, never guessed. The hype_risk field reads high for 5 coins and low for 12 today. Half the list moved more than +6.3% in the last day; 27 of them are up. The longest streak in the file belongs to Zcash, at 2 consecutive days on the list.

The widest geographic spread is NEAR Protocol, trending in 13 countries at once. At the top of countries.json sits Indonesia, holding 30 coins. Each coin file ships a history array of up to 30 points, taken from 3 stored snapshots. Total payload across the endpoints is 674.9 kB, including every per-coin file.

Endpoints

No key, no headers, no POST. Every file is a static GET.

EndpointReturnsRecordsSize
/api/trending.jsonGlobal top 30: rank, coin, symbol, trend score, country count, signal, hype risk, price, 24h3040.4 kB
/api/countries.jsonEvery national market and the coins trending inside it, in list order43118.5 kB
/api/categories.jsonSector categories: members, trending members, median 24h move, combined market cap145.8 kB
/api/index.jsonEndpoint catalogue and the slug list for today42.1 kB
/api/coin/<slug>.jsonOne coin in full: score breakdown, hype-risk breakdown, indicators, country positions, 30 days of rank history108one file each

Slugs match the site URLs: /coin/pepe/ is /api/coin/pepe.json. A coin only gets a file once it has a page, so unresolved and single-day entries are in trending.json but not in /api/coin/.

Field reference

Percentages are fractions. 0.042 means +4.2%.

FieldTypeMeaning
rankintegerPosition in today's global trending list, 1 = highest interest.
idstring / nullCoinGecko id, the primary key of this dataset. Null when the upstream identity could not be resolved.
slugstringURL slug used by both the site page and the per-coin file.
symbolstringTicker, upper case. Not unique — several projects share a ticker, so join on id.
trend_scoreinteger 0–100Combined interest score: CoinGecko rank, two CoinMarketCap lists, country spread and Binance Hot membership.
countriesintegerHow many national lists the coin appears on today.
country_slugsarrayWhich markets those are, matching the slug field of countries.json.
days_on_listinteger / nullConsecutive days on a trending list. 1 means it arrived today.
rank_changeinteger / nullYesterday's rank minus today's. Positive means it climbed. Null when there is no comparable snapshot.
confirmedbooleanTrue when at least two independent upstream sources list the coin.
sourcesobjectWhich of the three upstream lists the coin came from.
signalstringstrong_buy, buy, neutral, sell, strong_sell or none. A summary of the daily technical model, not advice.
technical_scoreinteger / nullShare of passed technical checks, 0–100. Null when there is too little price history.
limited_databoolean / nullTrue when the model ran without real high/low data, so Supertrend, ADX and breakout checks were skipped.
hype_riskobjectscore 0–100 and level low / medium / high, from six transparent criteria.
price_usdnumber / nullLatest price in US dollars.
change_24h / change_7d / change_30dnumber / nullPrice change as a fraction over the last 1, 7 and 30 days.
market_cap_usd / volume_24h_usdnumber / nullMarket capitalisation and 24-hour traded volume in dollars.
historyarrayPer-coin files only: date, rank, trend score, country count and price for up to 30 days.

Example response

Real output from /api/trending.json, trimmed to the meta block and the first coin.

{
    "meta": {
        "generated": "2026-09-18T00:37:58+00:00",
        "date": "2026-09-18",
        "dataset": "Global trending cryptocurrencies, top 30",
        "license": "CC BY 4.0",
        "attribution_url": "https://cryptotrendsmap.com/",
        "update_frequency": "once a day, 00:35 UTC"
    },
    "coins": [
        {
            "rank": 1,
            "id": "zcash",
            "slug": "zcash",
            "name": "Zcash",
            "symbol": "ZEC",
            "url": "https://cryptotrendsmap.com/coin/zcash/",
            "api_url": "https://cryptotrendsmap.com/api/coin/zcash.json",
            "trend_score": 98,
            "countries": 12,
            "country_slugs": [
                "australia",
                "india",
                "indonesia",
                "netherlands",
                "norway",
                "romania",
                "saudi-arabia",
                "south-korea",
                "sweden",
                "ukraine",
                "united-arab-emirates",
                "vietnam"
            ],
            "days_on_list": 2,
            "rank_change": 0,
            "new_entry": false,
            "confirmed": true,
            "sources": {
                "coingecko": true,
                "coinmarketcap": true,
                "binance_hot": true
            },
            "signal": "strong_buy",
            "signal_label": "Strong buy",
            "technical_score": 100,
            "technical_checks": 10,
            "limited_data": false,
            "hype_risk": {
                "score": 32,
                "level": "medium"
            },
            "price_usd": 1450.94,
            "change_24h": 0.081162,
            "change_7d": 0.342,
            "change_30d": 1.894,
            "market_cap_usd": 24588013736,
            "volume_24h_usd": 2557220664,
            "market_cap_rank": 9
        }
    ]
}

Refresh, caching and CORS

The whole dataset is rebuilt once a day at 00:35 UTC and does not change in between; the generated and date fields in every file tell you which run you are holding. Polling more often than daily only costs you bandwidth. Files are served with Access-Control-Allow-Origin: * and a one-hour cache, so browser code can fetch them directly.

Nothing is ever deleted. When a coin leaves the trending list its file stays where it was and flips to "trending": false, and a market that stops publishing keeps its entry with has_data: false. Consumers see the gap instead of a missing key or a 404.

Attribution

Published under CC BY 4.0. Use it in an app, a paper, a dashboard or a newsletter; the one condition is a visible credit with a working link. This line is enough:

Data from Crypto Trends Map (https://cryptotrendsmap.com/)

If you would rather show the numbers than fetch them, the embeddable widget carries the credit for you.

Questions

Do I need an API key?

No. There is no key, no account and no rate limit. The endpoints are static JSON files on a CDN-friendly host, so a GET is all it takes.

How often does the data change?

Once a day. Collection runs at 00:35 UTC and every file is rewritten from scratch in the same run, so the whole dataset is always internally consistent.

Can I use it commercially?

Yes, under CC BY 4.0: keep a visible credit with a link back to cryptotrendsmap.com. You do not need to ask first.

Is trending a buy signal?

No. Trending measures search and page-view interest, and the technical signal is a summary of ten mechanical checks on daily closes. Neither is a forecast and neither is financial advice.

Why is a coin missing from /api/coin/?

A coin gets its own file once it has held a page — two days on the list or three countries. Before that it appears in trending.json only, because a single day of data would not fill the fields.

What happens to old files?

They stay. Coin files switch to trending: false and keep their history, so links and mirrors made months ago still resolve.