ParseForge Scrapers

Username Availability Checker - 215 Sites, Handle Presence

parseforge/username-availability-checker-scraper

Social mediaAutomation

Check which of 215 mainstream platforms have a public profile under a handle. Get site, category, profile URL, Yes/No/Unknown and HTTP evidence. Export to CSV, Excel, JSON or XML.

Run this scraper See the API call
Total runs
4
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Username Availability Checker - 215 Sites, Handle Presence return?

ParseForge Banner

๐Ÿ”Ž Username Availability Checker Scraper

๐Ÿš€ Export handle checks across 215 platforms in seconds. One row per handle and site: does a public profile exist (Yes, No or Unknown), the profile URL, and the HTTP evidence behind the answer.

Username Availability Checker takes one or more handles, such as your brand name or a product name you plan to launch, and checks 215 mainstream platforms for a public profile under that exact handle. Developer sites, video and streaming, music, design, blogging, gaming, creator funding, forums and Mastodon servers are all covered. It reads only whether the public profile page exists. It never opens, stores or returns anything written on the profile.

Every row carries 11 fields: the handle, the site, its category, the profile URL, the site URL, exists, the evidence type (HTTP status, page marker, redirect), a short evidence line, the HTTP status, the check time and an error column. The site list comes from the open-source Maigret project (MIT License) and was re-tested by ParseForge: on the final list, 640 checks of random handles returned 0 false Yes, and an independent audit of 381 brand checks found 0 false Yes (100% precision) and 98.6% recall.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Brand and trademark teams, marketing agencies, product launch teams, security and fraud analysts, community managers Handle availability before a launch, brand impersonation monitoring, consistent social handles, security investigations of your own accounts

๐Ÿ“‹ What the Username Availability Checker does

  • ๐Ÿท Handle availability. Before you name a product, see on which of 215 platforms the handle is still free (exists: No) and where it is already taken.
  • ๐Ÿ›ก Brand protection. Run your brand handle on a schedule and spot new accounts that could be impersonating you.
  • ๐Ÿงญ Presence map. Switch on Only return sites where the profile exists to get a clean list of every platform where your handle is live.
  • ๐Ÿ—‚ Categories. Limit the check to Developer, Gaming, Video, Music, Creative, Writing, Professional, Education, Finance, Shopping, Community, Social or Other sites.
  • ๐Ÿงช Evidence on every row. Each answer says how it was reached, for example HTTP 404 or Not-found marker on page (HTTP 200).
  • ๐Ÿคท Honest Unknowns. When a site blocks, rate limits or times out, the row says Unknown instead of guessing, and Unknown rows are never charged.

๐Ÿ’ก Why it matters: a handle that is taken on one platform and free on the others splits your audience, and an impersonator on a platform you do not use can still damage your name. One run shows the whole picture.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

๐Ÿ“Š Output

Field Description
๐Ÿ‘ค username Handle that was checked
๐ŸŒ siteName Platform name
๐Ÿท category Social, Developer, Gaming, Video, Music, Creative, Writing, Professional, Education, Finance, Shopping, Community or Other
๐Ÿ”— profileUrl Public profile URL for the handle
๐Ÿ  siteUrl Platform home page
โœ… exists Yes, No or Unknown
๐Ÿงช evidenceType HTTP status, Page marker, Redirect, No redirect, Blocked or rate limited, Network error, Skipped (robots.txt)
๐Ÿ“ evidence Short evidence line
๐Ÿ“ถ httpStatus HTTP status of the check (0 = no response)
๐Ÿ•’ scrapedAt Time of the check
โŒ error Reason a handle was rejected, null on normal rows

Real rows from a run with the prefill handles:

[
  {
    "username": "github",
    "siteName": "GitHub",
    "category": "Developer",
    "profileUrl": "https://github.com/github",
    "siteUrl": "https://www.github.com/",
    "exists": "Yes",
    "evidenceType": "HTTP status",
    "evidence": "HTTP 200",
    "httpStatus": 200,
    "scrapedAt": "2026-09-25T02:17:41.428Z",
    "error": null
  },
  {
    "username": "nasa",
    "siteName": "YouTube",
    "category": "Video",
    "profileUrl": "https://www.youtube.com/@nasa/about",
    "siteUrl": "https://www.youtube.com/",
    "exists": "Yes",
    "evidenceType": "Page marker",
    "evidence": "Profile marker on page (HTTP 200)",
    "httpStatus": 200,
    "scrapedAt": "2026-09-25T02:18:41.468Z",
    "error": null
  },
  {
    "username": "github",
    "siteName": "Akniga",
    "category": "Writing",
    "profileUrl": "https://akniga.org/profile/github",
    "siteUrl": "https://akniga.org/",
    "exists": "No",
    "evidenceType": "HTTP status",
    "evidence": "HTTP 404",
    "httpStatus": 404,
    "scrapedAt": "2026-09-25T02:17:35.141Z",
    "error": null
  }
]

โœจ Why choose this Actor

  • ๐ŸŽฏ Measured accuracy. Every site on the list passed random-handle, near-miss and brand-handle tests before it was kept. Sites that answered Yes to a made-up handle were removed.
  • ๐Ÿคท Unknown is free. Blocked, rate limited and timed-out checks come back as Unknown and cost nothing.
  • ๐Ÿงช Evidence, not just a verdict. Each row shows the HTTP status or page marker that decided it.
  • ๐Ÿข Polite by design. One request at a time per site, a pause between requests, no login, no captcha solving, and paths disallowed by robots.txt are skipped.
  • ๐Ÿ”’ Handles only. Emails, phone numbers, full names and URLs are rejected, and nothing from the profile page itself is returned.
  • โšก Light. Plain HTTP with no browser. Three handles across the full list finished in 81 seconds on Apify.

๐Ÿ“ˆ How it compares to alternatives

This Actor Typical username OSINT tools
Sites 215, each re-tested 400 to 3,000+, many unverified
False positives on random handles 0 of 640 checks Rarely measured
Inconclusive checks Marked Unknown, not charged Often reported as found or missing
Evidence per row โœ… Rarely
Adult, dating and location-tracking sites Excluded Often included
Email or phone lookups Not accepted Some accept them

Honest ceilings: a Yes means some public account uses that handle on that platform. It does not mean your brand owns it. Instagram, Reddit and LinkedIn refuse logged-out checks, TikTok and Facebook return the same page for every handle, and Pinterest, Threads and Flickr disallow the profile path in robots.txt, so these platforms are not on the list.

๐Ÿš€ How to use

  1. Create a free Apify account with $5 of credit: sign up here.
  2. Open Username Availability Checker and type one or more handles into Usernames or handles.
  3. Set Max Items (one row per handle and site), and optionally pick Platform categories or switch on Only return sites where the profile exists.
  4. Click Start and download the dataset as CSV, Excel, JSON or XML.

Example:

{ "usernames": ["mybrand", "mybrandhq"], "categories": ["Developer", "Video"], "maxItems": 200 }

๐Ÿ’ผ Business use cases

๐Ÿท Naming a product

Check five candidate names before launch and pick the one that is free on the platforms your audience uses.

๐Ÿ›ก Brand impersonation watch

Run your brand handle weekly and compare the Yes list with last week's. A new Yes on a platform you never joined is worth a look.

๐Ÿค Agency onboarding

When a new client signs, map every platform where their handle is live in one export.

๐Ÿ” Security reviews

Audit where your company's or your own handles exist, to find forgotten accounts that should be closed or secured.

๐Ÿ”Œ Automating Username Availability Checker

  • Make and Zapier: schedule a weekly run and write the Yes rows to Google Sheets or Airtable.
  • Slack: post a message when a handle appears on a new platform.
  • Airbyte: load results into BigQuery, Snowflake or Postgres for trend reports.
  • GitHub Actions: check handles from a release pipeline through the Apify API.
  • Google Drive: keep each run's CSV export in a shared folder.

๐ŸŒŸ Beyond business use cases

  • ๐ŸŽ“ Research: study how brands and open-source projects spread across platforms.
  • ๐Ÿ™‹ Personal: find your own old accounts under a handle you used years ago.
  • ๐Ÿค Non-profit: check that a campaign name is free before you announce it.
  • ๐Ÿงช Experimentation: measure how handle availability differs between platform categories.

โš–๏ธ Acceptable use

This Actor is built for brand protection, handle availability, security and fraud investigations, and research on your own accounts or accounts whose owners have consented. It is not for tracking, profiling or contacting private individuals. Harassment, stalking, doxxing and any use that breaks the GDPR or other local law are prohibited. You are responsible for having a lawful basis for every handle you check. The Actor only reports whether a public profile exists and its URL. It accepts handles only, not emails, phone numbers or real names, and it leaves out adult, dating and location-tracking sites.

๐Ÿค– Ask an AI assistant about this scraper

Paste this page into ChatGPT, Claude or Gemini and ask things like "Which inputs do I need to see where the handle mybrand is still free on developer and video sites?" or "How do I get only the platforms where my handle exists?".

โ“ Frequently Asked Questions

๐Ÿ”‘ Do I need accounts or API keys?

No. The Actor checks public profile URLs without logging in.

โœ… What do Yes, No and Unknown mean?

Yes: a public profile exists under the handle. No: the site says there is no such profile. Unknown: the site blocked the check, rate limited it or timed out, so the Actor does not guess.

๐Ÿ’ธ Am I charged for Unknown rows?

No. Only Yes and No rows are charged. Rejected inputs are free too.

๐Ÿข Does Yes mean my brand owns that account?

No. It means some public account uses the handle. Open the profile URL to see who runs it.

๐Ÿ“ง Can I search by email, phone number or real name?

No. The Actor accepts handles only and rejects emails, phone numbers, names with spaces and URLs with a free error row. A handle made only of 7 or more digits is also rejected, because it looks like a phone number.

๐Ÿ“š Which sites are included?

215 platforms, among them GitHub, YouTube, Twitch, Spotify, SoundCloud, Bandcamp, Medium, Patreon, Snapchat, Telegram, Bluesky, Kick, Itch.io, Steam, DEV Community, HuggingFace and several Mastodon servers. Filter them with Platform categories.

๐Ÿšซ Why are Instagram, TikTok, Reddit and LinkedIn missing?

They block logged-out checks or return the same page for every handle, so no reliable answer is possible without a login. The Actor does not log in anywhere.

๐Ÿงช How accurate is it?

On the final list, 640 checks of random handles gave 0 false Yes. An independent audit of 381 brand checks, which compared each answer with the real profile page, found 0 false Yes (100% precision) and 98.6% recall. When a site cannot be read, the row says Unknown instead of guessing.

๐Ÿ”ข How many rows does one handle produce?

Up to 215, one per site. A few sites have handle rules (length, allowed characters); a handle that breaks them is skipped for that site and not charged.

๐Ÿข Is it polite to the sites?

Yes. One request at a time per site, a pause between requests, a timeout, no captcha solving, and robots.txt is respected.

๐Ÿ›ก Do I need a proxy?

The Apify datacenter proxy is on by default, because about 20 of the sites refuse checks from cloud server addresses. Leave it on unless you have a reason to switch it off.

๐Ÿ”Œ Integrate with any app

Use the Apify API, the JavaScript and Python clients, webhooks or the Make, Zapier and n8n integrations to send the results wherever you work.

๐Ÿ”— Recommended Actors

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection.

๐Ÿ†˜ Need Help? Open our contact form

โš ๏ธ Disclaimer: this is an independent tool, not affiliated with any of the platforms it checks. It reads only publicly available pages. The site list is derived from Maigret by Soxoj, used under the MIT License.

What input does the Username Availability Checker - 215 Sites, Handle Presence accept?

FieldTypeWhat it doesDefault
usernames required array Public handles to check, one per line (a leading @ is removed). Only plain handles are accepted: email addresses, phone numbers, full names and URLs are rejected with a free error row. Use it for your own brand, your organisation or accounts you are authorised to investigate. ["github","nasa"]
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
categories array Only check sites in these categories. Leave empty to check every site in the list. not set
onlyExisting boolean On: return only the Yes rows (a presence map). Off: return Yes and No rows, which is what you want for handle availability. false
includeUnknown boolean Keep rows where the site blocked, rate limited or timed out and the Actor could not decide. These rows are never charged. true
requestTimeoutSecs integer Per-site timeout. A site that does not answer in time is reported as Unknown. 15
proxyConfiguration object On by default (Apify datacenter proxy): about 20 sites refuse checks from cloud server addresses and answer normally through the proxy. Switch it off to run without a proxy. {"useApifyProxy":true}

How much does the Username Availability Checker - 215 Sites, Handle Presence cost?

from $2.55 per 1,000 results

Charged forWhat it isPrice each
Result item Charged once per result delivered to the dataset. $0.00255 to $0.003

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Username Availability Checker - 215 Sites, Handle Presence API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~username-availability-checker-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "usernames": [
      "github",
      "nasa"
    ],
    "maxItems": 10,
    "onlyExisting": false,
    "includeUnknown": true,
    "requestTimeoutSecs": 15
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "usernames": [
    "github",
    "nasa"
  ],
  "maxItems": 10,
  "onlyExisting": false,
  "includeUnknown": true,
  "requestTimeoutSecs": 15
}

What do users say about the Username Availability Checker - 215 Sites, Handle Presence?

No reviews yet. Be the first.

How do I report an issue with the Username Availability Checker - 215 Sites, Handle Presence?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Username Availability Checker - 215 Sites, Handle Presence on Apify All scrapers