DEV Community

Cover image for Extracting Publication Data from Substack
Mathieu K
Mathieu K

Posted on

Extracting Publication Data from Substack

If you have a substack account, like me, you are probably wondering how the articles are stored and how to fetch them manually, right? Well, it will be a short post trying to explain that.

The end-point to get the JSON object describing the post is /api/v1/drafts/${post_id} where post_id is an integer (a reference to your post).

curl https://${account_name}.substack.com/api/v1/drafts/${post_id}
Enter fullscreen mode Exit fullscreen mode

The headers used for doing this request:

Accept: */*
Accept-Encoding: gzip, delfate, br, zstd
Accept-Language: en-US
Cookie: ${your_cookie}
Priority: u=1, i
sec-ch-ua: 
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
sec-fetch-dest: 
sec-fetch-mode: cors
sec-fetch-site: same-origin
sec-gpc: 1
User-Agent: ${your_user_agent}
Enter fullscreen mode Exit fullscreen mode

If successful, a JSON should be returned containing a huge amount of fields. Your post is stored in draft_body as stringified JSON.

{
   ...
   "draft_body": "",
   ...
}
Enter fullscreen mode Exit fullscreen mode

The body of your post can be extracted now, it's a JSON object using the SubstackPost Document Model, if you want more information about it, you can check the DeepWiki page on that or Substack document format from can3p/substack-api-notes.

Anyway, I need to extract few values from that recently, I thought maybe it would help someone one day.


Cover Image by Tim Wildsmith on Unsplash

Top comments (0)