Substack Posts API reference
Your first 10 calls are free, no card needed. Pricing and FAQ
Get a free API keycurl "https://api.insightsocial.app/v1/substack/posts?url=https%3A%2F%2Fwww.astralcodexten.com" \ -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
Returns a publication’s recent posts, or one post: title, full text and Markdown, author, reactions, comments, restacks, word count and whether it is paid.
Use it with a publication URL (or custom domain) for its archive, or a /p/ post URL for one post.
Metered: 10–120 credits. We reserve the ceiling when the call starts and charge what it actually used when it finishes.
Authorization
apiKey Your key from the dashboard. It starts with isk_.
In: header
Query Parameters
A Substack publication URL or custom domain, or one post URL (…/p/slug).
Most recent posts to read, 1 to 100. Default 25. Billed per post returned.
1 <= value <= 100Only posts published on or after this date (YYYY-MM-DD). Applied to the limit most recent posts, so raise limit to reach further back.
Only posts published on or before this date (YYYY-MM-DD). Applied to the limit most recent posts, so raise limit to reach further back.
true for free (non-paywalled) posts only.
Only one post type. Default all.
Value in
- "all"
- "newsletter"
- "podcast"
- "thread"
Only posts with at least this many comments.
0 <= valueOnly posts with at least this many reactions.
0 <= valueOnly posts with at least this many words.
0 <= valueInclude the article body (text and Markdown). Default true; false is faster.
Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.
Value in
- "1"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.insightsocial.app/v1/substack/posts?url=string"{ "success": true, "platform": "string", "endpoint": "string", "schema_version": "2", "pagination": { "next_cursor": "string", "has_more": true, "page_size": 0, "stopped_at": "since" }, "unavailable": [ "string" ], "credits_used": 0, "credits_remaining": 0, "request_id": "string", "cached": true, "idempotent_replay": true, "charge_reason": "string", "free_call": true, "data": { "items": [ { "post": { "id": "string", "url": "http://example.com", "kind": "string", "content": { "text": "string", "media_urls": [ "http://example.com" ], "thumbnail_url": "http://example.com", "duration_seconds": 0 }, "author": { "id": "string", "username": "string", "display_name": "string", "avatar_url": "http://example.com", "verified": true }, "engagement": { "views": 0, "likes": 0, "comments": 0, "shares": 0, "saves": 0 }, "flags": { "nsfw": true, "spoiler": true, "pinned": true, "deleted": true, "likes_hidden": true, "comments_hidden": true, "shares_hidden": true, "views_hidden": true, "saves_hidden": true }, "published_at": "2019-08-24T14:15:22Z", "language": "string", "ext": { "property1": null, "property2": null } } } ], "total": 0, "truncated": true, "ext": { "property1": null, "property2": null } }}