Get a Substack post by URL, ID, or publication and slug. Returns the full body as HTML and plain text (the free preview for paid posts), title, subtitle, author, publication, publication date, engagement, paywall status, word count, cover image, podcast audio and tags.
curl "https://apidirect.io/v1/substack/post?url=https%3A%2F%2Fwww.lennysnewsletter.com%2Fp%2Fall-of-the-lenny-and-friends-summit" -H "X-API-Key: YOUR_API_KEY"
{
"post": {
"audience": "everyone",
"audio_url": "",
"author": "lenny",
"author_id": "1849774",
"author_name": "Lenny Rachitsky",
"author_url": "https://substack.com/@lenny",
"authors": [
{
"name": "Lenny Rachitsky",
"url": "https://substack.com/@lenny",
"user_id": "1849774",
"username": "lenny"
}
],
"body_html": "<p><em>👋 Hey there, I’m Lenny. Each week, I share deeply researched product, growth, and career advice. For more: <a href=\"https://www.lennysjobs.com/\">Lenny…",
"body_is_preview": false,
"body_text": "👋 Hey there, I’m Lenny. Each week, I share deeply researched product, growth, and career advice. For more: Lenny’s Jobs | Lennybot | Become an AI-Native Buil…",
"comments": 7,
"cover_image_url": "https://substack-post-media.s3.amazonaws.com/public/images/9fed347c-0e02-4190-a590-1236719b99de_9213x6142.jpeg",
"date": "2026-09-29 13:15:57",
"domain": "substack.com",
"is_paid": false,
"lang": "en",
"likes": 285,
"next_post_slug": "",
"podcast_duration": 0,
"podcast_image_url": "",
"podcast_url": "",
"post_id": "215694124",
"previous_post_slug": "",
"publication": "Lenny's Newsletter",
"publication_details": {
"logo_url": "https://substack-post-media.s3.amazonaws.com/public/images/441213db-4824-4e48-9d28-a3a18952cbfc_592x592.png",
"name": "Lenny's Newsletter",
"publication_id": "10845",
"subdomain": "lenny",
"url": "https://www.lennysnewsletter.com"
},
"publication_id": "10845",
"publication_url": "https://www.lennysnewsletter.com",
"reactions": {
"❤": 285
},
"replies": 0,
"restacks": 5,
"slug": "all-of-the-lenny-and-friends-summit",
"snippet": "Plus, some reflections and takeaways from the day",
"source": "Substack",
"subtitle": "Plus, some reflections and takeaways from the day",
"tags": [],
"title": "All of the Lenny & Friends Summit talks are now online!",
"type": "newsletter",
"updated_at": "2026-09-29 16:23:45",
"url": "https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit",
"video_duration": 0,
"wordcount": 1276
}
}
No. For posts behind the paywall, body_html holds the free preview Substack shows non-subscribers and body_is_preview is true. Free posts return the complete body.
The post URL on the publication's own domain, an open.substack.com or substack.com/home/post/p-ID app link, the numeric post_id, or publication plus slug.
You only pay for successful requests. The Substack Post Details API costs $0.003 per request. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.
No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.
Yes, there's a concurrency limit of 10 simultaneous requests per endpoint per user. If you need more, just get in touch.
Get your API key and start making requests in minutes. 50 requests/month free every month.
Get API Key