Tumblr Post Likes Scraper avatar

Tumblr Post Likes Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Tumblr Post Likes Scraper

Tumblr Post Likes Scraper

Extract public likes on Tumblr posts with the liking blog, profile URL, avatar and timestamp.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Collect individual public Tumblr post likes with pagination. Tumblr Post Likes Scraper returns the public blog identity and time associated with each returned like, with one like per dataset row.

Analyze a selected post’s likes while retaining the source and the identity of each returned interaction.

At a glanceDetails
📥 InputPublic Tumblr post URLs or blog-name/post-id values.
📤 OutputOne like per success row, with source input retained
📄 PaginationpagesPerPost limits interaction-result pages for each source post. A short page can still have more results.
🔐 Login requiredNo
⚡ ProcessingUp to 5 HTTP requests concurrently with automatic retries
💾 DeliveryOne Apify dataset view, useful flat columns and complete nested JSON

What the Tumblr Post Likes scraper collects 📦

The Actor collects the public likes list for each supplied post. It keeps the actual interaction records and their source context in one dataset view.

Data can include:

  • Source post identity and original input
  • Liking blog name, UUID, profile URL and available avatar
  • Like timestamp and available blog title

How to collect post likes from Tumblr 🚀

  1. Enter one or more supported inputs in inputList.
  2. Set the result-page budget for each input.
  3. Start the Actor.
  4. Open the Likes dataset view and review the individual records.
  5. Export the dataset or retrieve it from your application.
{
"inputList": [
"https://www.tumblr.com/staff/822057428507049984"
],
"pagesPerPost": 1
}

pagesPerPost limits interaction-result pages for each source post. A short page can still have more results.

Tumblr post likes data and complete output 📦

FieldTypeMeaning
statusstringResult status: success or failed.
inputstringOriginal submitted input.
idstring or nullStable interaction key combining note type, author, timestamp and any reblog post ID; not an independent post ID.
post_idstring or nullSource post ID associated with this interaction or trail entry.
post_urlstring or nullPublic URL of the post whose interaction list is being collected.
post_blog_namestring or nullName of the blog containing the source post.
note_typestring or nullTumblr interaction type for this like, reblog or reply.
timestampnumber or nullSource Unix timestamp in seconds; fractional precision is retained when supplied.
created_atstring or nullCreation time in an ISO-formatted date string when supplied.
author_namestring or nullName of the blog responsible for this interaction.
author_uuidstring or nullUUID of the blog responsible for this interaction.
author_urlstring or nullPublic profile URL of the interacting blog.
author_titlestring or nullAvailable title of the interacting blog.
author_avatar_urlstring or nullAvailable avatar URL of the interacting blog.
author_is_adultboolean or nullSource adult-content flag for the interacting blog, when supplied.

The source post and interacting blog are separate fields. The result ID identifies an interaction record; reblog post IDs, where present, identify published reblogs. Several records can share an author without being duplicates.

Every top-level output field appears in these complete examples. The success example is normalized from a public response; its values are a snapshot and can change. Nested arrays remain inside their parent result.

Complete representative success result:

{
"status": "success",
"input": "https://www.tumblr.com/staff/822057428507049984",
"id": "like:t:ksOXLM2YqRQ2UxHsjAKsWg:1789171414:",
"post_id": "822057428507049984",
"post_url": "https://www.tumblr.com/staff/822057428507049984",
"post_blog_name": "staff",
"note_type": "like",
"timestamp": 1789171414,
"created_at": "2026-09-12T00:03:34Z",
"author_name": "beatrizqueenangel",
"author_uuid": "t:ksOXLM2YqRQ2UxHsjAKsWg",
"author_url": "https://beatrizqueenangel.tumblr.com/",
"author_title": "Beatrizqueenangel",
"author_avatar_url": "https://64.media.tumblr.com/b8d06614a4884004db8de07cadd37c47/58a3be63232b0346-ab/s128x128u_c1/c59263f7f5ca8c361d6ebade9a531776107564df.jpg",
"author_is_adult": false
}

Complete failed result:

{
"status": "failed",
"input": "invalid input",
"id": null,
"post_id": null,
"post_url": null,
"post_blog_name": null,
"note_type": null,
"timestamp": null,
"created_at": null,
"author_name": null,
"author_uuid": null,
"author_url": null,
"author_title": null,
"author_avatar_url": null,
"author_is_adult": null
}

A failed row preserves input, sets status to failed, and sets every other top-level field to null. The run log records the reason. Optional successful fields can be null or empty when Tumblr does not supply them. Object fields are exposed through useful columns in the single Likes view; arrays are not expanded into extra result rows.

Input requirements and pagination settings ⚙️

ParameterTypeRequiredDefaultRules
inputListarray of stringsYesNonePublic Tumblr post URLs or blog-name/post-id values. At least 1 item.
pagesPerPostintegerNo1Maximum result pages per input. Setup requests do not count as pages. Stops when the source has no next page or repeats a continuation. Actual rows per page can vary. Minimum 1.

Enter supported full Tumblr post URLs. This Actor collects likes for those selected posts; it does not discover posts or scan whole blogs.

Supported examples include https://www.tumblr.com/staff/822057428507049984, https://staff.tumblr.com/post/822057428507049984 and the compact staff/822057428507049984 form. Public /blog/view/BLOG/POST_ID links are also accepted. A bare numeric post ID has no source blog and is not sufficient.

Duplicate normalized inputs are processed once. Within the collection for one source input, repeated records are removed while distinct interactions or objects remain separate. The same object returned for different source inputs retains its source relationship.

The first result page counts as page 1. Public-page preparation and metadata lookups do not consume result pages. Collection stops at your page budget or the end of the available list. A short page alone does not mean that the list has ended.

Tumblr post likes use cases 🎯

Tumblr Staff Post Like Audience Data

Collect public like records for a selected Tumblr Staff post with blog names, profile links and timestamps. Export the sample to review which public blogs interacted with the announcement.

Tumblr Liker Profile Enrichment List

Collect blog identities from public likes on a selected Tumblr post. Keep UUIDs, names and profile URLs to prepare a manually selected input list for later blog-profile enrichment.

Tumblr Post Like Timestamp Export

Collect several pages of public likes on a selected Tumblr Staff post with timestamps and source-blog identities. Export the records to inspect the returned interaction timeline in your own analysis.

Pricing and saved-result behavior 💰

Check the Actor’s Pricing tab for the active pricing model and current rate. Store settings can change, so this README does not claim a fixed price or runtime.

Under dataset-item pricing:

  • Each successful result represents one like for its source input.
  • An invalid or unavailable input, an input with no accessible results, or an exhausted request can produce a failed row.
  • Retry attempts and supporting requests do not create extra dataset rows by themselves.
  • Nested media, profile information and other arrays remain part of their parent row.
  • A normal empty continuation after earlier successes creates no additional row.
  • Saved failed rows are not assumed to be free; check their treatment in the active pricing configuration.

More inputs and larger page budgets can produce more saved rows. Start with a small run and check actual usage before increasing the workload.

Tumblr post likes API 🔌

Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["https://www.tumblr.com/staff/822057428507049984"],"pagesPerPost":1}'

Download the dataset in JSON, CSV, Excel or other formats available in the Console, or retrieve it through the Apify API. Use schedules, webhooks and Apify integrations to connect results to Google Sheets, Make, Zapier, cloud storage or your own application. These connections are configured separately by the user.

Reliability, retries, and public-data limits ⚠️

Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or unavailable targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors allow up to five total attempts per request.

Successful earlier pages remain saved if a later request fails. A normal end after saved results is not retried. An input with no accessible results can receive a failed row; that alone does not prove that its underlying source does not exist. An exhausted later request can add a failed row while preserving previous output.

A like is an interaction record, not a full blog profile or a follower relationship. Public counters do not guarantee that every historical like is retrievable. The public list can be incomplete compared with the visible total count, and availability may change during collection.

Tumblr controls public availability, ranking and optional fields. Result counts can be affected by duplicates, removed content and changes during a run. A page budget is a collection limit, not a promise of exhaustive coverage.

An invalid string within a valid input list does not stop other inputs. Invalid overall configuration, such as a non-string list item or a wrong page-count type, exits before source requests. Startup failures, unavailable dataset storage or an unrecoverable result-save error can still stop the whole run. A failed save is not retried as a new scraping request.

Frequently asked questions ❓

Does it return only a like count?

No. It returns individual public like records with the available blog identity and time. It does not collect follower lists.

Does the page budget guarantee a specific number of rows?

No. The number of available interactions varies. Collection ends when the page budget is reached or the public list ends.

Does it require a Tumblr account or personal cookies?

No. You do not need to provide a Tumblr account, password or personal session cookie. Collection uses HTTP without opening a browser.

What happens to invalid or unavailable inputs?

Invalid individual inputs are recorded as failed without a source request. Confirmed missing or unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts per request; other inputs and earlier saved results remain available.

Can I export results or run the same input again?

Yes. Export the default dataset or retrieve it through the Apify API. You can create an Apify schedule and connect completed runs to your own workflow.

For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, a safe public input, expected behavior and actual result. Include the mode or page budget when relevant. Never share access tokens, personal cookies or proxy credentials.

Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.