> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/substack/categories>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/substack/categories.mdx>

---

# Substack Categories API

The category tree and Substack's recommended view, with the ids the leaderboard route needs.

`GET /v1/substack/categories` lists Substack categories. `data.categories[]` carries `id`, `name`, `canonicalName`, `slug`, `active`, `rank`, `parentTagId`, `emoji`, `leaderboardDescription`, `deprecated`, `type`, `leaderboardEnabled`, `createdAt`, `updatedAt` and `subcategories[]`.

`data.recommended` is Substack's recommended category view, with `categoryId`, `ranking`, `hasMore`, `categories`, `publications` and `homepageFeaturedPublications`. It is null when it was temporarily unavailable, and `categories` is still returned. Use a `categories[].id` with `categories.publications.list` to read a leaderboard.

## Request

- **Endpoint:** `GET /v1/substack/categories`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by page
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/substack/categories/get)
- **Platform page:** [/platforms/substack](https://www.socialfetch.dev/platforms/substack)

## FAQ

### Where do I get a category id?

From `data.categories[].id` or `data.recommended.categoryId`. The leaderboard route takes that numeric id.

### Why is recommended null?

When the recommended view is temporarily unavailable, `recommended` is null and the category tree is still returned.

### Are subcategories nested?

Yes, one level deep in `subcategories`. The public schema keeps them non-recursive for the OpenAPI document.

### How many credits does a categories lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
