↑ ↓ to move ↵ to open
Social & content · REST API · MCP server

Tumblr Scraper API

Get public Tumblr blogs, posts, reblog trails, polls, tag stats, search results and original-size images as clean JSON. Send a blog name, a post link or a tag. No Tumblr login.

  • 1 credit per call
  • Failed calls are free
  • Updated
tumblr.posts.list 34 rows completed
# Post Notes Type Posted (Unix time) Link Blog name Id
1 Premium just got better 3567 blocks 1,789,650,982 https://staff.tumblr.com/post/828009069026721792/premium-just-g… staff 828009069026721792
2 Deleted accounts can now be recovered up to 30 days later 12,431 blocks 1,783,975,056 https://staff.tumblr.com/post/822057428507049984/in-case-youre-… staff 822057428507049984
3 Where's that comment? 7553 blocks 1,780,495,189 https://staff.tumblr.com/post/818408523445731328 staff 818408523445731328
4 A note from the Tumblr team 46,168 blocks 1,776,283,552 https://staff.tumblr.com/post/813992302192263168/a-note-from-th… staff 813992302192263168
5 Tumblr Hack Day, March 2026 Edition 5640 blocks 1,775,805,709 https://staff.tumblr.com/post/813491247714074624 staff 813491247714074624
6 We meant it. Let's work together 17,292 blocks 1,774,903,543 https://staff.tumblr.com/post/812545258409934848/we-meant-it-le… staff 812545258409934848
7 tumblr tuesday: the amazing digital circus 13,096 blocks 1,774,371,863 https://staff.tumblr.com/post/811987751056605184 staff 811987751056605184
8 Tumblr Advisor Board 35,079 blocks 1,774,066,484 https://staff.tumblr.com/post/811667537981030400 staff 811667537981030400
9 Tumblr Advisor Board 35,079 blocks 1,774,051,345 https://staff.tumblr.com/post/811651663989538816 staff 811651663989538816
10 Reblogs in a chain now get their own notes 319,772 blocks 1,773,704,660 https://staff.tumblr.com/post/811288138350821376/its-very-clear… staff 811288138350821376
Endpoints

Tumblr API endpoints

What each one takes and what it returns. Open one for a real response, every input and every field.

Tumblr Posts API

List a blog's public posts with summary, tags, notes, post time and link, page by page.

Sendusername ReturnssummarynoteCounttypetimestamppostUrlcontent
1 credit

Tumblr Post API

Get one post from its link, or its blog and ID: the full content blocks, reblog trail, poll, tags and note count.

Sendusernameorpost_idorurl ReturnssummaryblogNamenoteCounttypetimestamppostUrl
1 credit

Tumblr Profile API

Get a public blog from its name or link: title, description and whether it is marked NSFW.

Sendusernameorurl ReturnsnametitledescriptionheaderImageisNsfwisPrivate
1 credit

Tumblr Posts Search API

Search public Tumblr posts by keyword.

Sendquery ReturnsJSON; every field is in the API reference
1 credit

Tumblr Tag API

Get a tag's stats: followers, total posts, new posts and whether it is trending.

Sendtag ReturnsnamedescriptionfollowerCountpostCountnewPostCountisTrending
1 credit

Tumblr Tag Posts API

List the recent public posts under a tag.

Sendtag ReturnsJSON; every field is in the API reference
1 credit

Tumblr Images API

Collect the original-size images from a blog's recent posts.

Sendusername ReturnsJSON; every field is in the API reference
1 credit

Tumblr Post Images API

Collect the original-size images from one post and its reblog trail.

Sendusernameorpost_idorurl ReturnsJSON; every field is in the API reference
1 credit

Tumblr Raw Posts API

List a blog's posts as Tumblr's own records, for your own parsing.

Sendusername ReturnsJSON; every field is in the API reference
1 credit

Tumblr Raw Profile API

Get a blog's profile as Tumblr's own record, for your own parsing.

Sendusername ReturnsJSON; every field is in the API reference
1 credit
Use cases

What teams build with Tumblr data

Know before you build

How Tumblr data behaves

REST API · MCP server

Call it from your code, or ask your agent

One request shape for every Tumblr endpoint: the endpoint ID and its input. No SDK needed.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "tumblr.posts.list",  "input": {    "limit": 40,    "username": "staff"  }}'
Response
{  "totalCount": 34,  "posts": [    {      "blogName": "staff",      "id": "828009069026721792",      "noteCount": 3567,      "postUrl": "https://staff.tumblr.com/post/828009069026721792/premium-just-got-better",      "summary": "Premium just got better",      "timestamp": 1789650982,      "type": "blocks",      "content": [        {          "text": "Premium just got better",          "type": "text"        },        {          "type": "image"        }      ],      "tags": [        "tumblr premium",        "new features"      ]    },    {      "blogName": "staff",      "id": "822057428507049984",      "noteCount": 12431,      "postUrl": "https://staff.tumblr.com/post/822057428507049984/in-case-youre-looking-for-a-blog-thats-gone",      "summary": "Deleted accounts can now be recovered up to 30 days later",      "timestamp": 1783975056,      "type": "blocks",      "content": [        {          "text": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",          "type": "text"        },        {          "text": "\nA missing blog without “-deactivated” isn’t necessarily a sign of a suspension, it might just mean that someone deleted their own account …",          "type": "text"        }      ],      "tags": [        "tumblr"      ]    }  ]}
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Use Upscrape to list the latest posts on Tumblr's staff blog and rank them by notes. What were the five biggest announcements?

With Upscrape, open staff.tumblr.com/post/828009069026721792 and summarise what it announces, with its tags and note count.

With Upscrape, get the Tumblr profile for https://www.tumblr.com/staff. Tell me what it costs before you run it, then show the results as a table.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Social & content
Questions

Tumblr Scraper API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
Is there an official Tumblr API?

Tumblr has an API that needs a registered app and OAuth keys. Upscrape reads public Tumblr pages, so you get blogs, posts, tags and images with one API key.

Do I need a Tumblr account?

No. You send a blog name, a link or a tag and get JSON back. Nothing runs on your account. Private blogs are not part of it.

Can I get the full-size images?

Yes. The image endpoints return the original-size files from a blog's posts or from one post and its reblog trail.

What data can I get from Tumblr?

Posts, post, profile, posts search, tag, tag posts, images, post images, raw posts and raw profile. Each is its own endpoint with a published input schema, and the response is JSON.

How much does the Tumblr API cost?

Every Tumblr endpoint costs 1 credit per successful call. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.

Can an AI agent use the Tumblr API?

Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the Tumblr endpoint, checks its price and runs it with the same credits as the REST API.

Is it legal to scrape Tumblr?

Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.

What happens when Tumblr changes its pages?

We fix the endpoint. Your request and the response fields stay the same.

Get started

Your first Tumblr call is free.

Up to 100 free credits to start, no card needed.