Tumblr Username Availability Scraper avatar

Tumblr Username Availability Scraper

Pricing

from $0.24 / 1,000 username checkeds

Go to Apify Store
Tumblr Username Availability Scraper

Tumblr Username Availability Scraper

Check batches of Tumblr usernames and export available, occupied, or reserved status with blog URLs, HTTP evidence, and timestamps.

Pricing

from $0.24 / 1,000 username checkeds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Tumblr Username Availability Checker

Check Tumblr username availability in batches and export a structured answer for every candidate name.

This Actor classifies each normalized Tumblr username as available, occupied, or reserved. It includes the canonical blog URL when a public blog exists, the HTTP statuses supporting the decision, a concise evidence explanation, and the exact check timestamp.

Use it before a brand launch, while selecting campaign handles, or as a scheduled naming-inventory check. You do not need a Tumblr account, API key, cookies, or your own proxy.

What does this Tumblr username checker do?

The Actor accepts up to 100 names or Tumblr blog URLs in one run. It:

  1. trims and normalizes each name to lowercase;
  2. accepts @name, name.tumblr.com, and public Tumblr blog URLs;
  3. removes duplicate normalized names;
  4. checks Tumblr's lightweight blog-info surface;
  5. distinguishes a missing blog from a reserved Tumblr route;
  6. returns one typed dataset row per unique checked name;
  7. retries only transient upstream failures with strict limits.

Unlike a generic social-account finder, this Actor is intentionally focused on Tumblr. The output exposes response evidence instead of returning only an unexplained yes/no flag.

Who is it for?

  • Brand managers validating candidate names before a launch.
  • Social media teams comparing a shortlist across scheduled runs.
  • Campaign operators checking temporary event or promotion handles.
  • Agencies exporting naming research into client spreadsheets.
  • Developers adding Tumblr availability evidence to an internal workflow.
  • Researchers maintaining timestamped public namespace observations.

The Actor is a lookup tool, not an account-registration bot. It never logs in, reserves a name, or creates a Tumblr blog.

What data does it return?

FieldMeaning
inputThe original name or URL supplied by the user.
usernameNormalized lowercase Tumblr username.
availabletrue only when both public checks indicate availability.
statusavailable, occupied, or reserved.
blogUrlCanonical https://name.tumblr.com/ URL for an occupied blog; otherwise null.
lookupUrlTumblr blog-info endpoint used for the primary check.
apiHttpStatusHTTP status from the blog-info lookup.
pageHttpStatusHTTP status from the public namespace route when needed.
evidenceHuman-readable explanation supporting the classification.
checkedAtISO 8601 UTC check timestamp.

All records are written to the run's default Apify dataset. You can download them as JSON, CSV, Excel, XML, RSS, or JSONL through Apify's standard dataset exports.

How are available, occupied, and reserved different?

Available

No public blog exists, and Tumblr's public namespace route also returns not found. The Actor sets available: true and blogUrl: null.

Occupied

Tumblr resolves an existing public blog. The Actor sets available: false and returns its canonical Tumblr subdomain in blogUrl.

Reserved

No public blog is resolved, but the name belongs to a Tumblr application route such as login. The Actor sets available: false and leaves blogUrl null.

Tumblr can withhold names for private policy, trademark, moderation, or account-history reasons that are not exposed publicly. Therefore available means the public lookup surfaces were clear at check time; it is not a guarantee that Tumblr will allow account registration.

How to use the Actor

  1. Open the Actor in Apify Console.
  2. Add one or more values under Tumblr usernames.
  3. Optionally lower Maximum results.
  4. Click Start.
  5. Open the Results tab.
  6. Export the table or connect the dataset to your next automation step.

A useful first input is:

{
"usernames": [
"staff",
"tumblr",
"brand-campaign-2026",
"login"
],
"maxResults": 4
}

This mix exercises occupied blogs, a candidate name, and a reserved route.

Input parameters

usernames

Required array of 1–100 strings. Each value may be:

  • a plain name such as campaign-studio-2026;
  • an at-name such as @campaign-studio-2026;
  • a Tumblr subdomain such as staff.tumblr.com;
  • a full URL such as https://staff.tumblr.com/;
  • a main-site blog URL such as https://www.tumblr.com/staff.

Normalized names may contain lowercase letters, digits, and hyphens. They must contain 1–32 characters and cannot begin or end with a hyphen. Invalid input fails clearly before any checks are charged.

maxResults

Optional integer from 1 to 100. It limits the number of unique normalized names checked and returned. The default is 100.

Duplicate spellings such as Staff, @staff, and https://staff.tumblr.com/ count as one normalized username.

Output example

A current occupied-blog record has this shape:

{
"input": "https://staff.tumblr.com/",
"username": "staff",
"available": false,
"status": "occupied",
"blogUrl": "https://staff.tumblr.com/",
"lookupUrl": "https://api.tumblr.com/v2/blog/staff.tumblr.com/info",
"apiHttpStatus": 401,
"pageHttpStatus": null,
"evidence": "Tumblr blog-info endpoint resolved the blog and returned HTTP 401 for the anonymous metadata request.",
"checkedAt": "2026-01-15T12:00:00.000Z"
}

The timestamp above is illustrative. Every actual record receives its run-time UTC timestamp.

How much does it cost to check Tumblr usernames?

The Actor uses pay per event pricing:

  • Run started: $0.005 once per run.
  • Username checked: tiered per unique result, with $0.00046 on the FREE tier and $0.00040 on BRONZE.

At FREE-tier event prices, approximate totals are:

Unique usernamesApproximate total
1$0.00546
10$0.00960
25$0.01650
100$0.05100

Higher Apify tiers receive lower per-result prices. Duplicate normalized names do not create extra results or item charges. A malformed input fails before the start event; a valid run charges the start event, then charges only rows successfully saved to the dataset.

Apify platform usage is included under pay-per-event pricing where shown in Console. Always check the live pricing panel for the tier applying to your account.

Recurring brand-name monitoring workflow

For a repeatable shortlist process:

  1. Store the current candidate names in an Apify Task.
  2. Schedule the Task daily or weekly.
  3. Export each dataset to Google Sheets, a database, or object storage.
  4. Compare status and checkedAt with the prior run.
  5. Trigger an internal review when a candidate changes from occupied to available or vice versa.

The Actor does not maintain historical state itself. Keeping each run's dataset separate avoids stale rows and lets your integration choose its own retention period.

Spreadsheet and data-pipeline integrations

You can connect results to:

  • Google Sheets for a naming shortlist;
  • Make or Zapier for notifications and routing;
  • webhooks for post-run processing;
  • Python or JavaScript data pipelines;
  • the Apify API for CSV or JSON exports;
  • scheduled Apify Tasks for recurring checks.

Use username as the stable normalized comparison key. Use checkedAt to order observations. Keep status rather than inferring from blogUrl, because reserved names intentionally have no blog URL.

Run with the Apify API

Set APIFY_TOKEN in your shell. Never commit it to source control.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~tumblr-username-availability-checker/runs?token=$APIFY_TOKEN&waitForFinish=120" \
-H "Content-Type: application/json" \
-d '{"usernames":["staff","campaign-studio-2026"],"maxResults":2}'

Fetch dataset items using the defaultDatasetId returned by the run response.

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/tumblr-username-availability-checker').call({
usernames: ['staff', 'campaign-studio-2026'],
maxResults: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/tumblr-username-availability-checker').call(
run_input={
'usernames': ['staff', 'campaign-studio-2026'],
'maxResults': 2,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with MCP and AI agents

Add the Apify MCP server to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/tumblr-username-availability-checker"

For Claude Desktop, add this to the MCP server configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/tumblr-username-availability-checker"
}
}
}

In Cursor, open MCP settings and add the same apify server URL. In VS Code, add the same HTTP server under your MCP servers configuration, then enable it for the workspace.

Example prompts:

  • “Check these Tumblr names and return only those currently marked available.”
  • “Verify whether these known Tumblr blog URLs are still occupied.”
  • “Run my campaign shortlist and summarize available, occupied, and reserved counts.”

Review agent-generated inputs before running them, especially when a prompt contains large or untrusted lists.

Reliability, retries, and limits

The Actor uses a lightweight HTTP workflow rather than a browser. That keeps memory, runtime, and transfer low.

Transient timeouts, HTTP 429 responses, and temporary server errors are retried up to two times with exponential backoff. Stable validation errors, HTTP 404 classifications, and unexpected response shapes are not retried blindly.

Limits:

  • 100 supplied username strings per run;
  • 100 unique output rows per run;
  • five concurrent checks;
  • at most three attempts for a transient request;
  • no account login, cookies, or residential proxy fallback.

If Tumblr changes the response contract, the Actor fails rather than silently converting an unknown response into “available.”

Troubleshooting

Why did my run fail on one unexpected Tumblr response?

The Actor treats unknown statuses as evidence it cannot safely classify. Retry later if Tumblr had an incident. If the same name repeatedly fails while others work, inspect the log and public route manually before relying on a result.

Why is a name reserved instead of available?

Tumblr may use that path for its own application. The blog-info lookup finds no blog, but the main public namespace route still exists, so the Actor avoids claiming the name is available.

Why did several inputs produce only one row?

Inputs are normalized and deduplicated. Staff, @staff, and the full staff blog URL all represent the same username.

Can the Actor reserve a name for me?

No. It performs anonymous public checks only. Registration requires Tumblr's own signup flow and policies.

Responsible use and legality

The Actor accesses anonymous public Tumblr response surfaces and records availability evidence. It does not access private posts, accounts, credentials, or authenticated APIs.

You are responsible for:

  • complying with Tumblr's terms and applicable law;
  • respecting trademarks and naming rights;
  • avoiding abusive request patterns;
  • not using availability results to impersonate people or organizations;
  • independently confirming a name in Tumblr's signup flow before making business commitments.

Availability data can change immediately after a check. Treat every result as a timestamped observation, not ownership or legal clearance.

FAQ

Does this scrape Tumblr posts?

No. It checks username and public-blog existence only.

Does it need a Tumblr API key?

No. The classification uses anonymous response statuses and does not request protected metadata.

Are custom-domain Tumblr blogs supported?

Supply the underlying Tumblr username or a *.tumblr.com / www.tumblr.com/<name> URL. Arbitrary custom domains are not accepted because they cannot be normalized reliably to a Tumblr username.

Is “available” guaranteed to be registerable?

No. Tumblr may apply undisclosed policy or account-history restrictions during registration.

Can I schedule it?

Yes. Save the input as an Apify Task and add a schedule. Each run writes a new timestamped dataset.

Are duplicate names charged twice?

No. The Actor normalizes and deduplicates names before checking and charging result events.

Choose this Actor when the buyer job is specifically Tumblr naming availability and auditable status evidence.

Support

For reproducible issues, include the run URL, sanitized input, affected normalized username, observed status, and expected classification. Do not include API tokens or private account information.