Developers
Rising and lists
The games gaining or losing the most players, the live board, games found early and Roblox's own charts.
Rising and falling
Compares each game's average players over the latest complete day (or 7 days) with the same length of time just before it. Both periods need readings on every day, and the earlier average must be at least min_players, so a game going from 3 to 30 players does not crowd out real movers.
| Parameter | Default | What it does |
|---|---|---|
period | week | day or week. |
direction | rising | rising or falling. |
min_players | 500 | Lowest earlier average to include, 100 or more. |
limit | 25 | 1 to 100. |
curl -A "my-app/1.0 ([email protected])" \
"https://ccucheck.com/api/v1/rising?period=week&limit=10"import https from "node:https";
https.get("https://ccucheck.com/api/v1/rising?period=week&limit=10", {
headers: { "User-Agent": "my-app/1.0 ([email protected])" },
}, (res) => {
let body = "";
res.on("data", (chunk) => (body += chunk));
res.on("end", () => {
const { data, as_of } = JSON.parse(body);
console.log(data, as_of);
});
});import requests
res = requests.get(
"https://ccucheck.com/api/v1/rising?period=week&limit=10",
headers={"User-Agent": "my-app/1.0 ([email protected])"},
timeout=10,
)
body = res.json()
print(body["data"], body["as_of"]){
"data": [
{
"rank": 1,
"place_id": "123",
"name": "Example Game",
"players_now": 8120,
"visits": 2100000,
"likes_percent": 91.2,
"favourites": 30500,
"category": "Simulator",
"as_of": "2026-10-27T08:39:00.000Z",
"link": "https://ccucheck.com/games/123",
"previous_average": 1650,
"recent_average": 6100,
"change_percent": 269.7
}
],
"link": "https://ccucheck.com/",
"as_of": "2026-10-27T00:00:00Z",
"meta": {
"period": "week",
"direction": "rising",
"min_players": 500,
"windows": {
"previous": {
"from": "2026-10-13",
"to": "2026-10-20"
},
"recent": {
"from": "2026-10-20",
"to": "2026-10-27"
}
}
}
}Live board
Games ranked by players right now. Filter by category with tag, for example simulator or tycoon.
| Parameter | Default | What it does |
|---|---|---|
limit | 25 | 1 to 100. |
offset | 0 | Skip this many, up to 900. |
tag | none | A category name. |
curl -A "my-app/1.0 ([email protected])" \
"https://ccucheck.com/api/v1/top?limit=10"import https from "node:https";
https.get("https://ccucheck.com/api/v1/top?limit=10", {
headers: { "User-Agent": "my-app/1.0 ([email protected])" },
}, (res) => {
let body = "";
res.on("data", (chunk) => (body += chunk));
res.on("end", () => {
const { data, as_of } = JSON.parse(body);
console.log(data, as_of);
});
});import requests
res = requests.get(
"https://ccucheck.com/api/v1/top?limit=10",
headers={"User-Agent": "my-app/1.0 ([email protected])"},
timeout=10,
)
body = res.json()
print(body["data"], body["as_of"])Found early
CCUCheck's track record: games found at 200 players or fewer that later passed 5,000, with the players when found, the peak and the days between. Without a key you get the 10 biggest; a free key gets 25 and Pro 100.
curl -A "my-app/1.0 ([email protected])" \
"https://ccucheck.com/api/v1/found-early?limit=5"import https from "node:https";
https.get("https://ccucheck.com/api/v1/found-early?limit=5", {
headers: { "User-Agent": "my-app/1.0 ([email protected])" },
}, (res) => {
let body = "";
res.on("data", (chunk) => (body += chunk));
res.on("end", () => {
const { data, as_of } = JSON.parse(body);
console.log(data, as_of);
});
});import requests
res = requests.get(
"https://ccucheck.com/api/v1/found-early?limit=5",
headers={"User-Agent": "my-app/1.0 ([email protected])"},
timeout=10,
)
body = res.json()
print(body["data"], body["as_of"]){
"data": [
{
"place_id": "456",
"name": "Example Find",
"found_on": "2026-07-14T10:20:00.000Z",
"found_at_players": 23,
"peak_players": 46470,
"peak_on": "2026-08-02T18:00:00.000Z",
"days_to_peak": 19,
"growth_multiple": 2020.4,
"link": "https://ccucheck.com/games/456"
}
],
"link": "https://ccucheck.com/track-record",
"as_of": "2026-10-27T09:00:00.000Z"
}Roblox charts
Where games sit on Roblox's own charts (Top Trending, Up-and-Coming, each genre's trending list and the rest), with their place yesterday and a week ago and how many days they have been in the chart. Ask for one chart with chart; the response lists every key in meta.available_charts.
| Parameter | Default | What it does |
|---|---|---|
chart | all | One chart key, for example top-trending. |
limit | 10 (50 for one chart) | Entries per chart, 1 to 100. |
curl -A "my-app/1.0 ([email protected])" \
"https://ccucheck.com/api/v1/charts?chart=top-trending&limit=10"import https from "node:https";
https.get("https://ccucheck.com/api/v1/charts?chart=top-trending&limit=10", {
headers: { "User-Agent": "my-app/1.0 ([email protected])" },
}, (res) => {
let body = "";
res.on("data", (chunk) => (body += chunk));
res.on("end", () => {
const { data, as_of } = JSON.parse(body);
console.log(data, as_of);
});
});import requests
res = requests.get(
"https://ccucheck.com/api/v1/charts?chart=top-trending&limit=10",
headers={"User-Agent": "my-app/1.0 ([email protected])"},
timeout=10,
)
body = res.json()
print(body["data"], body["as_of"])