Skip to main content
POST
/
api
/
substack
/
posts
/substack/posts
curl --request POST \
  --url https://api.anysite.io/api/substack/posts \
  --header 'Content-Type: application/json' \
  --header 'access-token: <api-key>' \
  --data '
{
  "publication": "<string>",
  "post": "<string>",
  "timeout": 300
}
'
[
  {
    "id": 123,
    "@type": "@substack_post",
    "alias": "<string>",
    "title": "<string>",
    "subtitle": "<string>",
    "description": "<string>",
    "text": "<string>",
    "published_at": "<string>",
    "updated_at": "<string>",
    "canonical_url": "<string>",
    "publication_id": 123,
    "language": "<string>",
    "word_count": 123,
    "reaction_count": 123,
    "reactions": {},
    "comment_count": 123,
    "child_comment_count": 123,
    "restack_count": 123,
    "image": "<string>",
    "authors": [],
    "tags": [],
    "has_voiceover": true,
    "podcast_url": "<string>",
    "podcast_duration": 123,
    "podcast_image": "<string>",
    "podcast_episode_number": 123,
    "podcast_season_number": 123,
    "is_paywalled": true
  }
]

Authorizations

access-token
string
header
required

API token from the dashboard

Headers

access-token
string
required

Body

application/json
publication
string
required

Substack publication subdomain or custom domain

Minimum string length: 1
Examples:

"thefp.com"

"newsletter.pragmaticengineer.com"

"platformer"

post
string
required

Post slug or a post URL

Minimum string length: 1
Examples:

"this-week-in-american-history-the-5ef"

"https://www.thefp.com/p/this-week-in-american-history-the-5ef"

timeout
integer
default:300

Max scrapping execution timeout (in seconds)

Required range: 20 <= x <= 1500

Response

Successful Response

id
integer
required
@type
string
default:@substack_post
alias
string | null
title
string | null
subtitle
string | null
description
string | null
text
string | null
audience
enum<string> | null
Available options:
only_paid,
only_free,
everyone
type
enum<string> | null
Available options:
newsletter,
podcast,
thread
published_at
string | null
updated_at
string | null
canonical_url
string | null
publication_id
integer | null
language
string | null
word_count
integer | null
reaction_count
integer | null
reactions
Reactions · object
comment_count
integer | null
child_comment_count
integer | null
restack_count
integer | null
image
string | null
authors
SubstackPostAuthor · object[]
tags
SubstackPostTag · object[]
has_voiceover
boolean | null
podcast_url
string | null
podcast_duration
number | null
podcast_image
string | null
podcast_episode_number
integer | null
podcast_season_number
integer | null
is_paywalled
boolean | null