> **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/publications-publication-feed>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/substack/publications-publication-feed.mdx>

---

# Substack Feed API

A publication's feed as JSON, with the twenty newest items and their HTML.

`GET /v1/substack/publications/{publication}/feed` returns a Substack publication's feed as JSON. `data.feed` carries `title`, `description`, `url`, `imageUrl`, `generator`, `lastBuildDate`, `copyright` and `language`.

`data.feed.items[]` has up to twenty entries with `title`, `url`, `guid`, `creator`, `publishedAt` (ISO 8601), `descriptionHtml`, a decoded `description`, `contentHtml` and an `enclosure` when the item has audio or an image. Only Substack feeds are returned: a host whose feed belongs to another platform returns `not_found`. A missing or restricted publication sets `feed` to null and reports the reason in `lookupStatus` and `restrictedReason`.

## Request

- **Endpoint:** `GET /v1/substack/publications/{publication}/feed`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by subdomain, host or URL
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/substack/publications/publication/feed/get)
- **Platform page:** [/platforms/substack](https://www.socialfetch.dev/platforms/substack)

## FAQ

### How many items does the feed include?

The feed carries the twenty newest items. There is no cursor on this route; use the archive or bulk posts routes for older posts.

### Can I use this route as a general feed reader?

No. It returns a feed only when the host is a Substack publication. Another platform's feed returns `not_found`, so one publication never shows as found on this route and missing on the others.

### Why return the feed as JSON?

You get the same items as typed JSON, and the envelope matches every other Substack route. `contentHtml` holds the item body as HTML.

### What does the enclosure contain?

`enclosure.url`, `enclosure.type` and `enclosure.length` when the item links an audio file or an image. `type` is the feed's own value; a CDN URL may end in a different extension.

### How many credits does a feed 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.
