Substack

List Substack profile posts

List the posts a Substack reader published.

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

API key (`sfk_...`)

Parameters
3
handlestringrequiredpath

A profile handle, e.g. `dieworkwear` or `@dieworkwear`.

min 1 chars · max 100 chars · pattern: ^@?[A-Za-z0-9][A-Za-z0-9._-]*$

limitintegeroptionalquery

Posts to return, 1 to 50. No further posts are available past this limit, so use 50 to get all that are available.

≥ 1 · ≤ 50

cursorstringoptionalquery

Opaque cursor from the previous page's `nextCursor`.

max 4096 chars

Response fields
221

Endpoint-specific response payload.

datalookupStatus
string

Whether the profile was found.

one of: found, not_found

dataprofileId
integernullable

Numeric profile id.

The posts on this page.

dataposts[]id
integer

Numeric post id.

dataposts[]publicationId
integernullable

Numeric publication id.

dataposts[]slug
stringnullable

The post's URL slug.

dataposts[]title
stringnullable

The post's title.

dataposts[]subtitle
stringnullable

The post's subtitle.

dataposts[]description
stringnullable

The post's short description.

dataposts[]kind
stringnullable

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

dataposts[]audience
stringnullable

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

dataposts[]isPaywalled
booleannullable

Whether the post is paid.

dataposts[]url
stringnullable

Canonical post URL.

dataposts[]publishedAt
stringnullable

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

dataposts[]updatedAt
stringnullable

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

dataposts[]language
stringnullable

The post's language code.

dataposts[]bodyHtml
stringnullable

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

dataposts[]bodyIsPreview
boolean

True when the audience is not `everyone`.

dataposts[]previewText
stringnullable

The public preview text.

dataposts[]wordCount
integernullable

The post's word count.

dataposts[]commentCount
integernullable

The number of comments on the post.

dataposts[]replyCount
integernullable

Replies to comments on the post.

dataposts[]reactionCount
integernullable

The number of reactions to the post.

dataposts[]reactions
object

Emoji to reaction count.

dataposts[]restackCount
integernullable

The number of restacks.

dataposts[]commentPermission
stringnullable

Who may comment on the post.

dataposts[]coverImageUrl
stringnullable

The post's cover image URL.

dataposts[]coverImageIsSquare
booleannullable

Whether the cover image is square.

dataposts[]coverImageIsExplicit
booleannullable

Whether the cover image is explicit.

dataposts[]isGeoblocked
booleannullable

Whether the post is geoblocked.

Countries where the post is blocked.

dataposts[]blockedCountries[]
stringoptional
dataposts[]liveStreamId
stringnullable

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

dataposts[]isPublished
booleannullable

Whether the post is published.

dataposts[]isPinned
booleannullable

Whether the post is pinned.

dataposts[]seoTitle
stringnullable

The title shown to search engines.

dataposts[]seoDescription
stringnullable

The description shown to search engines.

dataposts[]socialTitle
stringnullable

The title used for social previews.

dataposts[]previousSlug
stringnullable

The previous post's slug.

dataposts[]nextSlug
stringnullable

The next post's slug.

The section the post belongs to.

dataposts[]sectionid
integernullable

Numeric section id.

dataposts[]sectionname
stringnullable

The section's name.

dataposts[]sectionslug
stringnullable

The section's URL slug.

The post's tags.

dataposts[]tags[]id
integernullable

Numeric tag id.

dataposts[]tags[]name
stringnullable

The tag's name.

dataposts[]tags[]slug
stringnullable

The tag's URL slug.

dataposts[]tags[]hidden
booleannullable

Whether the tag is hidden.

The post's authors.

dataposts[]authors[]id
integernullable

Numeric user id.

dataposts[]authors[]name
stringnullable

The name shown for the author.

dataposts[]authors[]handle
stringnullable

The author's handle.

dataposts[]authors[]slug
stringnullable

The author's profile slug.

dataposts[]authors[]bio
stringnullable

The author's short biography.

dataposts[]authors[]photoUrl
stringnullable

The author's profile photo URL.

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

dataposts[]authors[]badgetype
stringnullable

The kind of badge, such as `bestseller`.

dataposts[]authors[]badgetier
integernullable

The badge tier, when it has one.

dataposts[]authors[]badgehandle
stringnullable

The handle the badge belongs to.

dataposts[]authors[]badgeservice
stringnullable

The service the badge comes from.

dataposts[]authors[]badgeurl
stringnullable

A link for the badge, when it has one.

dataposts[]authors[]badges
objectnullable

The author's reader status fields, when available.

dataposts[]authors[]bestsellerTier
integernullable

The author's bestseller tier.

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

dataposts[]authors[]primaryPublicationid
integernullable

Numeric publication id.

dataposts[]authors[]primaryPublicationname
stringnullable

The publication's name.

dataposts[]authors[]primaryPublicationsubdomain
stringnullable

The publication's Substack subdomain.

dataposts[]authors[]primaryPublicationcustomDomain
stringnullable

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

dataposts[]authors[]primaryPublicationlogoUrl
stringnullable

The publication's logo URL.

Podcast metadata, when the post is an episode.

dataposts[]podcastepisodeNumber
integernullable

The episode number.

dataposts[]podcastseasonNumber
integernullable

The season number.

dataposts[]podcastepisodeType
stringnullable

The episode type.

Audio, when the post has any.

dataposts[]audiourl
stringnullable

Audio file URL.

dataposts[]audiodurationSeconds
numbernullable

Audio length in seconds.

dataposts[]audiofileSizeBytes
integernullable

Audio file size in bytes.

dataposts[]audiomediaType
stringnullable

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

dataposts[]audioepisodeImageUrl
stringnullable

Artwork for the episode.

Generated or uploaded audio items.

dataposts[]audioitems[]postId
integernullable

Numeric post id.

dataposts[]audioitems[]voiceId
stringnullable

The voice used for generated audio.

dataposts[]audioitems[]audioUrl
stringnullable

The audio file URL.

dataposts[]audioitems[]type
stringnullable

`tts` or Substack's own audio type.

dataposts[]audioitems[]status
stringnullable

The audio item's status.

Video, when the post has any.

dataposts[]videodurationSeconds
numbernullable

Video length in seconds.

dataposts[]videowidth
integernullable

Video width in pixels.

dataposts[]videoheight
integernullable

Video height in pixels.

dataposts[]videoplaybackId
stringnullable

The playback id of the hosted video stream.

dataposts[]videoisMux
booleannullable

Whether the video uses Substack's hosted player.

Publications the returned posts belong to.

datapublications[]id
integer

Numeric publication id.

datapublications[]name
stringnullable

The publication's name.

datapublications[]subdomain
stringnullable

The publication's Substack subdomain.

datapublications[]customDomain
stringnullable

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

datapublications[]apexDomain
stringnullable

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

datapublications[]url
stringnullable

The publication's canonical base URL.

datapublications[]host
stringnullable

The host its pages are served from.

datapublications[]description
stringnullable

The publication's description.

datapublications[]language
stringnullable

The publication's language code.

datapublications[]kind
stringnullable

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

datapublications[]createdAt
stringnullable

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

datapublications[]firstPostAt
stringnullable

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

datapublications[]hasPosts
booleannullable

Whether the publication has posts.

datapublications[]isExplicit
booleannullable

Whether the publication is marked explicit.

datapublications[]isInviteOnly
booleannullable

Whether the publication is invite-only.

datapublications[]isFlagged
booleannullable

Whether the publication is flagged.

datapublications[]noIndex
booleannullable

Whether search engines are asked not to index it.

datapublications[]isOnSubstack
booleannullable

Whether the publication is hosted by Substack.

datapublications[]commentsEnabled
booleannullable

Whether comments are enabled.

datapublications[]notesEnabled
booleannullable

Whether Notes are enabled.

datapublications[]defaultCommentSort
stringnullable

The default comment order.

datapublications[]annualDisabled
booleannullable

Whether annual plans are disabled.

datapublications[]monthlyDisabled
booleannullable

Whether monthly plans are disabled.

datapublications[]paymentsState
stringnullable

The publication's payments state.

datapublications[]freeTrialEnabled
booleannullable

Whether a free trial is offered.

datapublications[]pausedUntil
stringnullable

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

datapublications[]emailBannerUrl
stringnullable

The email banner image URL.

datapublications[]copyright
stringnullable

The copyright line the publication prints.

datapublications[]logoUrl
stringnullable

The publication's logo URL.

datapublications[]wideLogoUrl
stringnullable

The publication's wide logo URL.

datapublications[]coverImageUrl
stringnullable

The publication's cover image URL.

datapublications[]foundingPlanName
stringnullable

The name of the founding-member plan.

datapublications[]hasRecommendations
booleannullable

Whether the publication recommends others.

The benefit lists for each subscription tier.

Benefits for free subscribers.

datapublications[]benefitsfree[]
stringoptional

Benefits for paid subscribers.

datapublications[]benefitspaid[]
stringoptional

Benefits for founding members.

datapublications[]benefitsfounding[]
stringoptional

The publication's main author.

datapublications[]authorid
integernullable

Numeric user id.

datapublications[]authorname
stringnullable

The name shown for the author.

datapublications[]authorhandle
stringnullable

The author's handle.

datapublications[]authorslug
stringnullable

The author's profile slug.

datapublications[]authorbio
stringnullable

The author's short biography.

datapublications[]authorphotoUrl
stringnullable

The author's profile photo URL.

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

datapublications[]authorbadgetype
stringnullable

The kind of badge, such as `bestseller`.

datapublications[]authorbadgetier
integernullable

The badge tier, when it has one.

datapublications[]authorbadgehandle
stringnullable

The handle the badge belongs to.

datapublications[]authorbadgeservice
stringnullable

The service the badge comes from.

datapublications[]authorbadgeurl
stringnullable

A link for the badge, when it has one.

datapublications[]authorbadges
objectnullable

The author's reader status fields, when available.

datapublications[]authorbestsellerTier
integernullable

The author's bestseller tier.

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

datapublications[]authorprimaryPublicationid
integernullable

Numeric publication id.

datapublications[]authorprimaryPublicationname
stringnullable

The publication's name.

datapublications[]authorprimaryPublicationsubdomain
stringnullable

The publication's Substack subdomain.

datapublications[]authorprimaryPublicationcustomDomain
stringnullable

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

datapublications[]authorprimaryPublicationlogoUrl
stringnullable

The publication's logo URL.

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

datapublications[]audiencepaidLabel
stringnullable

The band Substack displays for paid subscribers.

datapublications[]audiencepaidOrderOfMagnitude
integernullable

The order of magnitude behind the paid band.

datapublications[]audiencetotalLabel
stringnullable

The band Substack displays for all subscribers.

datapublications[]audiencetotalOrderOfMagnitude
integernullable

The order of magnitude behind the total band.

datapublications[]audiencefreeLabel
stringnullable

The band Substack displays for free subscribers.

datapublications[]audiencefreeShort
stringnullable

The short free-subscriber band.

datapublications[]audiencechatMembersLabel
stringnullable

The band Substack displays for chat members.

People with a byline on the publication.

datapublications[]contributors[]id
integernullable

Numeric user id.

datapublications[]contributors[]name
stringnullable

The contributor's name.

datapublications[]contributors[]handle
stringnullable

The contributor's handle.

datapublications[]contributors[]role
stringnullable

The contributor's role on the publication.

datapublications[]contributors[]owner
booleannullable

Whether the contributor owns the publication.

datapublications[]contributors[]photoUrl
stringnullable

The contributor's photo URL.

datapublications[]contributors[]bio
stringnullable

The contributor's short biography.

The contributor's badge.

datapublications[]contributors[]badgetype
stringnullable

The kind of badge, such as `bestseller`.

datapublications[]contributors[]badgetier
integernullable

The badge tier, when it has one.

datapublications[]contributors[]badgehandle
stringnullable

The handle the badge belongs to.

datapublications[]contributors[]badgeservice
stringnullable

The service the badge comes from.

datapublications[]contributors[]badgeurl
stringnullable

A link for the badge, when it has one.

datapublications[]contributors[]bestsellerTier
integernullable

The contributor's bestseller tier.

The publication's sections.

datapublications[]sections[]id
integernullable

Numeric section id.

datapublications[]sections[]name
stringnullable

The section's name.

datapublications[]sections[]description
stringnullable

The section's description.

datapublications[]sections[]slug
stringnullable

The section's URL slug.

datapublications[]sections[]isPodcast
booleannullable

Whether the section is a podcast.

datapublications[]sections[]isLive
booleannullable

Whether the section is a live stream.

datapublications[]sections[]isDefaultOn
booleannullable

Whether the section is on by default.

datapublications[]sections[]logoUrl
stringnullable

The section's logo URL.

datapublications[]sections[]coverImageUrl
stringnullable

The section's cover image URL.

datapublications[]sections[]hideFromNavbar
booleannullable

Whether the section is hidden from navigation.

datapublications[]sections[]hidePostsFromPubListings
booleannullable

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

Links the publication shows.

datapublications[]links[]id
integernullable

Numeric link id.

datapublications[]links[]url
string

The link.

datapublications[]links[]platform
stringnullable

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

datapublications[]links[]sectionId
integernullable

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

The subscription plans the publication offers.

datapublications[]plans[]id
stringnullable

The plan's id.

datapublications[]plans[]nickname
stringnullable

The plan's display name.

datapublications[]plans[]amount
integernullable

Price in the currency's minor unit.

datapublications[]plans[]currency
stringnullable

Currency code for the price.

datapublications[]plans[]interval
stringnullable

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

datapublications[]plans[]intervalCount
integernullable

How many intervals one charge covers.

datapublications[]plans[]active
booleannullable

Whether the plan is on sale.

datapublications[]plans[]founding
boolean

Whether this is a founding-member plan.

The publication's podcast, when it has one.

datapublications[]podcastexists
booleannullable

Whether the publication has a podcast.

datapublications[]podcasthasFreeEpisodes
booleannullable

Whether free episodes are available.

datapublications[]podcasthasPaidEpisodes
booleannullable

Whether paid episodes are available.

datapublications[]podcastartUrl
stringnullable

The podcast artwork URL.

datapublications[]podcastbyline
stringnullable

The podcast byline.

datapublications[]podcastdescription
stringnullable

The podcast description.

datapublications[]podcastfeedUrl
stringnullable

The podcast feed URL.

datapublications[]podcasttitle
stringnullable

The podcast title.

datapublications[]podcastpaidEpisodeArtUrl
stringnullable

Artwork for paid episodes.

Pagination state for the current page.

datapagehasMore
boolean

Whether another page is available.

datapagenextCursor
stringnullable

Cursor to pass in the next request when more pages exist; null on the last page.

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/profiles/dieworkwear/posts?limit=5" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Substack profile posts.