# TikTok Handles · Bulk Availability (`corent1robert/tiktok-handle-checker`) Actor

Check TikTok username availability in bulk — no login. Paste handles, get available/taken, plus checked alternatives when a name is taken. Free plan: 20 handles / run. Export CSV, JSON, Excel

- **URL**: https://apify.com/corent1robert/tiktok-handle-checker.md
- **Developed by:** [Corentin Robert](https://apify.com/corent1robert) (community)
- **Categories:** Social media, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.45 / 1,000 handle checkeds

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

## TikTok Username Availability Checker · Bulk · No Login

**Turn a list of TikTok handles into a clean availability table** — paste your usernames, get `available / taken` for each one, plus checked alternatives when a name is taken. Export CSV, JSON, or Excel.

**No login. No cookies. No TikTok account needed.**

Also checking Instagram + TikTok + 8 more in one run? → [Social Handle Checker](https://apify.com/corent1robert/social-handle-checker)

***

### Who is this for?

| You are… | Typical goal | Suggested setup |
|----------|--------------|-----------------|
| **Brand / product manager** | Lock a TikTok handle before launch | 10–50 brand name variants |
| **Startup founder** | Align TikTok with IG / domain naming | 15–30 company-name variations |
| **Agency** | Client naming workshop / onboarding report | Paid plan — 100–300 names, CSV export |
| **Social media consultant** | Validate handles during client setup | Weekly batch (paid for bulk) |
| **Creator / influencer** | Find a free vanity handle | 10–20 creative variants |
| **Username hunter / brand protection** | Scan niches or watch a shortlist | Paid plan — large lists + schedule |

**What you get by default:** `yes` / `no` / `error` per handle, a `tiktok.com/@…` link, and up to 3 **checked** alternative suggestions when the name is taken.

**When suggestions help:** turn a “taken” result into a shortlist of free variants without a second brainstorming round.

***

### Quick start

1. Open the Actor on [Apify Console](https://console.apify.com/actors/sz7L38Hp7SM9mhYgn)
2. Under **TikTok handles**, paste usernames — one per line (`@` and `tiktok.com/@…` URLs are stripped)
3. Click **Start**
4. Open the **Dataset** tab — download CSV, JSON, or Excel

**Free plan:** 20 handles / run. **Paid:** unlimited (set a max charge per run to cap spend).

***

### Ready-made examples

| Example | Best for | Status |
|---------|----------|--------|
| Brand TikTok handle check | Product / brand launch shortlist | Task saved — publish with Actor |
| Agency bulk TikTok scan | Client onboarding CSV | Task saved — publish with Actor |
| Creator name variants | Find a free vanity handle | Task saved — publish with Actor |
| Startup TikTok consistency | Align company-name variants | Task saved — publish with Actor |

Public Example URLs appear after Store publish (daily publication quota). Specs: `published-tasks/`.

***

### What you get (columns)

| Field | Description |
|-------|-------------|
| `handle` | Username checked (without `@`) |
| `available` | `yes` / `no` / `error` |
| `profileUrl` | `https://www.tiktok.com/@…` |
| `suggestions` | When **taken**, up to 3 alternatives that checked **available** — else `N/A` |
| `error` | Failure detail, or `N/A` |

Invalid names (too long, bad charset) are written as `error` rows and **not billed**.

***

### Input

| Parameter | Type | Description |
|-----------|------|-------------|
| `handles` | array | TikTok usernames. `@`, profile URLs, casing, duplicates normalised. |
| `maxTotalChargeUsd` | number | (API only) Spend cap for the run. |
| `proxyConfiguration` | object | Unused on Console. Cloud runs use Apify residential proxy automatically. |
| `verboseLogs` | boolean | (API only) Extra debug lines in the run log. Default `false`. |

```json
{
  "handles": ["charlidamelio", "mybrand2026", "getmybrand", "mybrandhq"]
}
```

***

### How much does it cost to check TikTok usernames?

Pay-per-event: **Handle checked** = one definitive `yes` / `no` result. Invalid names are free. Actor start is ~$0.00005.

| Scenario | Free | Bronze | Silver | Gold |
|----------|------|--------|--------|------|
| 20 handles (Free plan try) | ~$0.07 | ~$0.06 | ~$0.06 | ~$0.05 |
| 1,000 handles | **$3.50** | $3.15 | $2.80 | $2.45 |
| 5,000 handles | $17.50 | $15.75 | $14.00 | $12.25 |

**Vs Store competitors (Aug 2026):**

| Actor | Unit | Free list ≈ /1k |
|-------|------|-----------------|
| **This Actor** | 1 definitive TikTok check | **$3.50** |
| [maged120/tiktok-username-checker](https://apify.com/maged120/tiktok-username-checker) | 1 result | **~$19** Free / ~$11 Bronze |
| [corent1robert/instagram-handle-checker](https://apify.com/corent1robert/instagram-handle-checker) (sibling) | 1 IG check | **~$4** Free |
| [corent1robert/social-handle-checker](https://apify.com/corent1robert/social-handle-checker) | 1 handle × multi-network | ~$8.70 / handle row |

HTTP-only checks keep compute low; Apify residential proxy is used by default on cloud (TikTok blocks many datacenter exits).

***

### Is it legal to check TikTok username availability?

This Actor only reads **public** TikTok profile pages (the same pages anyone can open in a browser). It does not log in, create accounts, or access private data. As with any automation against a third-party site, use results in line with TikTok’s terms and applicable law (including brand / trademark rules for the names you claim).

***

### Limitations

- Availability is a **point-in-time** snapshot — someone can register a free name minutes later.
- TikTok may challenge or rate-limit heavy bursts — those rows return `error` (we prefer that over a false “available”).
- Suggestions are simple variants (`name1`, `getname`, …) that we actually re-check — not AI name generators.

***

### Also available

- **[Instagram Username Availability Checker](https://apify.com/corent1robert/instagram-handle-checker)** — same UX for Instagram (high-intent SEO sibling).
- **[Social Handle Checker](https://apify.com/corent1robert/social-handle-checker)** — IG + TikTok + X + YouTube + more in one run.

***

### Local development

```bash
cd tiktok-handle-checker
npm install
npm test
npm run start:dev
```

Default `input.json` is a short smoke list. `storage/` is local-only (ignored on push).

***

### Support

Need a custom checker or multi-platform workflow? **corentin@outreacher.fr**

# Actor input Schema

## `handles` (type: `array`):

TikTok usernames to check. Invalid names are reported, not billed.

## Actor input object example

```json
{
  "handles": [
    "charlidamelio",
    "brandnamexyz99"
  ]
}
```

# Actor output Schema

## `overview` (type: `string`):

Every handle checked

## `available` (type: `string`):

Only usernames still free

## `dataset` (type: `string`):

All rows

## `runLog` (type: `string`):

Live progress

# 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 = {
    "handles": [
        "charlidamelio",
        "brandnamexyz99"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("corent1robert/tiktok-handle-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 = { "handles": [
        "charlidamelio",
        "brandnamexyz99",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("corent1robert/tiktok-handle-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 '{
  "handles": [
    "charlidamelio",
    "brandnamexyz99"
  ]
}' |
apify call corent1robert/tiktok-handle-checker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,corent1robert/tiktok-handle-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/sz7L38Hp7SM9mhYgn/builds/IoB5axSpU1pn4K7vl/openapi.json
