Tumblr Username Availability Scraper
Pricing
from $0.24 / 1,000 username checkeds
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
Maintained by CommunityActor 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:
- trims and normalizes each name to lowercase;
- accepts
@name,name.tumblr.com, and public Tumblr blog URLs; - removes duplicate normalized names;
- checks Tumblr's lightweight blog-info surface;
- distinguishes a missing blog from a reserved Tumblr route;
- returns one typed dataset row per unique checked name;
- 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?
| Field | Meaning |
|---|---|
input | The original name or URL supplied by the user. |
username | Normalized lowercase Tumblr username. |
available | true only when both public checks indicate availability. |
status | available, occupied, or reserved. |
blogUrl | Canonical https://name.tumblr.com/ URL for an occupied blog; otherwise null. |
lookupUrl | Tumblr blog-info endpoint used for the primary check. |
apiHttpStatus | HTTP status from the blog-info lookup. |
pageHttpStatus | HTTP status from the public namespace route when needed. |
evidence | Human-readable explanation supporting the classification. |
checkedAt | ISO 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
- Open the Actor in Apify Console.
- Add one or more values under Tumblr usernames.
- Optionally lower Maximum results.
- Click Start.
- Open the Results tab.
- 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 usernames | Approximate 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:
- Store the current candidate names in an Apify Task.
- Schedule the Task daily or weekly.
- Export each dataset to Google Sheets, a database, or object storage.
- Compare
statusandcheckedAtwith the prior run. - 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 osfrom apify_client import ApifyClientclient = 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().itemsprint(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.
Related automation-lab Actors
- Tumblr Tagged Posts Scraper extracts public tagged-feed posts and embedded blog metadata.
- Username Checker searches for usernames across hundreds of platforms when you need broad cross-network discovery.
- Cross-platform Username Discovery returns richer public profile metadata from GitHub, GitLab, and Mastodon.
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.