# Username Availability Checker - Handle Lookup (`benthepythondev/username-availability-checker`) Actor

Check username availability across GitHub, GitLab, Reddit, YouTube and Twitch. Export status, profile URL and availability result.

- **URL**: https://apify.com/benthepythondev/username-availability-checker.md
- **Developed by:** [Ben](https://apify.com/benthepythondev) (community)
- **Categories:** Social media, Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Username Availability Checker - Handle Lookup

Check username availability across common public platforms in one run. Enter one or more handles and get structured results for GitHub, GitLab, Reddit, YouTube and Twitch, including availability, status code, profile URL and a note when a platform response needs manual verification. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.

### What is the Username Availability Checker?

The Username Availability Checker helps founders, marketers, creators, agencies and product teams quickly test whether a brand handle is already taken across major public platforms. Instead of opening each site manually, paste a list of names and get one dataset row per platform check.

It is designed for early brand research, product naming, creator account planning, domain and handle audits, agency onboarding and monitoring. The actor uses lightweight HTTP checks and does not require any platform API keys.

#### What data does it extract?

- **Username:** the normalized handle that was checked.
- **Platform:** GitHub, GitLab, Reddit, YouTube or Twitch.
- **Availability:** `true`, `false` or `null` when a platform response is ambiguous.
- **Status code:** HTTP status returned by the platform.
- **Profile URL:** the public URL that was checked.
- **Note:** explanation for unknown results or invalid username formats.

### Input

Add one or more usernames to `usernames`. You can include an `@` prefix; it will be removed. Choose the platforms to check, or leave the default list enabled.

#### Example input

```json
{
  "usernames": ["benthepythondev", "newbrandname2026"],
  "platforms": ["github", "gitlab", "reddit", "youtube", "twitch"]
}
```

### Output

Each dataset row can include:

```json
{
  "username": "newbrandname2026",
  "platform": "github",
  "available": true,
  "status_code": 404,
  "profile_url": "https://github.com/newbrandname2026",
  "note": null
}
```

### Use cases

🏷️ **Brand naming:** Check candidate names across major platforms before committing to a product, startup, app or creator brand.

📱 **Creator handle research:** Test whether a public handle is available before setting up a new channel or social identity.

🏢 **Agency onboarding:** Run handle checks for clients and export a simple report showing which names are available or already taken.

🔁 **Monitoring:** Schedule checks for high-value names and watch whether a profile becomes available or starts resolving.

🧩 **Workflow automation:** Connect the output to a spreadsheet, CRM or approval workflow so teams can review handle options together.

### Workflow ideas

For a new brand launch, create a spreadsheet with all candidate names and run them through the actor. Sort by platform and availability, then shortlist names that are open across the most important channels. For agencies, save a reusable task with the default platform list and run it whenever a new client sends name ideas.

If a result returns `available: null`, treat it as a manual-review flag. Some platforms return anti-bot pages, temporary errors or redirects that are not a reliable yes/no signal. The actor keeps those rows rather than pretending to be certain.

### Reliability notes

Availability checks are based on public platform responses. Platforms can change redirects, rate limits or anti-bot behavior. For important brand decisions, always manually verify the final shortlisted handles before purchase, launch or legal work.

The checker intentionally uses a conservative safe username pattern. Names with unusual characters are marked as unknown because platform-specific rules differ.

### Data quality tips

Run several candidate names at once and compare them in a spreadsheet. A name that is available on every platform is useful, but a name that is taken only on a low-priority platform may still be acceptable for a campaign or product. The actor gives you the raw signal; your brand priorities decide the final answer.

Treat `available: null` rows as review tasks. They are not failures; they are places where the platform response was not reliable enough to classify. This conservative behavior is intentional because a false "available" result is worse than a row that asks for manual confirmation.

For high-stakes launches, repeat the check close to launch day. Handles can be claimed quickly, and platform behavior can change. A saved Apify task makes it easy to rerun the same candidate list before you publish brand assets.

### Pricing

This actor uses pay-per-result pricing. You are charged for each platform-check row pushed to the dataset, plus a tiny actor-start event.

### FAQ

#### Does it create accounts?

No. It only checks public URLs and returns availability signals.

#### Does it need API keys?

No. It uses lightweight public HTTP checks.

#### Can I check multiple usernames?

Yes. Add multiple usernames; the actor checks each selected platform for each name.

#### What does `available: null` mean?

It means the platform response was ambiguous, blocked, redirected unexpectedly or otherwise not safe to classify automatically.

#### Can I add more platforms?

The current actor focuses on reliable public checks. Additional platforms can be added when their public responses are dependable enough for automated use.

#### Is this legal?

This actor checks public URLs and returns basic availability signals. You are responsible for using the results lawfully and following each platform's rules.

#### Can I schedule checks?

Yes. Save a task and schedule it to monitor selected handles over time.

#### Should I rely on it for trademark decisions?

No. This is an operational handle checker, not legal advice. Use legal and trademark review for final brand decisions.

#### Why does the actor check fewer platforms than some manual tools?

The focus is reliability. Platforms are added when their public responses are stable enough to automate without returning misleading results.

#### Can I use this with domain research?

Yes. Many teams run handle checks next to domain checks so naming decisions consider both web and social availability.

### You might also like

- Website Contact Extractor - find emails and social links from websites
- Domain Intelligence Scraper - inspect domain and web metadata
- YouTube Search Results Scraper - discover creators and videos
- Tech Stack Detector - analyze company websites

### Keywords

username availability checker, handle checker, social username checker, GitHub username checker, Reddit username checker, YouTube handle checker, Twitch username checker, brand name checker, creator handle lookup, social media availability API.

# Actor input Schema

## `usernames` (type: `array`):

Usernames or handles to check. You may include @; it will be removed.

## `platforms` (type: `array`):

Platforms to check.

## Actor input object example

```json
{
  "usernames": [
    "benthepythondev"
  ],
  "platforms": [
    "github",
    "gitlab",
    "reddit",
    "youtube",
    "twitch"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "benthepythondev"
    ],
    "platforms": [
        "github",
        "gitlab",
        "reddit",
        "youtube",
        "twitch"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("benthepythondev/username-availability-checker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "usernames": ["benthepythondev"],
    "platforms": [
        "github",
        "gitlab",
        "reddit",
        "youtube",
        "twitch",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("benthepythondev/username-availability-checker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "benthepythondev"
  ],
  "platforms": [
    "github",
    "gitlab",
    "reddit",
    "youtube",
    "twitch"
  ]
}' |
apify call benthepythondev/username-availability-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=benthepythondev/username-availability-checker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vlt9PZRYO3dNqhaMj/builds/LfgqMTStzTVc0cZMl/openapi.json
