GET
/
posts
/
search
curl --request GET \
  --url https://api.substackapi.dev/posts/search \
  --header 'X-API-Key: <api-key>'
[
  {
    "slug": "my-post",
    "url": "https://example.substack.com/p/my-post",
    "title": "My Post",
    "description": "This is a description of my post",
    "excerpt": "This is an excerpt of my post",
    "body_html": "<p>This is the body of my post</p>",
    "reading_time_minutes": 5,
    "audio_url": "https://example.com/my-post.mp3",
    "date": "2025-03-20T15:30:00Z",
    "likes": 100,
    "paywall": false,
    "cover_image": {
      "original": "https://example.com/my-post.jpg",
      "og": "https://example.com/my-post.jpg",
      "small": "https://example.com/my-post.jpg",
      "medium": "https://example.com/my-post.jpg",
      "large": "https://example.com/my-post.jpg"
    },
    "cover_image_color_palette": {
      "vibrant": "rgb(0, 0, 0)",
      "light_vibrant": "rgb(0, 0, 0)",
      "dark_vibrant": "rgb(0, 0, 0)",
      "muted": "rgb(0, 0, 0)",
      "light_muted": "rgb(0, 0, 0)",
      "dark_muted": "rgb(0, 0, 0)"
    },
    "author": "John Doe",
    "author_image": {
      "original": "https://example.com/my-post.jpg",
      "small": "https://example.com/my-post.jpg",
      "medium": "https://example.com/my-post.jpg",
      "large": "https://example.com/my-post.jpg"
    }
  }
]

Authorizations

X-API-Key
string
header
required

Test key: sk_test_9b0j6a1bdbf4f38b1 Get production key at auth.substackapi.dev

Query Parameters

publication_url
string
required

The URL of the publication to retrieve posts from (e.g. example.substack.com)

query
string
required

The query to search for (e.g. 'AI', 'machine learning', 'data science')

limit
integer
default:10

The maximum number of results to return (default: 10)

Required range: 1 <= x <= 50
offset
integer
default:0

The offset of the results to return (default: 0)

Required range: x >= 0

Response

200
application/json

A list of posts

The response is of type object[].