# Minecraft Username Checker (`maged120/minecraft-username-checker`) Actor

Bulk-check whether Minecraft Java usernames are available or taken, with the owner's UUID and exact name for every taken handle.

- **URL**: https://apify.com/maged120/minecraft-username-checker.md
- **Developed by:** [Maged](https://apify.com/maged120) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

**Minecraft Username Checker** tells you in bulk whether **Minecraft Java usernames are available or already taken**. For every taken name you also get the player's **UUID** and the **exact capitalisation** of the name. Paste a list, press Start, and get a clean table you can export.

### What does Minecraft Username Checker do?

This Actor checks [Minecraft](https://www.minecraft.net) Java Edition usernames against the live player registry. It returns one row per name: **available** or **taken**, plus the owner's **UUID**, the **canonical name** and a **profile link** when the name is in use. You can paste bare names, `@names`, or profile URLs.

On the Apify platform you also get API access, scheduling, integrations (Google Sheets, Zapier, Make, webhooks) and run monitoring, so you can re-check a watchlist every day without lifting a finger.

### Why use Minecraft Username Checker?

- **OG name hunting**: test hundreds of short or rare names in one run and find the ones that are still free.
- **Name drops**: schedule a daily check on a watchlist and catch the moment a name frees up.
- **Server & community tools**: resolve player names to UUIDs in bulk for whitelists, ban lists or stats.
- **Brand protection**: make sure your brand or creator name is secured on Minecraft.
- **Resale research**: see which names in a list are claimed before you plan anything around them.

### How to check Minecraft usernames in bulk

1. Open the Actor and go to the **Input** tab.
2. Paste your names into **Usernames to Check**, one per line.
3. Click **Start**.
4. Open the **Output** tab, or download the results as JSON, CSV, Excel or HTML.

That's it. Large lists are processed quickly and automatically.

### Input

| Field | Type | Description |
|---|---|---|
| `usernames` | array | Names to check: a bare name, `@name`, or profile URL. **Required.** |
| `proxyConfiguration` | object | Optional. Not needed for normal use. |

```json
{
    "usernames": ["Notch", "jeb_", "zzq_free_918"]
}
```

### Output

Each name becomes one row in the dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
[
    {
        "username": "notch",
        "name": "notch",
        "isAvailable": false,
        "canonicalName": "Notch",
        "uuid": "069a79f4-44e9-4726-a5be-fca90e38aaf5",
        "profileUrl": "https://namemc.com/profile/Notch",
        "note": null,
        "error": null
    },
    {
        "username": "zzq_free_918",
        "name": "zzq_free_918",
        "isAvailable": true,
        "canonicalName": null,
        "uuid": null,
        "profileUrl": null,
        "note": null,
        "error": null
    }
]
```

### Output data fields

| Field | Description |
|---|---|
| `username` | Exactly what you entered. |
| `name` | The cleaned-up name that was checked. |
| `isAvailable` | `true` = free, `false` = taken (or too short to register), `null` = couldn't be checked. |
| `canonicalName` | The name's exact capitalisation, when taken. |
| `uuid` | The owning player's UUID, when taken. |
| `profileUrl` | Public profile page for taken names. |
| `note` | Extra context, e.g. names shorter than 3 characters. |
| `error` | Why a name couldn't be checked (e.g. invalid characters), otherwise `null`. |

### How many results will I get?

One result per name you enter, whether it's available, taken or invalid. A list of 1,000 names produces 1,000 rows. Duplicate or invalid entries still produce a row (with an explanation), so remove them first if you want to keep result counts low.

### Tips

- **Batch big lists**: thousands of names in one run is fine and faster than many small runs.
- **Schedule a watchlist**: save your target names as a task and run it daily. Add a webhook or Google Sheets integration to get alerted when a name flips to available.
- **Case doesn't matter**: `Notch`, `notch` and `NOTCH` are the same name. The output shows the real capitalisation.

### FAQ

**Which edition does this check?** Minecraft **Java Edition**. Bedrock gamertags are Xbox accounts and work differently.

**Why is a 2-letter name marked not available even though nobody owns it?** New Minecraft names need 3–16 characters. Some very old accounts kept shorter names, and those show as taken. Unused short names can't be registered, so they're marked not available with a note.

**"Available" but I still can't claim it?** A name someone just changed away from is held for a short period before anyone else can take it. Names that break Minecraft's naming rules can also be blocked at claim time. Re-check in a few weeks if a name you want is in that window.

**Is this legal?** The Actor only reads public information about whether a name is in use. It never changes any account.

**Found a bug or need a custom feature?** Open an issue in the **Issues** tab. Custom solutions are available on request.

# Actor input Schema

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

Minecraft Java usernames to check, one per line. Bare names, @names and profile URLs are all accepted. Checks are case-insensitive.

## `proxyConfiguration` (type: `object`):

Optional. Not needed for normal use — enable only for very large lists.

## Actor input object example

```json
{
  "usernames": [
    "Notch",
    "jeb_",
    "zzq_free_918"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (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": [
        "Notch",
        "jeb_",
        "zzq_free_918"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maged120/minecraft-username-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": [
        "Notch",
        "jeb_",
        "zzq_free_918",
    ] }

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [
    "Notch",
    "jeb_",
    "zzq_free_918"
  ]
}' |
apify call maged120/minecraft-username-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maged120/minecraft-username-checker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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