Substack

Search Substack publications

Search Substack publications and their metadata.

GET/v1/substack/search/publications
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
2
querystringrequiredquery

Text to search publications for.

min 1 chars · max 200 chars

pageintegeroptionalquery

Page number, 0 to 100,000; twenty publications a page. Only pages 0 to 3 have results, so a page past 3 returns an empty list with `hasMore: false`.

≥ 0 · ≤ 100000

Response fields
133

Endpoint-specific response payload.

datalookupStatus
string

Whether the search ran.

one of: found, not_found

dataquery
string

The query that was searched.

Matching publications.

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.

Page-number pagination state for the current page.

datapagepage
integer

Current page (0-based).

≥ 0

datapagehasMore
boolean

True when another page exists.

datapagenextPage
integernullable

The next page number; null on the last page.

≥ 0

dataemptyIsUnverified
boolean

True when the list is empty but it could not be confirmed that the query has no matches. Such a response is still charged, like any other `200` answer.

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/search/publications?query=climate" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Substack publication search.