How to Move Tumblr Blog to Substack
<b>Short answer:</b> get Tumblr blog <b>sitemap.xml</b> and add it to https://apisubstack.com. After that your blog will automatically migrate step-by-step to substack.
Step-by-step guide to move your Tumblr blog to Substack. Export your archive, create a publication, connect it to API Substack, and republish as a Substack newsletter.
Moving from Tumblr to Substack means turning a blog archive into an owned email newsletter — with a public Substack home page and posts that arrive in readers’ inboxes.
Why leave Tumblr for Substack?
Tumblr is great for short/visual posts; Substack fits long-form and email subscribers better.
Substack gives you hosting for posts, email delivery, paid subscriptions, and a simpler writing workflow. The missing piece for many authors is automation: Substack has no official public posting API. That is where API Substack fits.
How API Substack helps the move
API Substack is the unofficial posting API for Substack authors. After you create a Substack publication, you connect it to API Substack and republish your archive as drafts/posts — then keep shipping new issues without living in the browser editor.
- Register on API Substack and generate an API key
- Connect your Substack publication (publication URL + `substack.sid` session cookie)
- Create drafts, publish now, or schedule posts from API, CLI, or MCP
- Turn the migration queue into a repeatable newsletter workflow
In practice: export from Tumblr → create Substack → connect the publication to API Substack → republish cleaned posts → keep writing as a Substack newsletter.
Step 1 — Export from Tumblr
- Use Tumblr’s account download / backup tools (or a third-party export) to pull posts.
- Separate text posts from photo/video posts — prioritize text for newsletter issues.
- Export your email followers if you used a mailing list off-platform.
- Save theme customizations only as reference; Substack uses its own layout.
Step 2 — Create your Substack publication
- Create a publication at Substack and choose your name/URL
- Write About / Welcome posts so new subscribers understand the move
- Import your subscriber CSV in Substack (where you legally have consent)
- Optionally connect a custom domain in Substack settings
Step 3 — Connect the publication to API Substack
- Register on API Substack and start your key
- Set your publication URL (example: `https://yourname.substack.com`)
- Copy the browser cookie `substack.sid` while signed into Substack (DevTools → Application → Cookies)
- Store the API key + cookie in your CLI, HTTP client, or Substack API MCP
Step 4 — Republish Tumblr posts to Substack
- Clean each post (title, subtitle, body, images, tags)
- Create a draft on Substack via API Substack (`create_post` / draft flows)
- Review the draft in Substack if the piece is sensitive or heavily formatted
- Publish or schedule — work oldest→newest or ship a “best of” first
- Announce the move to remaining Tumblr readers with the Substack URL
For non-technical authors, install the MCP into Claude, Cursor, or Codex and ask the agent to draft/publish. For developers, use the Python client / CLI or raw HTTP. See How to post to Substack via API.
Corner cases
- Reblog-heavy archives may not be worth migrating — curate best original posts.
- NSFW or community norms may differ on Substack — review before republish.
- Multimedia posts need manual reformatting into newsletter HTML.
- `substack.sid` expires — refresh it when you get 401/403
- API Substack does not replace Substack’s own subscriber CSV import — connect the publication, then republish content
- Image upload and Notes are not the focus of the posting API — optimize for newsletter posts
- This is unofficial and not affiliated with Substack — keep browser login as backup
After the move
Once the Tumblr archive is on Substack, keep using API Substack as your publish rail: draft tomorrow’s issue, schedule the week, or let an AI agent post through MCP. Your blog becomes a Substack newsletter you actually control.
Register and get your API key