list_blogs
read-onlyList the blogs this Tumblr account can post to, with each blog's name and UUID (use either as the post's blog option), title, URL, followers and whether it is the primary blog.
Publish to Tumblr and run its tools from your app or your AI agent, with the same API key and MCP server.
What you can post
These are the limits the API enforces for Tumblr, read straight from the code. Every post is checked against them before anything is sent.
Post with one request
Send the text and the account ID. Add an Idempotency-Key so a retried request never posts twice. The response lists each account with its own status and, once it’s live, the post’s URL.
curl https://socialhelper.app/api/v1/posts \
-H "Authorization: Bearer $SOCIALHELPER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}'
const response = await fetch("https://socialhelper.app/api/v1/posts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOCIALHELPER_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}),
});
const { data: post } = await response.json();
console.log(post.status, post.targets);
import os, uuid, requests
response = requests.post(
"https://socialhelper.app/api/v1/posts",
headers={
"Authorization": f"Bearer {os.environ['SOCIALHELPER_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": ["ACCOUNT_ID"],
},
)
post = response.json()["data"]
print(post["status"], post["targets"])
Tools
Call them with POST /api/v1/accounts/{id}/tools/{tool}, or let your agent use list_account_tools and run_account_tool over MCP. Results come back straight away.
List the blogs this Tumblr account can post to, with each blog's name and UUID (use either as the post's blog option), title, URL, followers and whether it is the primary blog.
Count the notes (likes, reblogs and replies) on one post.
Connect
Open Accounts in the SocialHelper dashboard and choose Tumblr. You sign in on Tumblr’s own screen and approve access; SocialHelper stores the connection encrypted. You don’t need a Tumblr developer app of your own.
In the dashboard, choose Tumblr.
Approve access on Tumblr’s own screen.
GET /api/v1/accounts lists the account with its ID, whether it can publish, and its tools.
SocialHelper calls Tumblr’s official API for you. Tumblr API reference ↗
FAQ
100,000, counted the way Tumblr counts it. SocialHelper checks the length before posting, and if it doesn’t fit nothing is sent.
Up to 10 images per post. Up to 1 video per post.
No. You connect with a normal Tumblr sign-in through SocialHelper’s own app.
Yes. Connect the SocialHelper MCP server at https://socialhelper.app/mcp and your agent can post to Tumblr and run its tools.
SocialHelper is free during early access, Tumblr included.
More platforms
Post to your Bluesky profile.
posts
Share posts from your LinkedIn profile.
posts
Post to your account on any Mastodon server.
posts
Post to channels and groups through your bot.
posts
Post to a server channel through a webhook.
posts
Post to your Facebook Pages.
posts 3 tools
Publish photos and reels to Instagram.
posts 3 tools
Post to your Threads profile.
posts 4 tools
SocialHelper is invite-only during early access. Join the waitlist: the first 100 people to sign up get a Founding account with higher limits, free for 12 months.