UltraFast Discord Username Checker avatar

UltraFast Discord Username Checker

Pricing

from $2.50 / 1,000 results

Go to Apify Store
UltraFast Discord Username Checker

UltraFast Discord Username Checker

High-throughput Discord username availability checker with route-capacity mode, structured Apify dataset output, and optional Discord webhook alerts.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

spy

spy

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

2

Monthly active users

19 hours ago

Last modified

Share

UltraFast Discord Username Checker checks whether Discord usernames are available or already taken and writes structured results to an Apify dataset. It is built for high-throughput username list validation with Apify residential proxy routes, route-capacity scheduling, browser-like TLS, and optional Discord webhook alerts for available usernames.

Use it when you need an auditable list of Discord username availability results, want to export the data through Apify, or want available usernames pushed to a Discord channel as they are found.

What can this Actor do?

  • Check explicit Discord username lists from a JSON array or pasted text.
  • Save every result with outputMode: "all" or save mostly available results with outputMode: "available_only".
  • Use Apify Proxy residential routes with route-capacity mode for fast batches.
  • Retire proxy routes after their configured request capacity to reduce repeated rate-limit waste.
  • Send available usernames to a Discord webhook in safe message chunks.
  • Log progress counters such as verified, pending, in-flight, rate-limited, deferred, route capacity, and dataset records.
  • Support conservative adaptive mode for smaller runs where waiting is preferred over short bursts.

The Actor does not need a Discord login, password, user token, or browser session from your Discord account.

What data can you extract?

FieldDescription
usernameDiscord username that was checked.
availabletrue when Discord reports that the username is available.
statusFinal status such as available, taken, invalid_format, deferred_rate_limit, or deferred_route_capacity.
statusCodeDiscord HTTP status code when available.
attemptsNumber of request attempts made for the username.
checkedAtUTC timestamp when the result was produced.
errorDiagnostic text for failed or deferred rows.

How to check Discord usernames

  1. Open the Actor on Apify.
  2. Paste usernames into usernamesText, one username per line, or provide a JSON usernames array.
  3. For the first validation run, keep outputMode set to all so every input has an auditable row.
  4. Keep the default fast residential route-capacity settings for high-throughput runs.
  5. Optionally set discordWebhookUrl or the DISCORD_WEBHOOK_URL secret to receive available usernames in Discord.
  6. Run the Actor and export results from the default dataset.

Example input:

{
"usernamesText": "samplecheck0001\nsamplecheck0002\nsamplecheck0003",
"outputMode": "all",
"useProxy": true,
"proxyGroup": "RESIDENTIAL",
"routeCapacityMode": true,
"concurrency": 5000,
"apifyProxyRouteCount": 12000,
"maxRequestsPerRoute": 1,
"useBrowserTLS": true
}

Small validation run

Use this before a large batch. It writes every username to the dataset and makes result auditing easy.

{
"usernamesText": "samplecheck0001\nsamplecheck0002\nsamplecheck0003",
"outputMode": "all",
"useProxy": true,
"proxyGroup": "RESIDENTIAL",
"routeCapacityMode": true,
"concurrency": 500,
"apifyProxyRouteCount": 1000,
"maxRequestsPerRoute": 1,
"useBrowserTLS": true
}

Fast 5k residential run

Use this after a validation run succeeds. This is the default high-throughput route-capacity style.

{
"outputMode": "all",
"useProxy": true,
"proxyGroup": "RESIDENTIAL",
"routeCapacityMode": true,
"adaptiveRateLimit": false,
"concurrency": 5000,
"apifyProxyRouteCount": 12000,
"maxRequestsPerRoute": 1,
"maxRequestsPerSecond": 0,
"requestTimeoutSeconds": 5,
"useBrowserTLS": true,
"browserTLSProfile": "chrome_133",
"bootstrapBrowserSession": false
}

Conservative adaptive run

Use this when you prefer slower, correctness-first behavior over maximum burst speed.

{
"outputMode": "all",
"useProxy": true,
"proxyGroup": "RESIDENTIAL",
"routeCapacityMode": false,
"adaptiveRateLimit": true,
"concurrency": 10,
"initialRequestsPerMinute": 3,
"maxRequestsPerMinute": 12,
"rampEveryVerified": 100,
"rampStepRequestsPerMinute": 1,
"cooldownSafetyMultiplier": 1.15,
"useBrowserTLS": true
}

Discord webhook alerts

Set discordWebhookUrl in the input or store it as DISCORD_WEBHOOK_URL in Actor secrets. The Actor sends only available usernames to the webhook.

Discord has a message size limit and webhook rate limits. This Actor splits webhook messages into safe chunks and retries webhook 429 responses using Discord's retry timing. Do not publish public tasks or examples with your private webhook URL in the input.

Pricing and cost expectations

This Actor uses pay-per-event pricing. The current primary result event is charged per item written to the default dataset, and the Actor start event is charged when a run starts. Apify platform usage, residential proxy traffic, dataset storage, and account plan limits may also affect the final run cost.

Cost depends mostly on:

  • How many rows are written to the dataset.
  • Whether you use outputMode: "all" or outputMode: "available_only".
  • Whether the run uses residential proxies.
  • Whether a batch needs extra attempts because Discord, Cloudflare, or proxy routes return rate limits.
  • The maxTotalChargeUsd limit you set on the run.

For validation, use outputMode: "all". For production searches where you only need free handles, available_only can reduce dataset item charges because taken usernames are not written.

Troubleshooting

Why did my run stop after a cost limit?

Apify can stop a run automatically when it reaches the configured maximum total charge. Increase maxTotalChargeUsd only after a small validation run proves the configuration and output are correct.

Why do I see rate-limited counters?

Rate-limit counters mean some routes received Discord 429 responses. In route-capacity mode, the Actor can retire those routes and keep verifying usernames through fresh routes. Check verified, unverified, deferred_rate_limit, and deferred_route_capacity to know what was actually completed.

What does deferred_route_capacity mean?

It means the Actor ran out of configured route capacity before verifying that username. Increase apifyProxyRouteCount, add more external proxy routes, or run the deferred usernames in a second batch.

Why is the Discord webhook not sending?

Discord webhooks can return 429 for rate limits or 403 if the webhook URL is invalid, deleted, or rejected by Discord. Use a valid discord.com/api/webhooks/... URL and avoid sharing it in public inputs.

Why can I not start new runs?

If Apify reports Monthly usage hard limit exceeded, Actor runs, proxy access, storage, and webhooks can be disabled at the account level. Raise or clear the Apify monthly usage limit before starting more runs.

FAQ

Does this Actor log in to Discord?

No. It checks Discord's unauthenticated username availability behavior and does not need your Discord account credentials or token.

Can I check very large lists?

Yes, but large lists should be split into batches. Start with a small validation run, then scale the batch size once the logs show that results are being verified and not deferred.

Should I use all or available_only output?

Use all while testing so every input is auditable. Use available_only when you already trust the configuration and only need available usernames plus exceptional unresolved rows.

Can I use my own proxies?

Yes. Add them with externalProxyUrls or externalProxyUrlsText. Secrets in proxy URLs are redacted from logs.

Support

If a run looks incomplete, check the final summary log first. The most important counters are checked, verified, unverified, available, taken, deferred_rate_limit, deferred_route_capacity, route_429s, and dataset_records.