Endpoint Playground
Test Crawlora's Substack Category Rankings API with realistic prefilled parameters. Generate a cURL request, inspect the expected structured JSON response, and open the full docs or pricing page when you are ready to integrate this public web data extraction endpoint into your application.
curl "https://api.crawlora.net/api/v1/substack/category?category_id=<category_id>&type=paid" \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| category_id | string | Yes | Category id from /substack/categories. Numeric for 32 categories, or the string podcast. | |
| type | string | No | paid | Ranking to read |
| page | integer | No | Zero-based page, 0-26 |
{
"code": 200,
"data": {
"category_id": "4",
"type": "paid",
"page": 0,
"has_more": true,
"publications": [
{
"id": 6349492,
"name": "SemiAnalysis",
"subdomain": "semianalysis",
"url": "https://semianalysis.substack.com",
"author_name": "Dylan Patel",
"payments_enabled": true,
"subscribers": {
"total": 315000,
"total_hidden": false,
"total_rough": "Hundreds of thousands of subscribers",
"paid_rough": "Thousands of paid subscribers",
"paid_tier": 1000
},
"subscription": {
"payments_state": "enabled",
"monthly_disabled": true,
"annual_disabled": false,
"group_discount_percent": 20,
"plans": [
{
"id": "yearly500usd_bc37ea9d",
"kind": "annual",
"nickname": "$500 a year",
"amount_cents": 50000,
"currency": "usd",
"interval": "year",
"interval_count": 1,
"active": true,
"currencies": [
{
"currency": "eur",
"amount_cents": 45000
}
]
}
],
"app_store_plans": [
{
"amount_cents": 6000,
"currency": "usd",
"period": "month",
"is_founding": false,
"display_price": "$60",
"active": true
}
],
"paid_benefits": [
"Full archive"
]
}
}
]
},
"msg": "success"
}Public Playground
Sample responses, schemas, request previews, and code snippets are visible before sign in. Create an account when you are ready to save an API key and run authenticated requests.
Returns one page of a category's public publication leaderboard. Each row carries the publication's subscriber signals and its full subscription offering (web plans with multi-currency pricing, App Store plans, and per-tier benefits). Subscriber totals are published to roughly three significant figures and are opt-in per writer; paid subscriber figures are only ever buckets. Upstream serves 25 publications per page and accepts pages 0-26, so at most 675 publications are reachable per category and type.
{
"code": 200,
"data": {
"category_id": "4",
"type": "paid",
"page": 0,
"has_more": true,
"publications": [
{
"id": 6349492,
"name": "SemiAnalysis",
"subdomain": "semianalysis",
"url": "https://semianalysis.substack.com",
"author_name": "Dylan Patel",
"payments_enabled": true,
"subscribers": {
"total": 315000,
"total_hidden": false,
"total_rough": "Hundreds of thousands of subscribers",
"paid_rough": "Thousands of paid subscribers",
"paid_tier": 1000
},
"subscription": {
"payments_state": "enabled",
"monthly_disabled": true,
"annual_disabled": false,
"group_discount_percent": 20,
"plans": [
{
"id": "yearly500usd_bc37ea9d",
"kind": "annual",
"nickname": "$500 a year",
"amount_cents": 50000,
"currency": "usd",
"interval": "year",
"interval_count": 1,
"active": true,
"currencies": [
{
"currency": "eur",
"amount_cents": 45000
}
]
}
],
"app_store_plans": [
{
"amount_cents": 6000,
"currency": "usd",
"period": "month",
"is_founding": false,
"display_price": "$60",
"active": true
}
],
"paid_benefits": [
"Full archive"
]
}
}
]
},
"msg": "success"
}curl "https://api.crawlora.net/api/v1/substack/category?category_id=<category_id>" \
-H "x-api-key: $CRAWLORA_API_KEY"