Tumblr Media Downloader avatar

Tumblr Media Downloader

Pricing

$2.65 / 1,000 media items

Go to Apify Store
Tumblr Media Downloader

Tumblr Media Downloader

Download media from public Tumblr post, blog, and archive URLs. Export direct media links, available variants, post metadata, tags, engagement counts, source URLs, and scrape timestamps for APIs, schedules, and integrations.

Pricing

$2.65 / 1,000 media items

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

📥 Tumblr media downloader for public posts and blogs

Tumblr Media Downloader collects public media from Tumblr post, blog, and archive URLs and exports direct media links with useful post context. Use it when you need Tumblr images, videos, GIFs, or audio files in a structured dataset for research, content operations, archiving workflows, scheduled exports, or API-based integrations.

Start with a single Tumblr post URL when you know exactly which post you need. Add a blog or archive URL when you want the Actor to discover recent public posts and save the media it finds. Each accepted media item is saved as its own dataset row, so downstream tools can process files one by one without unpacking large nested post objects.

✅ What this Actor does

Tumblr Media Downloader finds media attached to public Tumblr posts and returns one row per media item. It supports public post URLs, public blog homepages, and public archive URLs. For blog and archive runs, it discovers public posts from the target page and collects media from those posts until it reaches your maximum media row limit.

The Actor returns source-friendly metadata next to each media URL, including the Tumblr blog name, post URL, post ID, summary text, caption text, tags, publish time when available, note count when available, and scrape timestamp. When Tumblr exposes multiple media variants, the Actor can include those variants so you can choose the size or format that fits your workflow.

📊 Data you can export

The dataset includes direct media links and post context that is useful in spreadsheets, databases, automation tools, and API clients:

  • Input URL and target type
  • Tumblr blog name and blog title
  • Post ID, post URL, summary, caption text, tags, publish time, and note count
  • Media type, media index, media count in the post, file extension, width, and height when available
  • Direct source media URL
  • Optional media variants with available sizes and URLs
  • Optional Apify key-value store file details when media saving is enabled
  • Scrape timestamp

🚀 How to run it

  1. Add one or more public Tumblr post, blog, or archive URLs.
  2. Set the maximum number of media rows you want to save.
  3. Choose whether to include media variants.
  4. Optionally enable media file saving to Apify storage.
  5. Run the Actor and export the dataset as JSON, CSV, Excel, XML, or through the Apify API.

For a quick first run, keep the default limit or lower it to 25 media rows and use a public blog or archive URL. For a targeted run, paste a direct Tumblr post URL.

🧾 Input

The main input is startUrls, an array of public Tumblr URLs. Supported targets are:

  • Public Tumblr post URLs
  • Public Tumblr blog URLs
  • Public Tumblr archive URLs

maxItems controls the maximum number of media rows saved across all targets. includeMediaVariants keeps available alternate media URLs with each row. saveMediaToKeyValueStore downloads each media file through the Actor and returns an Apify storage URL in addition to the source URL.

📄 Output example

{
"inputUrl": "https://staff.tumblr.com/archive",
"inputIndex": 0,
"targetType": "archive",
"discoveredFromUrl": "https://staff.tumblr.com/archive",
"blogName": "staff",
"blogTitle": "Tumblr Staff",
"postId": "818408523445731328",
"postUrl": "https://staff.tumblr.com/post/818408523445731328",
"postSummary": "Where's that comment?",
"captionText": "Where's that comment?\nHello Tumblr!",
"tags": ["tumblr update"],
"publishedAt": "2026-06-03 13:59:49 GMT",
"noteCount": 3436,
"mediaIndex": 1,
"mediaCountInPost": 4,
"mediaType": "image",
"extension": "jpg",
"width": 1280,
"height": 720,
"mediaUrl": "https://64.media.tumblr.com/example.jpg",
"directMediaUrl": "https://64.media.tumblr.com/example.jpg",
"mediaVariants": [
{
"url": "https://64.media.tumblr.com/example_1280.jpg",
"width": 1280,
"height": 720
}
],
"source": "tumblr",
"service": "tumblr.com",
"scrapedAt": "2026-06-13T19:05:37.103Z"
}

When media saving is enabled, rows also include a savedFile object with the Apify storage key, download URL, content type, and file size in bytes.

💸 Pricing

This Actor uses pay-per-event pricing. You are charged only for saved Tumblr media items. The current event price is $0.00265 per media item, which is $2.65 per 1,000 saved media items.

Runs that stop before finding media do not charge media item events.

⚖️ Limits and caveats

This Actor is built for public Tumblr content. It does not log in to Tumblr, bypass private blogs, or access content that requires an authenticated account. Tumblr can remove posts, change media availability, or omit some metadata, so optional fields may be missing on some rows.

Blog and archive URLs are discovery targets, not full historical backups. Use maxItems to control run size, and run the Actor on a schedule when you want recurring exports from the same public blogs.

❓ FAQ

🖼️ Can it download Tumblr images, videos, GIFs, and audio?

Yes. The Actor saves media rows for supported public Tumblr media it finds on the requested posts or discovered public posts. The mediaType field identifies the item type when it can be determined.

🔗 Should I use post URLs or blog URLs?

Use post URLs for exact posts. Use blog or archive URLs when you want the Actor to discover recent public posts and collect media until it reaches your maxItems limit.

By default, the Actor returns direct source media links. If you enable saveMediaToKeyValueStore, it also downloads each media file to Apify storage and returns a savedFile object.

🧩 Can I use the data with the Apify API?

Yes. The output is saved to the default dataset, so you can export it from the Apify Console or read it from the Apify API in automation, dashboards, and integrations.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré