Tumblr Posts Scraper - Any Blog, Tags & Dates
Pricing
from $1.60 / 1,000 scraped posts
Tumblr Posts Scraper - Any Blog, Tags & Dates
Scrape any public Tumblr blog: post title, id, publish date, full tag list, word count and a reblog flag, one row per post. Accepts a blog name, a tumblr.com URL or a custom domain. Bulk blogs, no API key. $0.002 per post.
Pricing
from $1.60 / 1,000 scraped posts
Rating
0.0
(0)
Developer
Broke to Built
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Tumblr Posts Scraper — Any Blog, Tags & Dates
Scrape any public Tumblr blog and get one row per post: title, post id, publish date, the full tag list, a word count and whether the post is a reblog or original.
No API key, no OAuth. $0.002 per post — a blog with no reachable feed is recorded and not charged.
Input
{ "blog": "staff", "maxPosts": 20 }
Bulk, mixing address shapes:
{ "blogs": ["staff", "https://changes.tumblr.com", "myblog.com"], "maxPosts": 20 }
| Field | Type | Notes |
|---|---|---|
blog | string | A blog name (staff), @name, a tumblr.com URL, or a custom domain. |
blogs | string[] | Up to 20 blogs per run. |
maxPosts | integer | 1–50. A Tumblr feed carries roughly the 20 most recent. Charged per post. |
includeBodyText | boolean | Adds the post body as plain text. Default false. |
Output
{"ok": true,"blog": "staff","blogTitle": "Tumblr Staff","postId": "822057428507049984","title": "In case you're looking for a blog that's gone missing on Tumblr","url": "https://staff.tumblr.com/post/822057428507049984","publishedAt": "2026-07-13T20:37:36.000Z","tags": ["tumblr"],"tagCount": 1,"wordCount": 214,"isReblog": true}
What it gets right
- ⭐ Tumblr double-encodes its titles, and this decodes them properly. A curly apostrophe
arrives as
’— decode once and you get the literal text’sitting in the title. Since most Tumblr titles contain punctuation, a single-pass decoder leaves visible gibberish across nearly every row. This decodes until the text stops changing (bounded), and the spec fails on both raw and half-decoded entities. isReblogtells you what is original. It is the first question anyone mining Tumblr asks, and the only signal in the feed is the class Tumblr puts on the quoted-blog link.- Every tag, not just the first. Tumblr emits one
<category>element per tag;tagsis the full list andtagCountis asserted to match it. postIdis extracted from the permalink, so rows join cleanly against other Tumblr data.- Names, URLs and custom domains all work, and
feedUrlreports which address was used.
Pricing
$0.002 per post returned. A blog that does not exist, is private, or is flagged produces an
ok: false record and is not charged.
Limits
- A Tumblr RSS feed carries roughly the 20 most recent posts. There is no public archive
endpoint, so
maxPostsabove ~20 simply returns what exists. - Public blogs only. Private, password-protected and flagged blogs have no public feed.
- Returns post metadata and, optionally, body text. Not notes, reblog chains or asks.
- Photo and video posts often have no title;
wordCountandtagsstill describe them.
FAQ
Do I need a Tumblr API key? No.
Can I get the whole archive? No — the feed only exposes recent posts.
Why do some posts have an empty title? Photo, quote and link posts frequently have none on Tumblr. The body and tags are still returned.
Changelog
- 0.1 (2026-09-10) — first release. Double-encoding handled, full tag lists, reblog detection, post ids, name/URL/custom-domain input.