← Back to blog

How to Auto Publish to Substack (There's No Official Way, Yet)

·auto publish to substackSubstack APIschedule Substack notesSubstack automationcross-post to Substack

How to Auto Publish to Substack (There's No Official Way, Yet)

TL;DR: You can auto publish to Substack through Substack’s own scheduler (posts up to three months out, Notes added in April 2026), but there’s still no official API for creating or publishing content. Substack’s Developer API, whose terms of use went live in January 2026, only hands back public profile data like subscriber counts and rankings. Every third-party posting tool is either reverse-engineering an internal endpoint or driving a real logged-in browser session.

Open a Substack dashboard on a Tuesday and the backlog looks the same as any other newsletter: a draft that needs to go out at 9am, three Notes to cross-post once the article is live, and a comment thread from last week’s post that nobody has replied to since Friday. None of that is hard by itself. It just doesn’t stop, and doing it by hand across a growing publication means a browser tab stays open for most of the day.

What Substack already lets you schedule on its own

Substack’s native tools cover more than people expect, and less than “auto publish” usually implies.

Publishing a post ahead of time has worked for years: draft an article, click “Continue,” check the box for “Schedule time to email and publish,” and pick a date up to three months out, per Substack’s own help center. That part is genuinely native, no third-party tool required.

Notes, Substack’s short-form feed post, only got the same treatment in April 2026. You can queue one Note at a time up to three months ahead, from either the web composer’s calendar icon or the mobile app’s schedule option. What it doesn’t do is batch scheduling: there’s no way to load a week of Notes in one sitting and have Substack space them out, and there’s no built-in way to auto-send a Note the moment a new post publishes, or to mirror that Note to LinkedIn, X, or Bluesky at the same time.

Why “auto publish to Substack” still means a workaround

This is the part that surprises people coming from Medium or Dev.to, where an API key gets you posting access in an afternoon. Substack shipped a Developer API, but its terms of use (last updated January 8, 2026) scope it to what the document itself calls “Authorized Data”: name, subscriber count, bestseller status, leaderboard rankings, profile summary. Permitted uses are display, discovery, and analytics involving public profiles. There is no publish, draft, or Notes endpoint in it, and the prohibited-uses section explicitly bars using the API to “replicate, substitute for, or materially compete with core features of the Substack platform,” which rules out treating it as a backdoor posting API even if you found a way to try.

That gap is exactly why every third-party Substack tool takes one of two routes. Some reverse-engineer the same internal network requests the Substack web app itself makes (open dev tools, watch the request that fires when you hit publish, replay it from code), which works until Substack changes an internal response shape and quietly breaks the integration. Others skip reverse-engineering entirely and drive your own already-logged-in browser session, the same interface a person uses, so there’s no undocumented endpoint to keep patching against.

PublishPort takes the second route. It wraps the open-source opencli project’s browser-session model, so an AI agent gets a local_bash command to run and a one-line capability description instead of a hand-rolled API client per platform. That also means the same session that posts to Substack can post to the other five or six platforms in your rotation without a separate integration for each, an approach covered in more depth in how PublishPort connects a remote AI agent to opencli.

Let an AI run the loop through your own account

The publish step is the easy half. What usually falls through is everything after: the comment on Tuesday’s post that’s still unanswered, the Note that never got sent when the article went live, and no clear read on which post actually drove signups this month.

An AI agent working through your own logged-in Substack session can draft a post shaped for Substack’s format, schedule it or Notes tied to it, flag new comments so they get a reply the same day instead of the same week, and read back whatever subscriber and engagement numbers your dashboard already shows you. Download PublishPort and it runs that loop on your machine, through your account, not a shared server pretending to be you.

How to set it up

  1. Install the client and log into Substack once, the same way you’d log in from any new browser. That session is what the AI drives afterward.
  2. Point the AI at your publication and hand it a draft, an outline, or a topic to research first.
  3. Let it publish or schedule the post, and queue any Notes that should go out alongside it.
  4. Have it watch comments and Notes replies so a question from a subscriber doesn’t sit for a week.
  5. Ask it to pull your own numbers back (opens, subscriber growth, which post outperformed the rest) instead of guessing from memory.

Limits and responsible use

None of this changes Substack’s own rules, and nothing here promises an account will never get flagged or throttled, that’s Substack’s call, not a tool’s. A logged-in browser session removes the most obvious automation signal (a shared server posting on a data-center IP), but posting at a pace no person would, or sending the same Note text to a dozen threads, still reads as spam to actual subscribers even before it reads as spam to Substack. Keep the cadence human, don’t blast identical content across notes and comments, and treat whatever credential connects your AI client to your machine the same way you’d treat a password.

Setup checklist:

FAQ

Does Substack have an API for posting?

Not for publishing. Substack’s Developer API, whose terms of use took effect January 8, 2026, only returns public profile data like subscriber counts and leaderboard status. There’s no documented endpoint for creating posts, Notes, or comments, so any tool that “auto publishes” to Substack through code is either using an unofficial reverse-engineered method or driving a browser session.

Can I schedule Substack Notes in advance?

Yes, since April 2026. Open the Notes composer, use the calendar icon on web (or the schedule option in the mobile app’s three-dot menu), and pick a time up to three months out. It schedules one Note at a time; there’s no native batch-scheduling for a week’s worth at once.

How far ahead can I schedule a Substack post?

Up to three months from the current date, through the same draft-and-schedule flow Substack has offered for years: finish a draft, click Continue, check the schedule box, and pick a date.

Can I auto cross-post a Substack Note to X or LinkedIn?

Not natively. Substack’s own scheduler only handles Substack itself. Getting a Note to also post elsewhere the moment it publishes needs either a dedicated automation tool watching your feed, or an AI driving your own logged-in sessions on each platform.

Is reverse-engineering Substack’s internal API against its terms?

Substack’s public Developer API terms only cover the documented profile-data endpoints, not the internal requests the web app makes internally, so using those isn’t addressed by that document at all. It’s still fragile: an unofficial integration built on an internal endpoint can break without notice whenever Substack changes how its own site works, since nothing about it was ever meant to be stable for outside use.