Tumblr
BulkPublish
Tumblr API
Publish, schedule and manage Tumblr from your own code. One REST API and one key cover Tumblr and every other network you connect, so you write the integration once.
What the Tumblr API covers
Everything below is part of the published API and works with Tumblr today.
| Capability | Endpoint |
|---|---|
| Create, schedule, update and publish posts | POST /api/posts |
| Upload images and video | POST /api/media |
| Find the next free slot in your queue | GET /api/posts/queue-slot |
| Create repeating schedules | POST /api/schedules |
| Publish new items from an RSS feed | POST /api/rss-feeds |
| Look up Tumblr blogs for a channel | GET /api/channels/{id}/options |
| Read comments on published posts | GET /api/posts/{id}/engagement |
| Check that the connection is healthy | GET /api/channels/{id}/health |
| Check your plan usage | GET /api/quotas/usage |
Post types you can publish to Tumblr
Choose the type with postTypeOverrides. A type Tumblr does not offer is rejected before anything is queued.
| Post type | Media |
|---|---|
post Post | Optional, up to 30 images or videos |
Schedule Tumblr posts with curl
Three requests: find your channel, upload the file if the post has one, then create the post. Replace the key with one from Settings, then API keys, and 12 with your own channel id.
1. List your channels and note the id of your Tumblr account.
curl https://app.bulkpublish.com/api/channels \
-H "Authorization: Bearer bp_your_key_here" 2. Upload the file. The response gives you the media id used as mediaFiles below.
curl -X POST https://app.bulkpublish.com/api/media \
-H "Authorization: Bearer bp_your_key_here" \
-F "file=@photo.jpg" 3. Create the post.
curl -X POST https://app.bulkpublish.com/api/posts \
-H "Authorization: Bearer bp_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"content": "A look at this week in the studio",
"channels": [{ "channelId": 12 }],
"status": "scheduled",
"scheduledAt": "2026-12-01T09:00:00Z",
"mediaFiles": [101],
"platformSpecific": {
"tumblr": {
"12": {
"title": "Studio notes",
"tags": [
"process",
"studio"
]
}
}
}
}' The response is the created post, with its id and status. Fetch it later with GET /api/posts/{id} to see how it went.
Tumblr options
Send these inside platformSpecific, under the key for Tumblr.
For Tumblr the options are keyed by your channel id, for example "12", or sent flat to apply to every Tumblr channel on the post.
| Option | What it does | Accepts |
|---|---|---|
blogName | Which blog to publish to | text |
title | Title | text |
tags | Tags | a list |
link | Destination link | text |
sourceUrl | Attribution link | text |
To find the valid blogs for a channel, call GET /api/channels/{id}/options.
Tumblr analytics through the API
Per-post numbers are not available for Tumblr, so there is nothing to read back for it.
Comments and messages
Through the API you can read comments on published posts.
Reading comments works on every plan. Replying to comments needs a paid plan, and the inbox is part of Pro and Business. Until a feature is switched on for your account the API answers 403 with a code you can check for.
API access on every plan
Every plan includes API keys, the Free plan included. Here is what each one allows.
| Plan | API keys | Requests per day |
|---|---|---|
| Free | 1 | 30 |
| Pro | 5 | 5,000 |
| Business | 10 | 50,000 |
Build on Tumblr directly, or use BulkPublish
BulkPublish keeps the connection for you: it refreshes tokens, checks each post against Tumblr's rules before it is queued, and reports a failed destination on the post, so your code makes one request.
Read the official documentation
Prefer to ask an assistant?
Claude, ChatGPT and Cursor can do the same through the Tumblr MCP server, with prompts instead of code.
Prefer a calendar to code?
The same Tumblr account can be scheduled from the app, with a content calendar and bulk upload.
Frequently asked questions
Common questions about the Tumblr API.
Is there a ready-made API for Tumblr, so I do not have to build the integration myself?
Yes. BulkPublish exposes Tumblr through its REST API. Connect your Tumblr account once, then publish, schedule and manage it with a key. The same key works for every other network you connect.
What can I publish to Tumblr through the API?
The post types are Post. Each is checked against Tumblr's media rules before anything is queued, so a request Tumblr would reject fails straight away with a clear error.
Can I schedule Tumblr posts through the API?
Yes. Send status "scheduled" with a scheduledAt time and a timezone, or ask for the next free slot in your queue first. Repeating schedules and RSS feeds are available too.
Can I read Tumblr analytics through the API?
Not per-post numbers. They are not available for Tumblr.
Can I read and answer Tumblr comments or messages through the API?
Yes. You can read comments on published posts. Replying to comments needs a paid plan, and the inbox is part of Pro and Business.
Does the Tumblr API cost extra?
No. API access is on every plan. Free includes 1 key and 30 requests a day, Pro 5 keys and 5,000 a day, Business 10 keys and 50,000 a day.
Do I need a Tumblr developer account or an app review?
Not to use BulkPublish. You connect your Tumblr account on the Channels page and publish with a BulkPublish key. If you build on Tumblr's own API instead, the section above lists what it asks of you.
Can an AI assistant do this too?
Yes. The Tumblr MCP server page shows how to connect Claude, ChatGPT or Cursor and what to ask for.
Other networks
The same key and the same request shape work for 15 networks.
Start publishing to Tumblr from code
Create a free account, connect Tumblr and generate a key. No card needed.