Substack

Get Substack post

Get a Substack post by id or URL, with the full free body or paid preview.

GET/v1/substack/posts/{post}
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
1
poststringrequiredpath

A post: its numeric id (`223208969`) or its URL (`https://www.astralcodexten.com/p/...`). Post comments need the URL form.

min 1 chars · max 2000 chars

Response fields
217

Endpoint-specific response payload.

datalookupStatus
string

Whether the post was found.

one of: found, not_found

The post when `lookupStatus` is `found`; otherwise null.

datapostid
integer

Numeric post id.

datapostpublicationId
integernullable

Numeric publication id.

datapostslug
stringnullable

The post's URL slug.

dataposttitle
stringnullable

The post's title.

datapostsubtitle
stringnullable

The post's subtitle.

datapostdescription
stringnullable

The post's short description.

datapostkind
stringnullable

`newsletter`, `podcast`, `video` or `restack`.

datapostaudience
stringnullable

`everyone`, `only_paid`, `only_subscribers` or another value Substack uses.

datapostisPaywalled
booleannullable

Whether the post is paid.

dataposturl
stringnullable

Canonical post URL.

datapostpublishedAt
stringnullable

ISO 8601 timestamp, or null when Substack does not publish one.

datapostupdatedAt
stringnullable

ISO 8601 timestamp, or null when Substack does not publish one.

datapostlanguage
stringnullable

The post's language code.

datapostbodyHtml
stringnullable

Full body HTML for a free post; the preview only when `bodyIsPreview` is true.

datapostbodyIsPreview
boolean

True when the audience is not `everyone`.

datapostpreviewText
stringnullable

The public preview text.

datapostwordCount
integernullable

The post's word count.

datapostcommentCount
integernullable

The number of comments on the post.

datapostreplyCount
integernullable

Replies to comments on the post.

datapostreactionCount
integernullable

The number of reactions to the post.

datapostreactions
object

Emoji to reaction count.

datapostrestackCount
integernullable

The number of restacks.

datapostcommentPermission
stringnullable

Who may comment on the post.

datapostcoverImageUrl
stringnullable

The post's cover image URL.

datapostcoverImageIsSquare
booleannullable

Whether the cover image is square.

datapostcoverImageIsExplicit
booleannullable

Whether the cover image is explicit.

datapostisGeoblocked
booleannullable

Whether the post is geoblocked.

Countries where the post is blocked.

datapostblockedCountries[]
stringoptional
datapostliveStreamId
stringnullable

The live stream id, when the post is a live stream.

datapostisPublished
booleannullable

Whether the post is published.

datapostisPinned
booleannullable

Whether the post is pinned.

datapostseoTitle
stringnullable

The title shown to search engines.

datapostseoDescription
stringnullable

The description shown to search engines.

datapostsocialTitle
stringnullable

The title used for social previews.

datapostpreviousSlug
stringnullable

The previous post's slug.

datapostnextSlug
stringnullable

The next post's slug.

The section the post belongs to.

datapostsectionid
integernullable

Numeric section id.

datapostsectionname
stringnullable

The section's name.

datapostsectionslug
stringnullable

The section's URL slug.

The post's tags.

dataposttags[]id
integernullable

Numeric tag id.

dataposttags[]name
stringnullable

The tag's name.

dataposttags[]slug
stringnullable

The tag's URL slug.

dataposttags[]hidden
booleannullable

Whether the tag is hidden.

The post's authors.

datapostauthors[]id
integernullable

Numeric user id.

datapostauthors[]name
stringnullable

The name shown for the author.

datapostauthors[]handle
stringnullable

The author's handle.

datapostauthors[]slug
stringnullable

The author's profile slug.

datapostauthors[]bio
stringnullable

The author's short biography.

datapostauthors[]photoUrl
stringnullable

The author's profile photo URL.

The author's main badge, when there is one.

datapostauthors[]badgetype
stringnullable

The kind of badge, such as `bestseller`.

datapostauthors[]badgetier
integernullable

The badge tier, when it has one.

datapostauthors[]badgehandle
stringnullable

The handle the badge belongs to.

datapostauthors[]badgeservice
stringnullable

The service the badge comes from.

datapostauthors[]badgeurl
stringnullable

A link for the badge, when it has one.

datapostauthors[]badges
objectnullable

The author's reader status fields, when available.

datapostauthors[]bestsellerTier
integernullable

The author's bestseller tier.

The author's primary publication, when there is one.

datapostauthors[]primaryPublicationid
integernullable

Numeric publication id.

datapostauthors[]primaryPublicationname
stringnullable

The publication's name.

datapostauthors[]primaryPublicationsubdomain
stringnullable

The publication's Substack subdomain.

datapostauthors[]primaryPublicationcustomDomain
stringnullable

The publication's custom domain, when it has one.

datapostauthors[]primaryPublicationlogoUrl
stringnullable

The publication's logo URL.

Podcast metadata, when the post is an episode.

datapostpodcastepisodeNumber
integernullable

The episode number.

datapostpodcastseasonNumber
integernullable

The season number.

datapostpodcastepisodeType
stringnullable

The episode type.

Audio, when the post has any.

datapostaudiourl
stringnullable

Audio file URL.

datapostaudiodurationSeconds
numbernullable

Audio length in seconds.

datapostaudiofileSizeBytes
integernullable

Audio file size in bytes.

datapostaudiomediaType
stringnullable

The upload's media label, such as `audio`.

datapostaudioepisodeImageUrl
stringnullable

Artwork for the episode.

Generated or uploaded audio items.

datapostaudioitems[]postId
integernullable

Numeric post id.

datapostaudioitems[]voiceId
stringnullable

The voice used for generated audio.

datapostaudioitems[]audioUrl
stringnullable

The audio file URL.

datapostaudioitems[]type
stringnullable

`tts` or Substack's own audio type.

datapostaudioitems[]status
stringnullable

The audio item's status.

Video, when the post has any.

datapostvideodurationSeconds
numbernullable

Video length in seconds.

datapostvideowidth
integernullable

Video width in pixels.

datapostvideoheight
integernullable

Video height in pixels.

datapostvideoplaybackId
stringnullable

The playback id of the hosted video stream.

datapostvideoisMux
booleannullable

Whether the video uses Substack's hosted player.

The publication the post belongs to.

datapublicationid
integer

Numeric publication id.

datapublicationname
stringnullable

The publication's name.

datapublicationsubdomain
stringnullable

The publication's Substack subdomain.

datapublicationcustomDomain
stringnullable

The publication's custom domain, when it has one.

datapublicationapexDomain
stringnullable

The publication's apex domain, when it has one.

datapublicationurl
stringnullable

The publication's canonical base URL.

datapublicationhost
stringnullable

The host its pages are served from.

datapublicationdescription
stringnullable

The publication's description.

datapublicationlanguage
stringnullable

The publication's language code.

datapublicationkind
stringnullable

`newsletter`, `podcast` or Substack's own type.

datapublicationcreatedAt
stringnullable

ISO 8601 timestamp, or null when Substack does not publish one.

datapublicationfirstPostAt
stringnullable

ISO 8601 timestamp, or null when Substack does not publish one.

datapublicationhasPosts
booleannullable

Whether the publication has posts.

datapublicationisExplicit
booleannullable

Whether the publication is marked explicit.

datapublicationisInviteOnly
booleannullable

Whether the publication is invite-only.

datapublicationisFlagged
booleannullable

Whether the publication is flagged.

datapublicationnoIndex
booleannullable

Whether search engines are asked not to index it.

datapublicationisOnSubstack
booleannullable

Whether the publication is hosted by Substack.

datapublicationcommentsEnabled
booleannullable

Whether comments are enabled.

datapublicationnotesEnabled
booleannullable

Whether Notes are enabled.

datapublicationdefaultCommentSort
stringnullable

The default comment order.

datapublicationannualDisabled
booleannullable

Whether annual plans are disabled.

datapublicationmonthlyDisabled
booleannullable

Whether monthly plans are disabled.

datapublicationpaymentsState
stringnullable

The publication's payments state.

datapublicationfreeTrialEnabled
booleannullable

Whether a free trial is offered.

datapublicationpausedUntil
stringnullable

ISO 8601 timestamp, or null when Substack does not publish one.

datapublicationemailBannerUrl
stringnullable

The email banner image URL.

datapublicationcopyright
stringnullable

The copyright line the publication prints.

datapublicationlogoUrl
stringnullable

The publication's logo URL.

datapublicationwideLogoUrl
stringnullable

The publication's wide logo URL.

datapublicationcoverImageUrl
stringnullable

The publication's cover image URL.

datapublicationfoundingPlanName
stringnullable

The name of the founding-member plan.

datapublicationhasRecommendations
booleannullable

Whether the publication recommends others.

The benefit lists for each subscription tier.

Benefits for free subscribers.

datapublicationbenefitsfree[]
stringoptional

Benefits for paid subscribers.

datapublicationbenefitspaid[]
stringoptional

Benefits for founding members.

datapublicationbenefitsfounding[]
stringoptional

The publication's main author.

datapublicationauthorid
integernullable

Numeric user id.

datapublicationauthorname
stringnullable

The name shown for the author.

datapublicationauthorhandle
stringnullable

The author's handle.

datapublicationauthorslug
stringnullable

The author's profile slug.

datapublicationauthorbio
stringnullable

The author's short biography.

datapublicationauthorphotoUrl
stringnullable

The author's profile photo URL.

The author's main badge, when there is one.

datapublicationauthorbadgetype
stringnullable

The kind of badge, such as `bestseller`.

datapublicationauthorbadgetier
integernullable

The badge tier, when it has one.

datapublicationauthorbadgehandle
stringnullable

The handle the badge belongs to.

datapublicationauthorbadgeservice
stringnullable

The service the badge comes from.

datapublicationauthorbadgeurl
stringnullable

A link for the badge, when it has one.

datapublicationauthorbadges
objectnullable

The author's reader status fields, when available.

datapublicationauthorbestsellerTier
integernullable

The author's bestseller tier.

The author's primary publication, when there is one.

datapublicationauthorprimaryPublicationid
integernullable

Numeric publication id.

datapublicationauthorprimaryPublicationname
stringnullable

The publication's name.

datapublicationauthorprimaryPublicationsubdomain
stringnullable

The publication's Substack subdomain.

datapublicationauthorprimaryPublicationcustomDomain
stringnullable

The publication's custom domain, when it has one.

datapublicationauthorprimaryPublicationlogoUrl
stringnullable

The publication's logo URL.

Approximate audience figures the publication prints. These are bands, not counts.

datapublicationaudiencepaidLabel
stringnullable

The band Substack displays for paid subscribers.

datapublicationaudiencepaidOrderOfMagnitude
integernullable

The order of magnitude behind the paid band.

datapublicationaudiencetotalLabel
stringnullable

The band Substack displays for all subscribers.

datapublicationaudiencetotalOrderOfMagnitude
integernullable

The order of magnitude behind the total band.

datapublicationaudiencefreeLabel
stringnullable

The band Substack displays for free subscribers.

datapublicationaudiencefreeShort
stringnullable

The short free-subscriber band.

datapublicationaudiencechatMembersLabel
stringnullable

The band Substack displays for chat members.

People with a byline on the publication.

datapublicationcontributors[]id
integernullable

Numeric user id.

datapublicationcontributors[]name
stringnullable

The contributor's name.

datapublicationcontributors[]handle
stringnullable

The contributor's handle.

datapublicationcontributors[]role
stringnullable

The contributor's role on the publication.

datapublicationcontributors[]owner
booleannullable

Whether the contributor owns the publication.

datapublicationcontributors[]photoUrl
stringnullable

The contributor's photo URL.

datapublicationcontributors[]bio
stringnullable

The contributor's short biography.

The contributor's badge.

datapublicationcontributors[]badgetype
stringnullable

The kind of badge, such as `bestseller`.

datapublicationcontributors[]badgetier
integernullable

The badge tier, when it has one.

datapublicationcontributors[]badgehandle
stringnullable

The handle the badge belongs to.

datapublicationcontributors[]badgeservice
stringnullable

The service the badge comes from.

datapublicationcontributors[]badgeurl
stringnullable

A link for the badge, when it has one.

datapublicationcontributors[]bestsellerTier
integernullable

The contributor's bestseller tier.

The publication's sections.

datapublicationsections[]id
integernullable

Numeric section id.

datapublicationsections[]name
stringnullable

The section's name.

datapublicationsections[]description
stringnullable

The section's description.

datapublicationsections[]slug
stringnullable

The section's URL slug.

datapublicationsections[]isPodcast
booleannullable

Whether the section is a podcast.

datapublicationsections[]isLive
booleannullable

Whether the section is a live stream.

datapublicationsections[]isDefaultOn
booleannullable

Whether the section is on by default.

datapublicationsections[]logoUrl
stringnullable

The section's logo URL.

datapublicationsections[]coverImageUrl
stringnullable

The section's cover image URL.

datapublicationsections[]hideFromNavbar
booleannullable

Whether the section is hidden from navigation.

datapublicationsections[]hidePostsFromPubListings
booleannullable

Whether the section's posts are hidden from publication lists.

Links the publication shows.

datapublicationlinks[]id
integernullable

Numeric link id.

datapublicationlinks[]url
string

The link.

datapublicationlinks[]platform
stringnullable

`apple_podcasts`, `spotify`, `youtube` or another label Substack uses.

datapublicationlinks[]sectionId
integernullable

The section the link belongs to, when it has one.

The subscription plans the publication offers.

datapublicationplans[]id
stringnullable

The plan's id.

datapublicationplans[]nickname
stringnullable

The plan's display name.

datapublicationplans[]amount
integernullable

Price in the currency's minor unit.

datapublicationplans[]currency
stringnullable

Currency code for the price.

datapublicationplans[]interval
stringnullable

`month`, `year` or Substack's own value.

datapublicationplans[]intervalCount
integernullable

How many intervals one charge covers.

datapublicationplans[]active
booleannullable

Whether the plan is on sale.

datapublicationplans[]founding
boolean

Whether this is a founding-member plan.

The publication's podcast, when it has one.

datapublicationpodcastexists
booleannullable

Whether the publication has a podcast.

datapublicationpodcasthasFreeEpisodes
booleannullable

Whether free episodes are available.

datapublicationpodcasthasPaidEpisodes
booleannullable

Whether paid episodes are available.

datapublicationpodcastartUrl
stringnullable

The podcast artwork URL.

datapublicationpodcastbyline
stringnullable

The podcast byline.

datapublicationpodcastdescription
stringnullable

The podcast description.

datapublicationpodcastfeedUrl
stringnullable

The podcast feed URL.

datapublicationpodcasttitle
stringnullable

The podcast title.

datapublicationpodcastpaidEpisodeArtUrl
stringnullable

Artwork for paid episodes.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/substack/posts/223208969" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Substack post.