Social Media Username Checker — Availability Scanner
Pricing
from $0.025 / actor start
Social Media Username Checker — Availability Scanner
Check if a username is available or taken across 50+ social media and professional platforms. Supports batch checking, platform filtering, and concurrent scanning.
Pricing
from $0.025 / actor start
Rating
0.0
(0)
Developer
Perry AY
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 hours ago
Last modified
Categories
Share
Social Media Username Checker — Availability Scanner
Check if a username is available or already taken across 50+ social media, professional, and creative platforms in a single run. Whether you're securing brand identity, choosing a consistent online handle, or investigating username squatting, this actor scans the web for you in seconds.
What does it do?
This actor takes one or more usernames and checks their availability across a comprehensive list of 50+ platforms — from social media giants like Instagram and TikTok to professional networks like LinkedIn, developer platforms like GitHub and Stack Overflow, and creative hubs like Behance and Dribbble.
Each platform is checked using HTTP requests that simulate a real browser visit. The actor intelligently handles different response patterns: some platforms return a 404 for available usernames, others redirect to a different page, and a few require response body analysis. The actor handles all these cases automatically and returns a clear available/taken/error status per platform.
Batch mode lets you check dozens of usernames in one run, and platform filtering lets you target specific platforms when you only care about certain services.
Features
- 50+ platforms — Covers Twitter/X, Instagram, GitHub, TikTok, YouTube, Reddit, LinkedIn, Pinterest, Tumblr, Snapchat, Telegram, Discord, Behance, Dribbble, Medium, Dev.to, Hashnode, Stack Overflow, Keybase, AngelList/Wellfound, Product Hunt, Mastodon, Twitch, Steam, Flickr, SoundCloud, Vimeo, Patreon, GitLab, Bitbucket, Codepen, Replit, Gravatar, About.me, VK, Fiverr, Upwork, Squarespace, Carrd, Linktree, Buy Me a Coffee, Ko-fi, Substack, Notion, Wix, WordPress, Threads, Bluesky, and more.
- Intelligent detection — Uses status codes, redirect analysis, and response body patterns per platform for accurate results.
- Batch checking — Check multiple usernames in a single run with concurrent scanning.
- Platform filtering — Choose specific platforms to check instead of the full list.
- Configurable concurrency — Control how many platforms are checked simultaneously (5-30).
- Error resilience — Individual platform failures don't affect other checks. Rate-limited platforms are reported without blocking the rest.
Why use this?
| Problem | Solution |
|---|---|
| You're launching a brand and need consistent handles everywhere | Check 50+ platforms at once to see which usernames are available |
| You're researching username squatting | Scan a target username across all major platforms in seconds |
| You're choosing a new personal handle | Test variations to find one that's available on the platforms you care about |
| You maintain multiple social accounts | Verify your existing usernames are still live across all platforms |
| You're a content creator starting out | Find available handles across platforms before committing to a name |
Who is it for?
| Persona | What they use it for |
|---|---|
| Brand Manager | Checking brand name availability across social media before launch |
| Content Creator | Finding a consistent, available handle across YouTube, Instagram, TikTok, and Twitter |
| Security Researcher | Investigating username squatting or impersonation |
| Startup Founder | Securing the company name across all platforms before public announcement |
| Social Media Manager | Auditing existing account portfolios for dead or hijacked handles |
| Indie Developer | Checking username availability on GitHub, Dev.to, and coding platforms |
Input Parameters
| Field | Type | Default | Description |
|---|---|---|---|
username | string | — | Single username to check across all platforms |
usernames | array | — | Multiple usernames to check in batch mode (e.g., ["user1", "user2"]) |
platforms | array | [] (all) | Specific platforms to check. Leave empty to check all 50+. |
maxConcurrency | integer | 15 | Maximum simultaneous platform checks. Range: 5-30. |
Example Input JSON
{"username": "perryay"}
Example Batch Input
{"usernames": ["perryay", "starnight", "tech_startup", "brandname"],"maxConcurrency": 20}
Example Filtered Input
{"username": "mybrand","platforms": ["Twitter/X", "Instagram", "GitHub", "TikTok", "YouTube"],"maxConcurrency": 10}
Output Format
| Field | Type | Description |
|---|---|---|
username | string | The username that was checked |
total_platforms | integer | Number of platforms checked |
available | integer | Count of platforms where the username is available |
taken | integer | Count of platforms where the username is taken |
results | array | Per-platform details (see below) |
Each result entry in results:
| Field | Type | Description |
|---|---|---|
platform | string | Platform name |
url | string | Profile URL checked |
status | string | One of: taken, available, rate_limited, error, unknown |
available | boolean or null | Whether the username is available on this platform |
error | string or null | Error message if the check failed |
Example Output JSON
{"username": "perryay","total_platforms": 50,"available": 32,"taken": 17,"results": [{"platform": "GitHub","url": "https://github.com/perryay","status": "taken","available": false,"error": null},{"platform": "Twitter/X","url": "https://twitter.com/perryay","status": "available","available": true,"error": null}]}
API Usage
cURL
curl -X POST "https://api.apify.com/v2/acts/perryay~social-media-username-checker/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"username": "mybrand"}'
Python (ApifyClient)
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("perryay~social-media-username-checker").call(run_input={"username": "mybrand"})dataset = client.dataset(run["defaultDatasetId"]).list_items()for item in dataset.items:print(f'Username: {item[\"username\"]} — {item[\"available\"]} available / {item[\"taken\"]} taken')
Use Cases
-
Brand launch preparation — Before announcing a new brand name, check all major platforms to see if the handle is available. If it's taken, try variations before committing.
-
Username squatting detection — A common username is taken on half your target platforms. Find out where it's registered and assess whether you need to contact the platform or choose an alternative.
-
Multi-platform identity audit — You've been online for years and have accounts scattered across the web. Use this actor to verify which accounts are still active and which have been hijacked or deleted.
-
Content creator setup — Starting a YouTube channel? Check availability on YouTube, Instagram, TikTok, Twitter, and Discord in one shot to secure a consistent identity.
-
Competitive username research — See what usernames your competitors have registered and where. Identify platforms they're neglecting where you could establish a presence.
-
Domain + handle bundle — Combine with Domain Intel to check both domain availability and social handle availability for a unified brand launch plan.
-
Community management — A moderator with a well-known handle on Reddit wants to secure the same name on Discord, Telegram, and Mastodon. Run a batch check to plan the rollout.
-
Platform migration — Moving from Twitter to Bluesky? Check your handle on both platforms and try alternatives before announcing the move.
-
Freelancer portfolio audit — Check your professional handle on LinkedIn, GitHub, Behance, Dribbble, Upwork, and Fiverr to ensure consistent freelancer branding.
-
Privacy audit — Find all platforms where a specific username is registered. Useful for personal privacy assessments or OSINT investigations.
FAQ
Q: How many platforms are supported? A: The actor checks 50+ platforms including Twitter/X, Instagram, GitHub, TikTok, YouTube, Reddit, LinkedIn, Pinterest, Tumblr, Snapchat, Telegram, Discord, Behance, Dribbble, Medium, Dev.to, Hashnode, Stack Overflow, Keybase, AngelList/Wellfound, Product Hunt, Mastodon, Twitch, Steam, Flickr, SoundCloud, Vimeo, Patreon, GitLab, Bitbucket, Codepen, Replit, Gravatar, About.me, VK, Fiverr, Upwork, Squarespace, Carrd, Linktree, Buy Me a Coffee, Ko-fi, Substack, Notion, Wix, WordPress, Threads, Bluesky, and more.
Q: How does the actor determine if a username is available? A: It varies by platform. The actor uses HTTP status codes (200 = taken, 404 = available), redirect analysis (some platforms redirect available usernames to a search page), and response body pattern matching. Each platform has a tailored detection method.
Q: Can I check a username on just a few platforms?
A: Yes. Use the platforms input field to specify which platforms to check. The platform names are case-insensitive and must match the names listed in the FAQ above.
Q: Is batch mode supported?
A: Yes. Pass an array of usernames in the usernames field. Each username is processed sequentially, and results are pushed to the dataset individually.
Q: How fast is it? A: With default concurrency (15 simultaneous checks), a full 50-platform scan takes approximately 15-30 seconds per username. With max concurrency (30), it can complete in 10-20 seconds. Results are streamed to the dataset as each username completes.
Q: What happens if a platform is rate-limited?
A: The check returns status: "rate_limited" and proceeds to the next platform. The run continues and all other platform results are unaffected. You can retry with a lower concurrency setting (e.g., 5-10) to reduce rate limiting.
Q: Does the actor handle platform-specific error pages? A: Yes. Some platforms return a 200 status code even when a user doesn't exist (they serve a custom error page). The actor handles these cases with platform-specific detection logic that checks for text patterns like "This page doesn't exist" or "User not found" in the response body.
Q: What's the maximum number of usernames I can check in one run? A: There is no hard limit, but runs are subject to the actor's timeout setting (default 300 seconds). A batch of 10 usernames scanning all 50 platforms typically completes within 3-5 minutes.
Q: Can I use this actor in an automated workflow? A: Yes. It has a fully documented API with cURL and Python examples. You can integrate it into CI/CD pipelines, monitoring dashboards, or automated brand protection workflows.
Q: Does the actor require any API keys or special permissions? A: No. The actor uses HTTP requests to check public profile pages on each platform. No API keys or authentication are required. However, the actor itself must be run through the Apify platform, which requires an Apify account.
Q: Why would some checks return "error" or "unknown"? A: Network timeouts, connection failures, or unexpected HTTP response codes from a platform. These are isolated to the specific platform and do not affect other checks. Common causes include temporary platform downtime or CAPTCHA challenges.
Usage & Billing
This actor uses Apify's PAY_PER_EVENT pricing model. You are charged per event:
| Event Name | Price (USD) | Trigger |
|---|---|---|
apify-actor-start | $0.025 | Charged on every actor start |
username-check | $0.015 | Charged per username checked |
batch-scan | $0.010 | Charged once per batch run (multiple usernames) |
platform-filter | $0.005 | Charged when custom platform filtering is used |
Platform infrastructure costs (Apify's compute and storage) are passed through at cost.
MCP Integration
This actor can be used through the Apify MCP server. Once connected, your MCP client (Claude Desktop, Cursor, etc.) can discover and run this actor from the Apify Store.
Quick Start
-
Install the Apify connector in your MCP client:
- Claude Desktop: Search for "Apify" in the connector directory,
or use the remote server at
https://mcp.apify.com - Other clients: See the Apify MCP server docs for setup instructions
- Claude Desktop: Search for "Apify" in the connector directory,
or use the remote server at
-
Ask your AI assistant to use the actor.
Claude Desktop Configuration
Add the following to your claude_desktop_config.json:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
On first connection, your browser opens to sign in to Apify and authorize access.
Bearer Token Alternative
For MCP clients that do not support browser-based OAuth (e.g., Cursor, VS Code, Windsurf), use a Bearer token directly:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com","headers": {"Authorization": "Bearer <APIFY_TOKEN>"}}}}
Replace <APIFY_TOKEN> with your actual Apify API token from Apify Console.
Related Tools
- UUID Lab — Generate and decode UUID v4, v7, and nanoid identifiers for consistent cross-platform user and session tracking.
- Link Quality Analyzer — Deep analysis of links including HTTP status, redirect chains, and security posture.
- Domain Intel — WHOIS lookups, DNS enumeration, and SSL certificate validation for brand protection and domain research.