Platform availability
- 24h health
- Normal
Last 30 days
Available capabilities
Each Substack action, what it does, its price and its health over the last 24 hours. Open an action for its parameters, response fields and code samples.
| Capability | What it does | Per 1,000 | 24-hour health |
|---|---|---|---|
Searchsearch | Discover Substack newsletters that match a keyword, with each publication's name, handle, custom domain, language, author and top posts. | $1.39 per 1,000 requests | Normal |
Publicationpublication | Look up a Substack publication from its homepage link and get its name, handle, custom domain, language, author, top posts and subscriber count when disclosed. | $1.39 per 1,000 requests | Normal |
Publication postspublication_posts | List posts from a Substack publication, each with title, subtitle, author, likes, comments, word count, reading time and paid status. | $1.39 per 1,000 requests | Normal |
Post detailspost | Read a single Substack post from its /p/ link, including title, subtitle, body text, author, publication, engagement counts and whether it is paid content. | $1.39 per 1,000 requests | Normal |
Commentscomments | Pull the comments under a Substack post, with author, likes, reply count, and flags for replies, pinned comments and remarks by the post's own author. | $1.39 per 1,000 requests | Normal |
Profilesprofile | Resolve a Substack writer's handle to their profile: display name, bio, avatar, linked Twitter username and the publications tied to the account. | $1.39 per 1,000 requests | Normal |
Notesnotes | Collect a Substack writer's Notes, the short posts kept apart from newsletters, with text, kind, likes and publish time for each. | $1.39 per 1,000 requests | Normal |
Open a capability for its parameters, response fields, code samples and trial.
What does each Substack action accept?
Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.
Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.
| Action | Required | Optional | Delivery | Limit | Per 1,000 | Response fields |
|---|---|---|---|---|---|---|
searchSearch Discover Substack newsletters that match a keyword, with each publication's name, handle, custom domain, language, author and top posts. It matches publications rather than the text of posts, and a null subscriber count means hidden, not zero. | keyword | — | Sync delivery | Catalog values: defaultLimit=10, maxLimit=30. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · handle · name · url · custom_domain · bio · language · subscriber_count · payments_enabled · avatar_url · cover_url · platform · author_name · author_username · top_posts |
publicationPublication Look up a Substack publication from its homepage link and get its name, handle, custom domain, language, author, top posts and subscriber count when disclosed. The link needs a recognizable Substack handle, since custom domains may not parse, and nothing comes from the author's dashboard. | url | — | Sync delivery | — | $1.39 per 1,000 requests | id · handle · name · url · custom_domain · bio · language · subscriber_count · payments_enabled · avatar_url · cover_url · platform · author_name · author_username · top_posts |
publication_postsPublication posts List posts from a Substack publication, each with title, subtitle, author, likes, comments, word count, reading time and paid status. Narrow by format with | url | content_type, since, until | Sync delivery | Catalog values: defaultLimit=10, maxLimit=30. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · url · title · subtitle · text · author_name · author_username · publication_name · publication_handle · publication_url · like_count · comment_count · repost_count · word_count · reading_time_minutes · post_type · audience · is_paid · podcast_url · image_url · posted_at · updated_at · tags · platform |
postPost details Read a single Substack post from its /p/ link, including title, subtitle, body text, author, publication, engagement counts and whether it is paid content. Paywalled text is not unlocked, and comments come from the separate | url | — | Sync delivery | — | $1.39 per 1,000 requests | id · url · title · subtitle · text · author_name · author_username · publication_name · publication_handle · publication_url · like_count · comment_count · repost_count · word_count · reading_time_minutes · post_type · audience · is_paid · podcast_url · image_url · posted_at · updated_at · tags · platform |
commentsComments Pull the comments under a Substack post, with author, likes, reply count, and flags for replies, pinned comments and remarks by the post's own author. Pass the post's /p/ link; the batch may not hold the whole conversation. | url | — | Sync delivery | Catalog values: defaultLimit=20, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · text · author_name · author_username · like_count · reply_count · reply_to_id · is_reply · is_pinned · is_author · posted_at · platform |
profileProfiles Resolve a Substack writer's handle to their profile: display name, bio, avatar, linked Twitter username and the publications tied to the account. Accepts a plain handle, an @handle or a substack.com/@ link; it describes the person, not a publication, and shows no subscription data. | username | — | Sync delivery | — | $1.39 per 1,000 requests | user_id · username · display_name · bio · avatar_url · twitter_username · platform · publications |
notesNotes Collect a Substack writer's Notes, the short posts kept apart from newsletters, with text, kind, likes and publish time for each. It lists one writer's Notes only, not a sitewide search, and may not reach the full history. | username | — | Sync delivery | Catalog values: defaultLimit=25, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count. | $1.39 per 1,000 requests | id · kind · text · author_username · author_name · like_count · posted_at · platform · restacked_post · attachment_urls |
What do the Substack search parameters mean?
Discover Substack newsletters that match a keyword, with each publication's name, handle, custom domain, language, author and top posts. It matches publications rather than the text of posts, and a null subscriber count means hidden, not zero.
Full API reference: parameters, code samples, response example and health →keywordRequired- Specifies the discovery query string for locating Substack newsletters and publications. It does not perform full-text searches across post bodies.Substack: Separation of Profiles, Publication Sites, and Dashboard Data — Substack documents public Profiles, publication websites, and the publisher dashboard separately. Search on this page discovers publication profiles only; official dashboard reader management and revenue statistics do not mean this interface can retrieve those analytics. · Checked
What do the Substack publication parameters mean?
Look up a Substack publication from its homepage link and get its name, handle, custom domain, language, author, top posts and subscriber count when disclosed. The link needs a recognizable Substack handle, since custom domains may not parse, and nothing comes from the author's dashboard.
Full API reference: parameters, code samples, response example and health →urlRequired- Specifies the target Substack resource link. Use publication homepages for publication and publication_posts, or direct /p/ post links for post and comments. The publication action requires a URL containing a recognizable Substack handle (custom domains may not parse), whereas publication_posts accepts custom domain links directly.Substack: Author Pages and Publication Sites Are Distinct Address Objects — A Substack author handle maps to substack.com/@handle, whereas publication websites can use subdomain.substack.com. This reference verifies object and address distinctions; custom domain resolution capabilities remain strictly bound by the parameter rules of the corresponding action on this page. · Checked
What do the Substack publication_posts parameters mean?
List posts from a Substack publication, each with title, subtitle, author, likes, comments, word count, reading time and paid status. Narrow by format with content_type or by date with since and until; paywalled text stays locked, and one batch may not cover the whole archive.
urlRequired- Specifies the target Substack resource link. Use publication homepages for publication and publication_posts, or direct /p/ post links for post and comments. The publication action requires a URL containing a recognizable Substack handle (custom domains may not parse), whereas publication_posts accepts custom domain links directly.
content_typeOptional- Filters publication posts by content format using all_types, newsletter_posts_only, podcast_episodes_only, or threads_only. Field presence must be verified against specific post links, and setting this value does not unlock paywalled content.Allowed values:
all_typesnewsletter_posts_onlypodcast_episodes_onlythreads_onlySubstack: Article, Audio, and Video Formats vs. Content Permissions — Substack categorizes text, audio, and video posts as distinct content formats and maintains a strict separation between public materials and private articles. The `content_type` parameter on this page uses its own allowed values, which do not add video types or guarantee that filtering and retrieval are verified across every execution path. · Checked sinceOptional- Specifies the start date string for filtering posts or activity feeds within a date range. Its presence in shared profile or publication parameters does not enable account creation date filtering.
untilOptional- Specifies the end date string for filtering posts or activity feeds alongside since. This parameter does not represent subscription expiration dates or trigger complete historical archive exports.
What do the Substack post parameters mean?
Read a single Substack post from its /p/ link, including title, subtitle, body text, author, publication, engagement counts and whether it is paid content. Paywalled text is not unlocked, and comments come from the separate comments action.
urlRequired- Specifies the target Substack resource link. Use publication homepages for publication and publication_posts, or direct /p/ post links for post and comments. The publication action requires a URL containing a recognizable Substack handle (custom domains may not parse), whereas publication_posts accepts custom domain links directly.Substack: Free Previews Are Not Full Paywalled Articles — Substack allows creators to configure free previews and paywall placements for paid articles. Consequently, non-empty text does not prove that full content was retrieved, and setting is_paid or filtering for paid content does not grant reading access. · Checked
What do the Substack comments parameters mean?
Pull the comments under a Substack post, with author, likes, reply count, and flags for replies, pinned comments and remarks by the post's own author. Pass the post's /p/ link; the batch may not hold the whole conversation.
Full API reference: parameters, code samples, response example and health →urlRequired- Specifies the target Substack resource link. Use publication homepages for publication and publication_posts, or direct /p/ post links for post and comments. The publication action requires a URL containing a recognizable Substack handle (custom domains may not parse), whereas publication_posts accepts custom domain links directly.Substack: Hidden Comments vs. Deleted Comments — Substack's Reply Rules allow authors to hide article comments or Notes replies rather than permanently deleting them. The absence of a comment in public results does not establish that it was deleted, and this interface lacks the ability to access moderation dashboards, restore hidden content, or modify rules. · Checked
What do the Substack profile parameters mean?
Resolve a Substack writer's handle to their profile: display name, bio, avatar, linked Twitter username and the publications tied to the account. Accepts a plain handle, an @handle or a substack.com/@ link; it describes the person, not a publication, and shows no subscription data.
Full API reference: parameters, code samples, response example and health →usernameRequired- Specifies the target creator handle for profile or notes, accepted as a plain handle (with optional @ prefix) or a full substack.com/@user link. The notes action fetches short creator updates rather than long-form publication posts.Substack: Author Handles, Display Names, and Public Profiles — A unique Substack handle forms the author profile URL, while display names and bios can be edited independently. This page distinguishes username from display_name accordingly, and does not claim the ability to read hidden subscriptions or liking activity. · Checked
What do the Substack notes parameters mean?
Collect a Substack writer's Notes, the short posts kept apart from newsletters, with text, kind, likes and publish time for each. It lists one writer's Notes only, not a sitewide search, and may not reach the full history.
Full API reference: parameters, code samples, response example and health →usernameRequired- Specifies the target creator handle for profile or notes, accepted as a plain handle (with optional @ prefix) or a full substack.com/@user link. The notes action fetches short creator updates rather than long-form publication posts.Substack: Definition of Notes and Restack — Substack defines Notes as short-form content activity and Restack as sharing content within Notes, distinguishing them from article-by-article newsletter dispatch. Official publishing, engagement, and revenue analytics capabilities on Substack do not mean this notes read endpoint supports those operations or metrics. · Checked
How to use the Substack API
- 01Read the public catalog and choose a platform action.
- 02Send the platform, action, and required parameters to POST /api/v1/social.
- 03Handle a synchronous result, or poll the returned job ID when the action runs asynchronously.
- 04Store the structured response fields needed by your application.
curl -X POST https://api.everyinfra.com/api/v1/social \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"platform":"substack","action":"search","params":{"keyword":"<keyword>"}}'
Substack API questions
What can I retrieve with the Substack API?
Set platform to substack. The current catalog lists search, publication, publication posts, post details, comments, and more. These action names identify different Substack objects or views; they are not interchangeable search modes.
Which input starts a Substack `search` request?
Specifies the discovery query string for locating Substack newsletters and publications. It does not perform full-text searches across post bodies. Send it as keyword inside params.
Which fields can Substack `search` return?
Its declared schema includes handle, name, custom_domain, and bio. A declared field can still be absent from an individual record, and every other action has its own field list.
Does every Substack action return immediately?
Actions labeled asynchronous return a job ID you poll. Every other action can also run asynchronously: add "mode": "async" to the request body to receive a job ID immediately, useful for slow tasks or large limits. The current catalog contains sync delivery.