Get Substack publication categories
Retrieve the public publication category directory with numeric IDs, names, slugs and emoji metadata.
/v1/substack/categoriesx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
This endpoint takes no parameters.
Request correlation UUID.
Source request attempts, decoded bytes and elapsed milliseconds.
Number of upstream request attempts.
≥ 0
Decoded source bytes read during this request.
≥ 0
Elapsed request time in milliseconds.
≥ 0
True when usable data is returned; inspect status and coverage.
success or partial for usable data; failed or challenged for a failure response.
one of: success, partial
Canonical public URL for the requested publication, post or writer.
absolute HTTPS URL
UTC retrieval timestamp.
Result coverage and extraction warnings.
Public Substack web data.
Whether the returned result has no reported omissions.
Warnings that explain partial results or missing fields.
Reported result order: source_order or ranked.
one of: source_order, ranked
Publication topic categories in source order.
up to 100 items
Numeric category ID.
0 – 9007199254740991
Category name.
Category URL slug.
Published category emoji.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, duplicated, invalid or unsupported request parameters. |
| 401 | unauthorized | Missing or invalid service API key. |
| 404 | not_found | The requested publication, post or profile was not found. |
| 422 | restricted_page | The requested content requires additional access. |
| 422 | unsupported_page | The source did not provide the expected record. |
| 502 | upstream_challenged | The source challenged the request. |
| 502 | upstream_rate_limited | The source rate limited the request. |
| 502 | upstream_error | A source request failed. |
| 502 | response_too_large | Source data exceeded the response byte limit. |
| 502 | payload_too_complex | Source data exceeded the traversal depth or node limit. |
| 502 | unsafe_redirect | The source returned an unexpected redirect. |
| 502 | request_limit | The request exhausted its source-attempt budget. |
| 503 | busy | All worker request slots are in use. |
| 504 | timeout | The request exceeded its deadline. |
| 200 | partial | Usable data was returned with coverage warnings. |