Tumblr Posts Scraper - Any Blog, Tags & Dates avatar

Tumblr Posts Scraper - Any Blog, Tags & Dates

Pricing

from $1.60 / 1,000 scraped posts

Go to Apify Store
Tumblr Posts Scraper - Any Blog, Tags & Dates

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

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

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 }
FieldTypeNotes
blogstringA blog name (staff), @name, a tumblr.com URL, or a custom domain.
blogsstring[]Up to 20 blogs per run.
maxPostsinteger1–50. A Tumblr feed carries roughly the 20 most recent. Charged per post.
includeBodyTextbooleanAdds 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.
  • isReblog tells 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; tags is the full list and tagCount is asserted to match it.
  • postId is extracted from the permalink, so rows join cleanly against other Tumblr data.
  • Names, URLs and custom domains all work, and feedUrl reports 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 maxPosts above ~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; wordCount and tags still 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.