List Substack profile posts List the posts a Substack reader published.
GET /v1/substack/profiles/{handle}/posts
x-api-key* string header
API key (`sfk_...`)
handle* string required path
A profile handle, e.g. `dieworkwear` or `@dieworkwear`.
min 1 chars · max 100 chars · pattern: ^@?[A-Za-z0-9][A-Za-z0-9._-]*$
limit integer optional query
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
cursor string optional query
Opaque cursor from the previous page's `nextCursor`.
max 4096 chars
Response fields 221 Expand all Collapse all Collapse all Endpoint-specific response payload.
Whether the profile was found.
data . profileId
integer nullable
Numeric profile id.
data . posts [] . publicationId
integer nullable
Numeric publication id.
data . posts [] . slug
string nullable
The post's URL slug.
data . posts [] . title
string nullable
The post's title.
data . posts [] . subtitle
string nullable
The post's subtitle.
data . posts [] . description
string nullable
The post's short description.
data . posts [] . kind
string nullable
`newsletter`, `podcast`, `video` or `restack`.
data . posts [] . audience
string nullable
`everyone`, `only_paid`, `only_subscribers` or another value Substack uses.
data . posts [] . isPaywalled
boolean nullable
Whether the post is paid.
data . posts [] . url
string nullable
Canonical post URL.
data . posts [] . publishedAt
string nullable
ISO 8601 timestamp, or null when Substack does not publish one.
data . posts [] . updatedAt
string nullable
ISO 8601 timestamp, or null when Substack does not publish one.
data . posts [] . language
string nullable
The post's language code.
data . posts [] . bodyHtml
string nullable
Full body HTML for a free post; the preview only when `bodyIsPreview` is true.
data . posts [] . bodyIsPreview
boolean
True when the audience is not `everyone`.
data . posts [] . previewText
string nullable
The public preview text.
data . posts [] . wordCount
integer nullable
The post's word count.
data . posts [] . commentCount
integer nullable
The number of comments on the post.
data . posts [] . replyCount
integer nullable
Replies to comments on the post.
data . posts [] . reactionCount
integer nullable
The number of reactions to the post.
data . posts [] . reactions
object
Emoji to reaction count.
data . posts [] . restackCount
integer nullable
The number of restacks.
data . posts [] . commentPermission
string nullable
Who may comment on the post.
data . posts [] . coverImageUrl
string nullable
The post's cover image URL.
data . posts [] . coverImageIsSquare
boolean nullable
Whether the cover image is square.
data . posts [] . coverImageIsExplicit
boolean nullable
Whether the cover image is explicit.
data . posts [] . isGeoblocked
boolean nullable
Whether the post is geoblocked.
data . posts [] . blockedCountries array
Countries where the post is blocked.
data . posts [] . blockedCountries []
string optional
data . posts [] . liveStreamId
string nullable
The live stream id, when the post is a live stream.
data . posts [] . isPublished
boolean nullable
Whether the post is published.
data . posts [] . isPinned
boolean nullable
Whether the post is pinned.
data . posts [] . seoTitle
string nullable
The title shown to search engines.
data . posts [] . seoDescription
string nullable
The description shown to search engines.
data . posts [] . socialTitle
string nullable
The title used for social previews.
data . posts [] . previousSlug
string nullable
The previous post's slug.
data . posts [] . nextSlug
string nullable
The next post's slug.
The section the post belongs to.
data . posts [] . section . id
integer nullable
Numeric section id.
data . posts [] . section . name
string nullable
The section's name.
data . posts [] . section . slug
string nullable
The section's URL slug.
data . posts [] . tags [] . id
integer nullable
Numeric tag id.
data . posts [] . tags [] . name
string nullable
The tag's name.
data . posts [] . tags [] . slug
string nullable
The tag's URL slug.
data . posts [] . tags [] . hidden
boolean nullable
Whether the tag is hidden.
data . posts [] . authors [] . id
integer nullable
Numeric user id.
data . posts [] . authors [] . name
string nullable
The name shown for the author.
data . posts [] . authors [] . handle
string nullable
The author's handle.
data . posts [] . authors [] . slug
string nullable
The author's profile slug.
data . posts [] . authors [] . bio
string nullable
The author's short biography.
data . posts [] . authors [] . photoUrl
string nullable
The author's profile photo URL.
data . posts [] . authors [] . badge object nullable
The author's main badge, when there is one.
data . posts [] . authors [] . badge . type
string nullable
The kind of badge, such as `bestseller`.
data . posts [] . authors [] . badge . tier
integer nullable
The badge tier, when it has one.
data . posts [] . authors [] . badge . handle
string nullable
The handle the badge belongs to.
data . posts [] . authors [] . badge . service
string nullable
The service the badge comes from.
data . posts [] . authors [] . badge . url
string nullable
A link for the badge, when it has one.
data . posts [] . authors [] . badges
object nullable
The author's reader status fields, when available.
data . posts [] . authors [] . bestsellerTier
integer nullable
The author's bestseller tier.
data . posts [] . authors [] . primaryPublication object nullable
The author's primary publication, when there is one.
data . posts [] . authors [] . primaryPublication . id
integer nullable
Numeric publication id.
data . posts [] . authors [] . primaryPublication . name
string nullable
The publication's name.
data . posts [] . authors [] . primaryPublication . subdomain
string nullable
The publication's Substack subdomain.
data . posts [] . authors [] . primaryPublication . customDomain
string nullable
The publication's custom domain, when it has one.
data . posts [] . authors [] . primaryPublication . logoUrl
string nullable
The publication's logo URL.
Podcast metadata, when the post is an episode.
data . posts [] . podcast . episodeNumber
integer nullable
The episode number.
data . posts [] . podcast . seasonNumber
integer nullable
The season number.
data . posts [] . podcast . episodeType
string nullable
The episode type.
Audio, when the post has any.
data . posts [] . audio . url
string nullable
Audio file URL.
data . posts [] . audio . durationSeconds
number nullable
Audio length in seconds.
data . posts [] . audio . fileSizeBytes
integer nullable
Audio file size in bytes.
data . posts [] . audio . mediaType
string nullable
The upload's media label, such as `audio`.
data . posts [] . audio . episodeImageUrl
string nullable
Artwork for the episode.
Generated or uploaded audio items.
data . posts [] . audio . items [] . postId
integer nullable
Numeric post id.
data . posts [] . audio . items [] . voiceId
string nullable
The voice used for generated audio.
data . posts [] . audio . items [] . audioUrl
string nullable
The audio file URL.
data . posts [] . audio . items [] . type
string nullable
`tts` or Substack's own audio type.
data . posts [] . audio . items [] . status
string nullable
The audio item's status.
Video, when the post has any.
data . posts [] . video . durationSeconds
number nullable
Video length in seconds.
data . posts [] . video . width
integer nullable
Video width in pixels.
data . posts [] . video . height
integer nullable
Video height in pixels.
data . posts [] . video . playbackId
string nullable
The playback id of the hosted video stream.
data . posts [] . video . isMux
boolean nullable
Whether the video uses Substack's hosted player.
Publications the returned posts belong to.
data . publications [] . id
integer
Numeric publication id.
data . publications [] . name
string nullable
The publication's name.
data . publications [] . subdomain
string nullable
The publication's Substack subdomain.
data . publications [] . customDomain
string nullable
The publication's custom domain, when it has one.
data . publications [] . apexDomain
string nullable
The publication's apex domain, when it has one.
data . publications [] . url
string nullable
The publication's canonical base URL.
data . publications [] . host
string nullable
The host its pages are served from.
data . publications [] . description
string nullable
The publication's description.
data . publications [] . language
string nullable
The publication's language code.
data . publications [] . kind
string nullable
`newsletter`, `podcast` or Substack's own type.
data . publications [] . createdAt
string nullable
ISO 8601 timestamp, or null when Substack does not publish one.
data . publications [] . firstPostAt
string nullable
ISO 8601 timestamp, or null when Substack does not publish one.
data . publications [] . hasPosts
boolean nullable
Whether the publication has posts.
data . publications [] . isExplicit
boolean nullable
Whether the publication is marked explicit.
data . publications [] . isInviteOnly
boolean nullable
Whether the publication is invite-only.
data . publications [] . isFlagged
boolean nullable
Whether the publication is flagged.
data . publications [] . noIndex
boolean nullable
Whether search engines are asked not to index it.
data . publications [] . isOnSubstack
boolean nullable
Whether the publication is hosted by Substack.
data . publications [] . commentsEnabled
boolean nullable
Whether comments are enabled.
data . publications [] . notesEnabled
boolean nullable
Whether Notes are enabled.
data . publications [] . defaultCommentSort
string nullable
The default comment order.
data . publications [] . annualDisabled
boolean nullable
Whether annual plans are disabled.
data . publications [] . monthlyDisabled
boolean nullable
Whether monthly plans are disabled.
data . publications [] . paymentsState
string nullable
The publication's payments state.
data . publications [] . freeTrialEnabled
boolean nullable
Whether a free trial is offered.
data . publications [] . pausedUntil
string nullable
ISO 8601 timestamp, or null when Substack does not publish one.
data . publications [] . emailBannerUrl
string nullable
The email banner image URL.
data . publications [] . copyright
string nullable
The copyright line the publication prints.
data . publications [] . logoUrl
string nullable
The publication's logo URL.
data . publications [] . wideLogoUrl
string nullable
The publication's wide logo URL.
data . publications [] . coverImageUrl
string nullable
The publication's cover image URL.
data . publications [] . foundingPlanName
string nullable
The name of the founding-member plan.
data . publications [] . hasRecommendations
boolean nullable
Whether the publication recommends others.
data . publications [] . benefits object
The benefit lists for each subscription tier.
data . publications [] . benefits . free array
Benefits for free subscribers.
data . publications [] . benefits . free []
string optional
data . publications [] . benefits . paid array
Benefits for paid subscribers.
data . publications [] . benefits . paid []
string optional
data . publications [] . benefits . founding array
Benefits for founding members.
data . publications [] . benefits . founding []
string optional
data . publications [] . author object
The publication's main author.
data . publications [] . author . id
integer nullable
Numeric user id.
data . publications [] . author . name
string nullable
The name shown for the author.
data . publications [] . author . handle
string nullable
The author's handle.
data . publications [] . author . slug
string nullable
The author's profile slug.
data . publications [] . author . bio
string nullable
The author's short biography.
data . publications [] . author . photoUrl
string nullable
The author's profile photo URL.
data . publications [] . author . badge object nullable
The author's main badge, when there is one.
data . publications [] . author . badge . type
string nullable
The kind of badge, such as `bestseller`.
data . publications [] . author . badge . tier
integer nullable
The badge tier, when it has one.
data . publications [] . author . badge . handle
string nullable
The handle the badge belongs to.
data . publications [] . author . badge . service
string nullable
The service the badge comes from.
data . publications [] . author . badge . url
string nullable
A link for the badge, when it has one.
data . publications [] . author . badges
object nullable
The author's reader status fields, when available.
data . publications [] . author . bestsellerTier
integer nullable
The author's bestseller tier.
data . publications [] . author . primaryPublication object nullable
The author's primary publication, when there is one.
data . publications [] . author . primaryPublication . id
integer nullable
Numeric publication id.
data . publications [] . author . primaryPublication . name
string nullable
The publication's name.
data . publications [] . author . primaryPublication . subdomain
string nullable
The publication's Substack subdomain.
data . publications [] . author . primaryPublication . customDomain
string nullable
The publication's custom domain, when it has one.
data . publications [] . author . primaryPublication . logoUrl
string nullable
The publication's logo URL.
data . publications [] . audience object
Approximate audience figures the publication prints. These are bands, not counts.
data . publications [] . audience . paidLabel
string nullable
The band Substack displays for paid subscribers.
data . publications [] . audience . paidOrderOfMagnitude
integer nullable
The order of magnitude behind the paid band.
data . publications [] . audience . totalLabel
string nullable
The band Substack displays for all subscribers.
data . publications [] . audience . totalOrderOfMagnitude
integer nullable
The order of magnitude behind the total band.
data . publications [] . audience . freeLabel
string nullable
The band Substack displays for free subscribers.
data . publications [] . audience . freeShort
string nullable
The short free-subscriber band.
data . publications [] . audience . chatMembersLabel
string nullable
The band Substack displays for chat members.
data . publications [] . contributors array
People with a byline on the publication.
data . publications [] . contributors [] . id
integer nullable
Numeric user id.
data . publications [] . contributors [] . name
string nullable
The contributor's name.
data . publications [] . contributors [] . handle
string nullable
The contributor's handle.
data . publications [] . contributors [] . role
string nullable
The contributor's role on the publication.
data . publications [] . contributors [] . owner
boolean nullable
Whether the contributor owns the publication.
data . publications [] . contributors [] . photoUrl
string nullable
The contributor's photo URL.
data . publications [] . contributors [] . bio
string nullable
The contributor's short biography.
data . publications [] . contributors [] . badge object nullable
The contributor's badge.
data . publications [] . contributors [] . badge . type
string nullable
The kind of badge, such as `bestseller`.
data . publications [] . contributors [] . badge . tier
integer nullable
The badge tier, when it has one.
data . publications [] . contributors [] . badge . handle
string nullable
The handle the badge belongs to.
data . publications [] . contributors [] . badge . service
string nullable
The service the badge comes from.
data . publications [] . contributors [] . badge . url
string nullable
A link for the badge, when it has one.
data . publications [] . contributors [] . bestsellerTier
integer nullable
The contributor's bestseller tier.
data . publications [] . sections array
The publication's sections.
data . publications [] . sections [] . id
integer nullable
Numeric section id.
data . publications [] . sections [] . name
string nullable
The section's name.
data . publications [] . sections [] . description
string nullable
The section's description.
data . publications [] . sections [] . slug
string nullable
The section's URL slug.
data . publications [] . sections [] . isPodcast
boolean nullable
Whether the section is a podcast.
data . publications [] . sections [] . isLive
boolean nullable
Whether the section is a live stream.
data . publications [] . sections [] . isDefaultOn
boolean nullable
Whether the section is on by default.
data . publications [] . sections [] . logoUrl
string nullable
The section's logo URL.
data . publications [] . sections [] . coverImageUrl
string nullable
The section's cover image URL.
data . publications [] . sections [] . hideFromNavbar
boolean nullable
Whether the section is hidden from navigation.
data . publications [] . sections [] . hidePostsFromPubListings
boolean nullable
Whether the section's posts are hidden from publication lists.
data . publications [] . links array
Links the publication shows.
data . publications [] . links [] . id
integer nullable
Numeric link id.
data . publications [] . links [] . url
string
The link.
data . publications [] . links [] . platform
string nullable
`apple_podcasts`, `spotify`, `youtube` or another label Substack uses.
data . publications [] . links [] . sectionId
integer nullable
The section the link belongs to, when it has one.
data . publications [] . plans array
The subscription plans the publication offers.
data . publications [] . plans [] . id
string nullable
The plan's id.
data . publications [] . plans [] . nickname
string nullable
The plan's display name.
data . publications [] . plans [] . amount
integer nullable
Price in the currency's minor unit.
data . publications [] . plans [] . currency
string nullable
Currency code for the price.
data . publications [] . plans [] . interval
string nullable
`month`, `year` or Substack's own value.
data . publications [] . plans [] . intervalCount
integer nullable
How many intervals one charge covers.
data . publications [] . plans [] . active
boolean nullable
Whether the plan is on sale.
data . publications [] . plans [] . founding
boolean
Whether this is a founding-member plan.
data . publications [] . podcast object
The publication's podcast, when it has one.
data . publications [] . podcast . exists
boolean nullable
Whether the publication has a podcast.
data . publications [] . podcast . hasFreeEpisodes
boolean nullable
Whether free episodes are available.
data . publications [] . podcast . hasPaidEpisodes
boolean nullable
Whether paid episodes are available.
data . publications [] . podcast . artUrl
string nullable
The podcast artwork URL.
data . publications [] . podcast . byline
string nullable
The podcast byline.
data . publications [] . podcast . description
string nullable
The podcast description.
data . publications [] . podcast . feedUrl
string nullable
The podcast feed URL.
data . publications [] . podcast . title
string nullable
The podcast title.
data . publications [] . podcast . paidEpisodeArtUrl
string nullable
Artwork for paid episodes.
Pagination state for the current page.
Whether another page is available.
data . page . nextCursor
string nullable
Cursor to pass in the next request when more pages exist; null on the last page.
Metadata describing the request and billing outcome.
Unique request identifier for tracing this API call.
meta . creditsCharged
integer
Credits charged for this request.
Public API version that served the response.