Tumblr API docs

Tumblr API: Blog — Post metrics by blog identifier

Retrieve aggregate Blog metrics from Tumblr without calculating them from a full object collection.

Use “Post metrics by blog identifier” for dashboards, scoring, and recurring reports that need a compact metric snapshot.

Method GET
Entity Blog
Versions 1
What this endpoint does

What you can build with this API method

Review the result and common workflows first, then move to parameters and a working request example.

What this endpoint helps with

The response provides a ready-to-use Blog summary with key counters and metrics in the selected API format.

When to use it

Use “Post metrics by blog identifier” for dashboards, scoring, and recurring reports that need a compact metric snapshot.

Common use cases

Product dashboards

Show core Tumblr metrics without loading and processing an entire collection.

Trend monitoring

Store periodic snapshots and compare metric changes over time.

Object scoring

Use aggregate metrics as inputs for internal rankings and rules.

Available versions

Response version

Both versions solve the same job and accept the same parameters. Use the switch to compare the response structure and choose the version your client expects.

Response version V2

Switch versions on this page to compare response structures while keeping the same documentation URL.

V1 Not available

What stays the same

Authentication, required parameters, and the request shape stay the same across V1 and V2. In practice, you choose the version when you build the endpoint path and when you parse the response.

What changes between versions

The main difference is the response envelope. Use V2 for new integrations and keep V1 only when you need compatibility with an existing client contract.

How to use it

How to call the method

Use the same API key header and the same query parameters for both versions. This documentation shows the shared parameter set first, then version-specific endpoint paths and code snippets.

Input parameters

Shared parameters
Parameter Required Type Example Description
blog_identifier Yes str value Tumblr blog username or host without protocol or path. Pass `staff` or `staff.tumblr.com`, not a full URL. Example: staff.
post_type No all | regular | photo | quote | link | conversation | audio | video | answer all Optional Tumblr post type filter. Use `all` for the default mixed timeline. Examples: all, photo.
tag No str | None value Optional Tumblr tag filter. Spaces are allowed, slashes and URL fragments are not. Example: tumblr staff.

Version-specific request path

V2

Choose a version when you copy the exact endpoint path, example URL, and code snippet. The parameter list above stays the same.

GET /api/v2/tumblr.com/blog/post-metrics-by-blog-identifier

Normalized format

Code examples

curl --request GET \
  --url "https://www.scrapestorm.net/api/v2/tumblr.com/blog/post-metrics-by-blog-identifier" \
  --header "X-API-Key: 00000000-0000-4000-8000-000000000000" \
  --get --data-urlencode 'blog_identifier=value' \
  # Optional parameters:
  # --data-urlencode 'post_type=all'
  # --data-urlencode 'tag=value'
Response example

Live response by version

The preview keeps key fields and the first collection items so you can scan the response shape quickly. Switching versions changes the JSON format.

Response example

V2 response JSON

Verified example

This compact JSON example comes from the latest successful verification run for V2.

{
  "success": true,
  "status": "ok",
  "search_context": {
    "blog_identifier": "staff",
    "post_type": "all",
    "tag": "tumblr staff"
  },
  "data": {
    "blog": {
      "url": "https://staff.tumblr.com",
      "blog_identifier": "staff.tumblr.com",
      "uuid": null,
      "username": "staff",
      "display_name": "Tumblr Staff",
      "description": null,
      "emails": [],
      "external_links": [],
      "rss_url": "https://staff.tumblr.com/rss",
      "timezone": null,
      "is_custom_domain": false,
      "avatar_url": null,
      "avatar_urls": null
    },
    "analytics": {
      "all_posts": {
        "analyzed_posts_count": 20,
        "last_post_date": "2026-07-13T20:37:36+00:00",
        "total_engagement": 0,
        "avg_engagement_rate_per_post": 0.0,
        "peak_engagement_rate_per_post": 0.0,
        "avg_weighted_engagement_score": 0.0,
        "total_engagement_rate": 0.0,
        "median_engagement_per_post": 0.0,
        "max_engagement_per_post": 0,
        "avg_caption_length": 33,
        "avg_posts_per_week": 1,
        "avg_posts_per_month": 4,
        "posts_count_last_7_days": 1,
        "posts_count_last_30_days": 1,
        "total_notes": 0,
        "avg_notes_per_post": 0,
        "total_note_rate": 0.0,
        "content_format_breakdown": [
          {
            "format": "regular",
            "count": 20,
            "percentage": 100.0
          }
        ],
        "posting_time_analysis": {
          "by_day_of_week": [
            {
              "day": "Tuesday",
              "count": 6
            },
            {
              "day": "Wednesday",
              "count": 4
            },
            {
              "_more_items": 4
            }
          ],
          "by_hour_of_day": [
            {
              "hour": 16,
              "count": 6
            },
            {
              "hour": 20,
              "count": 4
            },
            {
              "_more_items": 7
            }
          ]
        },
        "top_hashtags": [
          {
            "hashtag": "1",
            "count": 2
          },
          {
            "hashtag": "20",
            "count": 2
          },
          {
            "_more_items": 6
          }
        ],
        "top_posts_by_engagement": [
          {
            "item_id": "822057428507049984",
            "post_id": "822057428507049984",
            "url": "https://staff.tumblr.com/post/822057428507049984",
            "title": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
            "text": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
            "created_at": "2026-07-13T20:37:36+00:00",
            "content_format": "regular",
            "engagement": 0,
            "is_sponsored": false,
            "sponsored_detection_source": null,
            "sponsored_detection_confidence": null
          },
          {
            "item_id": "818408523445731328",
            "post_id": "818408523445731328",
            "url": "https://staff.tumblr.com/post/818408523445731328",
            "title": "Where’s that comment?",
            "text": "Where’s that comment?",
            "created_at": "2026-06-03T13:59:49+00:00",
            "content_format": "regular",
            "engagement": 0,
            "is_sponsored": false,
            "sponsored_detection_source": null,
            "sponsored_detection_confidence": null
          },
          {
            "_more_items": 3
          }
        ],
        "engagement_by_format": [
          {
            "format": "regular",
            "count": 20,
            "total_engagement": 0,
            "avg_engagement_per_post": 0.0,
            "avg_engagement_rate_per_post": 0.0
          }
        ]
      },
      "sponsored_posts": {
        "analyzed_posts_count": 0,
        "total_engagement": 0,
        "avg_engagement_rate_per_post": 0.0,
        "peak_engagement_rate_per_post": 0.0,
        "avg_weighted_engagement_score": 0.0,
        "total_engagement_rate": 0.0,
        "median_engagement_per_post": 0.0,
        "max_engagement_per_post": 0,
        "avg_caption_length": 0,
        "avg_posts_per_week": 0,
        "avg_posts_per_month": 0,
        "posts_count_last_7_days": 0,
        "posts_count_last_30_days": 0
      },
      "organic_posts": {
        "analyzed_posts_count": 20,
        "last_post_date": "2026-07-13T20:37:36+00:00",
        "total_engagement": 0,
        "avg_engagement_rate_per_post": 0.0,
        "peak_engagement_rate_per_post": 0.0,
        "avg_weighted_engagement_score": 0.0,
        "total_engagement_rate": 0.0,
        "median_engagement_per_post": 0.0,
        "max_engagement_per_post": 0,
        "avg_caption_length": 33,
        "avg_posts_per_week": 1,
        "avg_posts_per_month": 4,
        "posts_count_last_7_days": 1,
        "posts_count_last_30_days": 1,
        "total_notes": 0,
        "avg_notes_per_post": 0,
        "total_note_rate": 0.0,
        "content_format_breakdown": [
          {
            "format": "regular",
            "count": 20,
            "percentage": 100.0
          }
        ],
        "posting_time_analysis": {
          "by_day_of_week": [
            {
              "day": "Tuesday",
              "count": 6
            },
            {
              "day": "Wednesday",
              "count": 4
            },
            {
              "_more_items": 4
            }
          ],
          "by_hour_of_day": [
            {
              "hour": 16,
              "count": 6
            },
            {
              "hour": 20,
              "count": 4
            },
            {
              "_more_items": 7
            }
          ]
        },
        "top_hashtags": [
          {
            "hashtag": "1",
            "count": 2
          },
          {
            "hashtag": "20",
            "count": 2
          },
          {
            "_more_items": 6
          }
        ],
        "top_posts_by_engagement": [
          {
            "item_id": "822057428507049984",
            "post_id": "822057428507049984",
            "url": "https://staff.tumblr.com/post/822057428507049984",
            "title": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
            "text": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
            "created_at": "2026-07-13T20:37:36+00:00",
            "content_format": "regular",
            "engagement": 0,
            "is_sponsored": false,
            "sponsored_detection_source": null,
            "sponsored_detection_confidence": null
          },
          {
            "item_id": "818408523445731328",
            "post_id": "818408523445731328",
            "url": "https://staff.tumblr.com/post/818408523445731328",
            "title": "Where’s that comment?",
            "text": "Where’s that comment?",
            "created_at": "2026-06-03T13:59:49+00:00",
            "content_format": "regular",
            "engagement": 0,
            "is_sponsored": false,
            "sponsored_detection_source": null,
            "sponsored_detection_confidence": null
          },
          {
            "_more_items": 3
          }
        ],
        "engagement_by_format": [
          {
            "format": "regular",
            "count": 20,
            "total_engagement": 0,
            "avg_engagement_per_post": 0.0,
            "avg_engagement_rate_per_post": 0.0
          }
        ]
      },
      "segment_comparison": {
        "sponsored_content_share": 0.0,
        "organic_content_share": 100.0,
        "organic_vs_sponsored_engagement_rate_gap": 0.0,
        "sponsored_to_organic_avg_engagement_ratio": 0.0
      }
    },
    "feed": {
      "count": 20,
      "items": [
        {
          "url": "https://staff.tumblr.com/post/822057428507049984",
          "post_id": "822057428507049984",
          "title": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
          "summary": "In case you’re looking for a blog that’s gone missing on Tumblr and didn’t see this recent update.",
          "body_html": "<p><a class=\"tumblr_blog\" href=\"https://changes.tumblr.com/post/818409292753436672/deleted-accounts-can-now-be-recovered-up-to-30\">changes</a>:</p><blockquote><h1>Deleted accoun…",
          "blog_username": "staff",
          "blog_display_name": "Tumblr Staff",
          "blog_url": "https://staff.tumblr.com",
          "published_at": "2026-07-13T20:37:36Z",
          "type": "regular",
          "tags": [
            "tumblr"
          ],
          "is_sponsored": false,
          "sponsored_detection_source": null,
          "sponsored_detection_confidence": null
        },
        {
          "url": "https://staff.tumblr.com/post/818408523445731328",
          "post_id": "818408523445731328",
          "title": "Where’s that comment?",
          "summary": "Where’s that comment?",
          "body_html": "<p><a class=\"tumblr_blog\" href=\"https://engineering.tumblr.com/post/818227557915901952/launch-day\">engineering</a>:</p><blockquote><p><a class=\"tumblr_blog\" href=\"https://engine…",
          "blog_username": "staff",
          "blog_display_name": "Tumblr Staff",
          "blog_url": "https://staff.tumblr.com",
          "published_at": "2026-06-03T13:59:49Z",
          "type": "regular",
          "tags": [
            "radical speed month",
            "rsm",
            {
              "_more_items": 3
            }
          ],
          "media": [
            {
              "url": "https://64.media.tumblr.com/b70baed40b8a42f2647f1e9727980326/bc08fda5fd4aaa10-94/s640x960/90039a62dfb3c54bf3efc7f22b072a9211196fb0.png",
              "width": 1030,
              "height": 1506,
              "media_type": "image"
            },
            {
              "url": "https://64.media.tumblr.com/1b0af89e8b0e820c96223492c467801e/bc08fda5fd4aaa10-f1/s640x960/d5303ad0839d889c1474bf2b498151e4f678ca1d.png",
              "width": 602,
              "height": 1047,
              "media_type": "image"
            },
            {
              "_more_items": 2
            }
          ],
          "is_sponsored": false,
          "sponsored_detection_source": null,
          "sponsored_detection_confidence": null
        },
        {
          "_more_items": 18
        }
      ]
    }
  }
}
What to do next

Continue the evaluation

Use this documentation as the first decision point, then move into pricing, platform coverage, and integration rules before you connect the endpoint for recurring use.

Open the Tumblr platform page

Compare adjacent entities, API method groups, and related docs before implementation.

Open platform page

Compare API method pricing

Check where this API method sits inside the public price table before you scale usage.

View pricing

Review integration rules

Use the starter docs to confirm authentication, versioning, retries, and mock vs live behavior.

Open docs
FAQ

Questions teams ask before implementation

Use these answers to decide whether this API method fits your workflow, versioning choice, and rollout plan.

What data does this Tumblr API method return?

The method performs “Post metrics by blog identifier” for Blog. The compact response example below shows the exact field structure.

Should I choose V1 or V2?

Choose V2 for new integrations because it provides a normalized structure. Use V1 only for compatibility with clients that already consume the platform-native format.

What do I need for the first request?

Create an API key, send it in the request header, and provide the required parameters from the table. The code samples already contain the correct path and request structure.