Discord Username Checker · Bulk, CSV & Sheets [No Login] avatar

Discord Username Checker · Bulk, CSV & Sheets [No Login]

Pricing

from $3.90 / 1,000 username checkeds

Go to Apify Store
Discord Username Checker · Bulk, CSV & Sheets [No Login]

Discord Username Checker · Bulk, CSV & Sheets [No Login]

Check thousands of Discord usernames at once: available, taken or invalid with Discord's own reason, plus the check time. Paste names or link a CSV, TXT or Google Sheet. Optional free-name suggestion for taken names. No account, no token, no proxy setup. Unanswered names are free.

Pricing

from $3.90 / 1,000 username checkeds

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

1

Bookmarked

23

Total users

2

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

Discord Username Checker

Find out which Discord usernames are free to claim, in bulk. Paste a list or link a CSV, TXT or Google Sheet, and get one row per name: available, taken or invalid, with Discord's own reason for every refused name and the exact time it was checked.

How the Discord Username Checker works: names or a file in, available, taken or invalid out

Why Use This Scraper?

  • Bulk in one run. Thousands of names per run, from a pasted list, a CSV, a TXT, a JSON list or a Google Sheet link.
  • Discord's own verdict. Every answer comes from Discord's sign-up check, so "available" means Discord would accept the name right now.
  • Reasons, not just "no". Refused names come back with Discord's reason code and message: too short or long, a character Discord does not allow, repeated dots, or a word Discord reserves (discord, nitro, clyde and others).
  • A free alternative for every miss. Turn on suggestions and each taken or invalid name gets the name Discord itself offers in its place.
  • Only answers are billed. A name Discord did not answer comes back with status unknown and costs nothing. Names that break Discord's basic rules are answered on the spot and cost nothing either.
  • No account, no token, no setup. Nothing to log in to and nothing to configure besides the list.

Overview

Discord moved every account to unique usernames in 2023, and good names went fast. This actor tells you which of your candidate names can still be registered, so you can pick a handle for yourself, a brand, a bot or a community before someone else does.

Every unique name on your list becomes one dataset row. The row says whether Discord would accept the name today, why it would refuse it, how long the name is, where it sat in your list, and when it was checked. Rows are written as answers arrive, so a large list fills the dataset steadily and you can sort by position to get your original order back.

The actor checks names, nothing else. It does not look up who owns a taken name, and it never registers or reserves anything.

Supported Inputs

Name forms

You enterChecked asNote
coolnamecoolnamePlain names
CoolNamecoolnameUpper case is folded to lower case, as Discord does
@coolnamecoolnameMentions
coolname#1234coolnamePre-2023 tags; the number is not part of a username
alpha, beta; gammaalpha, beta, gammaCommas and semicolons separate names in the list field
cool gamercool gamerStays one entry and comes back invalid (spaces are not allowed), with a suggested valid name if suggestions are on

Repeated names (after folding case and removing @ and tags) are checked once.

FileHow names are read
TXTOne name per line
CSV or TSV with a headerThe column named username, user name, name, handle or tag (any case)
CSV without a matching headerThe first column of each line
A single comma-separated lineEvery value on the line
JSONAn array of strings, or of objects with a username, name or handle field

Share links work as they are: a Google Sheet shared as "anyone with the link" (the tab in the link is the one read), a GitHub file page, a Pastebin page and a Dropbox share link are turned into their download form for you.

Unsupported inputs

  • Discord user IDs and profile links (discord.com/users/123...). The actor checks names, not accounts.
  • Server names, server invites and channel names. For servers, see the Discord Server Scraper below.
  • Private files that need a login to download. Share the file publicly or paste the names.

Use Cases

WhoWhat they do with it
Gamers and streamersShortlist a handle across dozens of spellings and grab the first free one
Brands and agenciesCheck brand, product and campaign names before a launch, and spot names that are already taken
Handle huntersScan generated lists of short or dictionary names for free ones
Community and bot buildersMake sure the bot, mod and staff names you plan to use can be registered
DevelopersAdd an availability check to a sign-up flow, a name generator or a Discord tool through the API
ResearchersMeasure how crowded the namespace is for a word list or a naming pattern

How It Works

  1. Give it names. Paste them into "Usernames", link one or more files, or both.
  2. Names are cleaned. Case is folded, @ and old #1234 tags are dropped, repeats are removed.
  3. Discord's basic rules are applied first. Names Discord would refuse for length, characters or repeated dots are marked invalid straight away, free of charge.
  4. Every other name is checked with Discord. The answer is available, taken, or invalid with Discord's reason (reserved words are Discord's list, so those are always asked).
  5. One row per name lands in the dataset, with the optional suggested free name and the check time. Export as JSON, CSV, Excel or through the API.

Input Configuration

Input fields

FieldTypeDefaultWhat it does
usernamesarray of strings-Names to check, one per line. Commas and semicolons also separate names. Accepts name, @name, name#1234.
usernameFileUrlsarray of strings-Links to TXT, CSV, TSV or JSON files with more names, including Google Sheets, GitHub, Pastebin and Dropbox share links.
suggestAlternativesbooleanfalseFor each taken or invalid name, add the name Discord offers in its place at sign-up.
maxUsernamesintegerallStop after this many unique names.

At least one name, from the list or a file, is needed.

Example: a short list

{
"usernames": ["jason", "gamer", "pixel.fox.2026"]
}

Example: a Google Sheet plus suggestions

{
"usernameFileUrls": ["https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/edit#gid=0"],
"suggestAlternatives": true
}

Example: the first 500 names of a large file

{
"usernameFileUrls": ["https://example.com/names.txt"],
"maxUsernames": 500
}

Output Overview

Each row is one unique name. status is the field to filter on:

  • available: Discord would accept the name right now.
  • taken: someone already has it.
  • invalid: Discord would refuse it. reasonCode and reason say why.
  • unknown: Discord gave no answer for this name during the run. The row is free; run the name again later.

available repeats the verdict as true / false (null for unknown), which is handy for spreadsheet filters.

Output Samples

Real rows from a test run on 2026-11-06, with suggestions on.

Taken, with Discord's suggestion

{
"username": "jason",
"status": "taken",
"available": false,
"usernameLength": 5,
"reasonCode": null,
"reason": null,
"suggestedUsername": "jason051761",
"input": "jason",
"position": 1,
"checkedAt": "2026-11-06T05:58:31.118Z"
}

Available

{
"username": "zq.hunter.n7x2q",
"status": "available",
"available": true,
"usernameLength": 15,
"reasonCode": null,
"reason": null,
"suggestedUsername": null,
"input": "zq.hunter.n7x2q",
"position": 11,
"checkedAt": "2026-11-06T05:58:30.402Z"
}

Invalid: a word Discord reserves

{
"username": "discordfan",
"status": "invalid",
"available": false,
"usernameLength": 10,
"reasonCode": "USERNAME_INVALID_CONTAINS",
"reason": "Username cannot contain \"discord\"",
"suggestedUsername": "di5cordfan0922",
"input": "discordfan",
"position": 7,
"checkedAt": "2026-11-06T05:58:31.790Z"
}

Invalid: a space in the name

{
"username": "has space",
"status": "invalid",
"available": false,
"usernameLength": 9,
"reasonCode": "USERNAME_INVALID_CHARACTERS",
"reason": "Username can only use letters, numbers, underscores and periods.",
"suggestedUsername": "hasspace",
"input": "has space",
"position": 9,
"checkedAt": "2026-11-06T05:58:29.874Z"
}

Key Output Fields

Verdict

  • status: available, taken, invalid or unknown
  • available: true, false, or null when Discord gave no answer
  • reasonCode: Discord's code for an invalid name (BASE_TYPE_BAD_LENGTH, USERNAME_INVALID_CHARACTERS, USERNAME_INVALID_REPEATING_DOTS, USERNAME_INVALID_CONTAINS), or NO_ANSWER for unknown
  • reason: the matching message in plain English

The name

  • username: the name as Discord would store it (lower case, no @, no tag)
  • usernameLength: number of characters, for filtering short names
  • suggestedUsername: Discord's own offer for a taken or invalid name (only with suggestAlternatives)

Tracking

  • input: what you entered, exactly
  • position: the name's place in your list after repeats were removed (list names first, then files in the order given)
  • checkedAt: ISO 8601 time of the check, UTC

FAQ

How accurate is "available"?

It is Discord's own answer at checkedAt. Names change hands all the time, so a name that is free now can be taken minutes later. Claim the ones you want soon after the run.

Why is a name marked invalid when nobody has it?

Discord refuses some names whoever asks: fewer than 2 or more than 32 characters, anything other than a-z, 0-9, _ and ., two dots in a row, or a reserved word such as discord, nitro, clyde, wumpus, hypesquad or snowsgiving. The row's reason says which rule applies.

What does unknown mean, and am I charged for it?

Discord did not give an answer for that name during the run, after several tries. It is rare (none in test runs of 200 and 545 names), the row is free, and running the name again later normally answers it.

Why is suggestedUsername empty for some taken names?

Discord sometimes has no offer, mostly for very short, common names such as john or mike. The field is then empty, as it is when suggestions are off. Discord's offers change from one request to the next, so a later run may fill it.

Is a suggested name guaranteed to be free?

It is the name Discord itself offers at sign-up for that input, so it was free when offered. It is not checked a second time; run it through the checker if you want a separate row for it.

Can I check names with upper-case letters?

Yes. Discord folds usernames to lower case, so CoolName and coolname are the same name. The row shows both: input as you typed it and username as Discord stores it.

Does it work with old name#1234 tags?

Yes. The #1234 part is dropped and the name is checked as a new-style username.

How many names can I check in one run?

There is no fixed cap on paid plans. Test runs on Apify checked 200 names in 17 seconds and about 11 names a second on a 10,000-word list, so 10,000 names take roughly 15 minutes. Free Apify plans check the first 100 names per run.

What happens when my spending limit is reached?

The run stops starting new checks, keeps every row it already wrote, and the log says how many names were left unchecked. Unchecked names cost nothing.

Can it tell me who owns a taken name?

No. The actor reports whether a name can be registered. It does not look up accounts or profiles.

How am I billed?

One event per name Discord answered: available, taken, or invalid with Discord's reason. Names that break Discord's basic length, character and dot rules are answered without asking Discord and are free. unknown rows are free. Suggestions add no charge.

Support

Found a bug or need a field? Open an issue on the actor's Issues tab. Issues are answered quickly.

Additional Services

Need availability checks on a schedule, other platforms in the same run, or results sent to a spreadsheet, webhook or database? Open an issue describing what you need, or email muhamed.didovic@gmail.com for custom work.

Explore More Scrapers

Full list at apify.com/memo23.

🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/discord-username-checker).

Purpose: bulk check whether Discord usernames can be registered right now: available, taken, or invalid with Discord's reason code. No login.

Minimal input:

{ "usernames": ["jason", "pixel.fox.2026", "discordfan"], "suggestAlternatives": true }

Output: one dataset row per unique name: username, status (available / taken / invalid / unknown), available (boolean or null), usernameLength, reasonCode, reason, suggestedUsername, input, position, checkedAt.

Behaviors an agent should know:

  • Names are folded to lower case and stripped of @ and #1234 tags before checking; repeats are checked once.
  • Rows arrive in completion order. Sort by position for input order.
  • usernameFileUrls accepts TXT, CSV (username/name/handle column), JSON and Google Sheet share links.
  • suggestedUsername is filled only with suggestAlternatives: true, and Discord has no offer for some short common names.
  • Billing: one username-checked event per name Discord answered. Rule-breaking names answered locally, unknown rows and suggestions are free.
  • Set maxUsernames to cap a run; free Apify plans stop at 100 names per run.

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Discord Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The actor asks only the question Discord answers publicly for anyone choosing a username: whether a name can be registered. It does not log in, read accounts, messages or servers, or register or reserve any name. Users are responsible for ensuring their use complies with Discord's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.


SEO Keywords

discord username checker, discord username availability, check discord username, discord name checker, discord handle checker, bulk discord username checker, discord username available, discord username taken, Apify discord, discord username finder, discord username generator list, short discord usernames, rare discord usernames, discord handle availability API, username availability checker, brand name availability, social handle checker, gamer tag checker, discord bot name check, username sniping, discord pomelo usernames