---
title: "Tumblr API: post and schedule from code"
url: "https://get1post.com/developers/tumblr.md"
canonical_url: "https://get1post.com/developers/tumblr"
last_updated: "2026-10-26"
type: "reference"
summary: "Post and schedule to Tumblr with the 1Post API and MCP server: the request, the reply, every rule it is checked against and a dry run."
related: ["https://get1post.com/platforms/tumblr.md", "https://get1post.com/platforms/tumblr/specs.md", "https://get1post.com/docs/api-posts.md", "https://get1post.com/docs/mcp.md"]
---

# Tumblr API: post and schedule from code

Post and schedule to Tumblr with the 1Post API and MCP server: the request, the reply, every rule it is checked against and a dry run.

Post to Tumblr from code with one request: POST /v1/posts with your blog id, the text and a schedule_at time. Tumblr text is limited to 4,096 characters, counted by code points. 1Post allows up to 50 posts a day for each connected blog, and a dry run checks a post against every rule first.

## Connect Tumblr first

1. Open Accounts in 1Post and choose Connect.
2. Pick Tumblr.
3. Sign in with Tumblr and approve access for the blog you want to post to.
4. Choose the blog in 1Post. It is ready to pick in the composer.

Then GET /v1/accounts returns the id of the Tumblr blog to use in the request.

Tumblr posts go into one of the account's blogs; GET /v1/accounts/{id}/targets lists them.

## Send a post to Tumblr

**Schedule a post**

```bash
curl https://api.get1post.com/v1/posts \
  -H "Authorization: Bearer $ONEPOST_API_KEY" \
  -H "Idempotency-Key: tumblr-first-post" \
  -d '{"accounts":["ACCOUNT_ID"],"text":"A few photos from the studio this week.","schedule_at":"2026-11-02T15:00:00Z"}'
```

The reply is 202 with the post (status scheduled) and one destination for Tumblr, which moves from queued to published or failed.

## What you can send to Tumblr

- Text
- Up to 30 images
- One video
- Link
- Tags

## What Tumblr publishes

- Tumblr allows 250 new published posts per day per user and 250 image uploads per day per user.

## Tumblr rules the request is checked against

| Rule | What 1Post checks |
| --- | --- |
| Text limit | 4,096 characters, counted by code points |
| Media accepted | Images, GIFs, Video |
| Images per post | 30 |
| Videos per post | 1 |
| Threads | Yes, as a chain of replies |
| First comment | No |
| Posts per day, per connected account (1Post) | 50 |

The same table with sources is on the [Tumblr specs page](https://get1post.com/platforms/tumblr/specs.md).

## Tumblr options in the request

- Thread: send parts instead of text. Each part is one post in the chain, up to 100 parts, and each is counted on its own.

**A two-part thread in the next free slot**

```json
{
  "accounts": [
    "ACCOUNT_ID"
  ],
  "parts": [
    {
      "text": "1/ The short version."
    },
    {
      "text": "2/ The detail.",
      "delay_min": 1
    }
  ],
  "use_next_free_slot": true
}
```

## Check the post before it is queued

Add "dry_run": true to test a post: nothing is kept, a valid one answers 200 and a broken one answers 422 naming the rule.

**A refused request, abridged**

```json
{
  "error": {
    "code": "invalid_for_platform",
    "message": "tumblr refuses this post: Tumblr counts 4,128 of 4,096 characters in part 1. (text_too_long).",
    "fix": "Fix the rule named in the message and send the post again.",
    "retryable": false,
    "request_id": "REQUEST_ID"
  }
}
```

An assistant connected to the [MCP server](https://get1post.com/docs/mcp.md) sends the same fields to create_post; [set one up](https://get1post.com/assistants.md).

## Questions

**Can I post to Tumblr with an API key?**

Yes. A key with write scope can create, change and cancel Tumblr posts for the workspace it belongs to, with the role of the member who made it. See [API authentication](https://get1post.com/docs/api-authentication.md).

**What happens if a Tumblr post breaks a rule?**

The request is refused with invalid_for_platform and the failing rule is named. Fix it and send the request again, or send it with dry_run to test the fix first.

**How many Tumblr posts can I send in a day?**

Up to 50 for each connected blog. A request that would pass that answers daily_cap with the time the day frees up.

## Sources

- [Tumblr API v2](https://www.tumblr.com/docs/en/api/v2), read 2026-10-22

## Related

- [Schedule Tumblr posts: formats, limits, setup](https://get1post.com/platforms/tumblr.md)
- [Tumblr specs and limits: text, media, daily cap](https://get1post.com/platforms/tumblr/specs.md)
- [Creating and changing posts with the API: 1Post docs](https://get1post.com/docs/api-posts.md)
- [The MCP server: 1Post docs](https://get1post.com/docs/mcp.md)
