API Direct
Endpoints
Substack User Posts

Substack User Posts

GET /v1/substack/user/posts

Get an author's posts across all their publications, newest first. Returns post title, publication, publication date, engagement, paywall status, word count and tags. Supports fetching multiple pages in a single API call.

Cost
$0.003 per page
Free tier
50 requests/month

Parameters

username
Substack handle, e.g. lenny, with or without a leading @ (max 100 characters). Provide one of username, user_id or url.
user_id
Numeric Substack user ID, as returned in user_id. Provide one of username, user_id or url.
url
Profile URL, e.g. https://substack.com/@lenny (max 500 characters). Provide one of username, user_id or url.
pages
Number of pages to fetch, 1-60 (default: 1). Each page returns up to 50 posts; you are billed per page returned.
get_sentiment
Set to true to add AI emotion analysis (Plutchik's Wheel) to each result. Adds +$0.001 per page to the cost. Returns emotion scores, dominant emotion, intensity, and polarity.

Example Request

curl "https://apidirect.io/v1/substack/user/posts?username=lenny&pages=1"   -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "count": 100,
  "pages": 2,
  "posts": [
    {
      "audience": "only_paid",
      "audio_url": "",
      "author": "kiyani",
      "author_id": "3667529",
      "author_name": "Kiyani",
      "author_url": "https://substack.com/@kiyani",
      "authors": [
        {
          "name": "Kiyani",
          "url": "https://substack.com/@kiyani",
          "user_id": "3667529",
          "username": "kiyani"
        }
      ],
      "comments": 0,
      "cover_image_url": "https://substackcdn.com/image/fetch/$s_!KxHU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F…",
      "date": "2026-10-10 13:01:38",
      "domain": "substack.com",
      "is_paid": true,
      "lang": "en",
      "likes": 10,
      "podcast_duration": 0,
      "podcast_image_url": "",
      "podcast_url": "",
      "post_id": "219527894",
      "publication": "Lenny's Newsletter",
      "publication_id": "10845",
      "publication_url": "https://www.lennysnewsletter.com",
      "reactions": {
        "❤": 10
      },
      "replies": 0,
      "restacks": 0,
      "slug": "community-wisdom-community-wisdom",
      "snippet": "Community Wisdom 301",
      "source": "Substack",
      "subtitle": "Community Wisdom 301",
      "tags": [],
      "title": "🧠 Community Wisdom: Community Wisdom Top Contributors Summer Class 2026 + ML recommendation systems, getting back into product after being fired, deciding wh…",
      "type": "newsletter",
      "url": "https://www.lennysnewsletter.com/p/community-wisdom-community-wisdom",
      "video_duration": 0,
      "wordcount": 8056
    }
  ],
  "user_id": "1849774",
  "username": "lenny"
}

Your Usage

Free tier this month
Loading...
Recent Activity