Understand the limitation: Substack does not offer a public API for reading or publishing content programmatically; any integration must use indirect methods.
Access published posts via the publication's RSS feed at https://{publication}.substack.com/feed — this is the most reliable machine-readable access point for post content, titles, dates, and summaries.
For subscriber lists or send functionality, there is no API; the only supported data export is a manual CSV download of subscriber emails from the Substack dashboard under Settings > Exports.
For embedding Substack signup forms, use the embed code provided in the Substack dashboard (a hosted iframe or redirect link) rather than any API call.
Monitor for unofficial patterns at your own risk: some developers reverse-engineer internal endpoints, but these are undocumented, unauthenticated in some cases, and can break without notice — do not rely on them for production systems.
Known gotchas
There is no official Substack API and no announced timeline for one; any third-party library claiming to be a Substack API wrapper is using undocumented internal endpoints that Substack can change or block at any time.
RSS feeds for paid publications only show free post summaries; full content for paid posts is not available via RSS or any public endpoint, so there is no programmatic way to access paywalled content.
Email automation tools cannot send via Substack programmatically; Substack owns the send infrastructure and there is no SMTP relay or API endpoint to trigger sends from external systems.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp