Substack authors posting via API...
For Substack authors who need to post from code — draft, publish now, or schedule. That is the job to be done. Tags and draft updates support the same posting workflow.
POST /api/v1/drafts
PUT /api/v1/drafts/{id}
GET /api/v1/drafts/{id}/prepublish?publish_date=... (schedule)
POST /api/v1/drafts/{id}/scheduled_release (schedule)
POST /api/v1/drafts/{id}/publish (publish now)If you write and publish a newsletter, this is for you. Connect your publication, authenticate with your session, and post without living in the browser editor.
• Verify auth / profile • Create draft / publish / schedule • Get draft • Update draft • Publish now • Schedule • Delete draft • List tags • Create tag • Attach tags • Get post tags
Three separate products for the same posting job. The Python client for scripts and apps. The CLI for the terminal. The MCP server for AI tools such as Cursor or Claude. Pick one product — they are not the same package.
• Python client: Standalone Python SDK for Substack authors who post from scripts and apps. • CLI: Standalone command-line tool for draft, publish, and schedule from the terminal. • MCP server: Standalone MCP product for posting from AI tools such as Cursor or Claude. • Plain-text → ProseMirror draft_body conversion • Universal publication_url (*.substack.com or custom domain)
Very frequently asked questions
Who is this for?
Writers and newsletter operators who publish on Substack and want to post with the Python client, the CLI, or the MCP server — each a separate product. If your job is to get posts out of your head and into your publication — this product is for you.
What job does this close?
Help Substack authors post to their publication programmatically — draft, publish, and schedule without the browser UI. Supporting actions (update draft, delete draft, tags) exist to make that posting workflow complete.
How do I post with it?
Authenticate with your browser session cookie (substack.sid), set your publication URL, then create, publish, or schedule with one of the separate products: Python client, CLI, MCP server. Each is its own product — pick the one that fits your workflow.