Endpoint Playground
Returns one page of a category's bestseller leaderboard, pairing each ranked publication with its author. This is a different surface from /substack/category: it exposes the trending ranking (the site's "Rising" tab), validates its ranking values rather than silently defaulting, accepts the extra cross-category id `bestseller`, and returns the author alongside the publication. Use a category_id from /substack/categories whose in_leaderboard is true. Upstream serves 25 rows per page and accepts pages 0-25.
14 Oct 2026: 25 entries; 2 fields had a value in every checked item and 1 varied between items.
Sample value profiles: rank: 1 to 25, median 13.
curl 'https://api.crawlora.net/api/v1/substack/leaderboard?category_id=96&type=trending' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| category_id | string | Yes | 96 | Category id from /substack/categories with in_leaderboard true. Numeric, or the string ids podcast or bestseller. |
| type | string | No | trending | Ranking to read |
| page | integer | No | Zero-based page, 0-25 |
{
"code": 200,
"data": {
"category_id": "96",
"type": "trending",
"page": 0,
"has_more": true,
"title": "Culture Bestsellers",
"entries": [
{
"rank": 1,
"publication": {
"id": 1521363,
"name": "Selvaggia Lucarelli",
"subdomain": "selvaggialucarelli",
"url": "https://selvaggialucarelli.substack.com",
"subscribers": {
"total": 231000,
"total_hidden": false,
"paid_rough": "Tens of thousands of paid subscribers"
}
},
"author": {
"id": 7851723,
"handle": "selvaggialucarelli",
"name": "Selvaggia Lucarelli",
"url": "https://substack.com/@selvaggialucarelli"
}
}
]
},
"msg": "success"
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.