# TikTok User Search Scraper - Find Accounts by Keyword (`seemuapps/tiktok-user-search-scraper`) Actor

Find TikTok accounts by keyword with follower, like and video counts. Optionally add bio, bio link, emails and business details for influencer and lead lists.

- **URL**: https://apify.com/seemuapps/tiktok-user-search-scraper.md
- **Developed by:** [Seemu Scraping](https://apify.com/seemuapps) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 accounts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## TikTok User Search Scraper - Find Accounts by Keyword

Find TikTok creators, brands and businesses by keyword. Enter niches like "skincare" or "dog trainer" and get a list of matching TikTok accounts with follower, like and video counts, verification, linked Instagram account and account creation date. Turn on enrichment to also get each account's bio, bio link, public emails and business details. No login and no TikTok account needed.

### What you get

One row per account with:

- **Account**: username, display name, profile URL, avatar, user ID and secUid
- **Stats**: followers, following, total likes and number of videos
- **Signals**: verified badge, private account, currently live, and linked Instagram username (when the creator has connected it)
- **Account age**: the date the TikTok account was created
- **Search context**: the keyword, the exact search phrase and the account's rank in TikTok's results

With **Add bio, links and emails** turned on you also get:

- **Bio** and **bio link** (link-in-bio, website or other social profile)
- **Emails** found in the bio
- **Language**, **business account** flag and category, **TikTok Shop seller** flag and **organization** flag

### Use cases

- **Influencer discovery**: build lists of creators in any niche, filtered by follower range (e.g. 10K–100K micro-influencers)
- **Lead generation**: find brands and businesses on TikTok with their bio links and public emails for outreach
- **Competitor research**: see which accounts dominate a keyword and how big they are
- **TikTok Shop and UGC sourcing**: find sellers and UGC creators in a product category
- **Market research**: measure how crowded a niche is on TikTok

### How to use

1. Enter one or more **Search keywords**, one per line
2. Set **Max accounts per keyword** (default 50)
3. Optionally set **Min followers** / **Max followers** and turn on **Public accounts only**
4. Turn on **Add bio, links and emails** if you need contact details
5. Run the actor and open the **Dataset** tab, then export to CSV, Excel, JSON or Google Sheets

TikTok shows about 60 accounts per search. Leave **Search related keywords for more results** on to keep going with related phrasings (like "skincare creator" or "skincare tips") until you reach your max.

### Output example

```json
{
  "keyword": "skincare",
  "searchQuery": "skincare",
  "rank": 1,
  "username": "skincareans",
  "nickname": "Andin | Beauty & Travel",
  "profileUrl": "https://www.tiktok.com/@skincareans",
  "followers": 1100000,
  "following": 598,
  "likes": 64300000,
  "videos": 2340,
  "verified": false,
  "isPrivate": false,
  "isLiveNow": false,
  "instagramUsername": "anandinaskr",
  "accountCreatedAt": "2019-12-21T13:49:58.000Z",
  "enriched": true,
  "bio": "Beauty, Lifestyle, Travel\n✈️🌎30 countries\n📍Jakarta",
  "bioLink": "https://www.instagram.com/anandinaskr",
  "emails": [],
  "language": "en",
  "isBusinessAccount": false,
  "isTikTokShopSeller": false
}
```

Each run also saves the number of accounts found per keyword in the **Key-value store** as `OUTPUT`.

### Pricing

- **Account**: a small fee per account returned
- **Enriched account**: an extra fee per account when **Add bio, links and emails** is on

Accounts removed by your filters and duplicates across keywords are free. Each account is returned only once per run, even if it matches several keywords.

Free Apify plans can return up to 25 accounts per run (3 runs a day). Upgrade to a paid plan to remove these limits.

### FAQ

**How many accounts can I get per keyword?** TikTok's own search returns about 60 accounts per phrase. With related keywords on, most niches reach a few hundred.

**Why does a keyword return accounts that don't contain it?** TikTok's search also matches display names, similar spellings and related topics, just like the search in the app.

**Where do the emails come from?** From the account's public bio. For deeper contact discovery (scanning link-in-bio pages and websites), use a dedicated TikTok email finder.

**How is the account creation date worked out?** TikTok account IDs contain the time the account was created, so it's available for every account without extra lookups.

# Actor input Schema

## `keywords` (type: `array`):

Keywords, niches, names or brands to search TikTok accounts for (e.g. "skincare", "dog trainer"), one per line (up to 100).

## `maxResultsPerKeyword` (type: `integer`):

How many accounts to return for each keyword (1-500).

## `searchRelatedKeywords` (type: `boolean`):

TikTok shows about 60 accounts per search. When a keyword runs out before the max, also search related phrasings (e.g. "skincare creator", "skincare tips") to find more accounts.

## `minFollowers` (type: `integer`):

Only return accounts with at least this many followers. 0 = no minimum.

## `maxFollowers` (type: `integer`):

Only return accounts with at most this many followers (useful for finding micro-influencers). 0 = no maximum.

## `excludePrivate` (type: `boolean`):

Skip private accounts.

## `enrichProfiles` (type: `boolean`):

Look up each account's full profile to add the bio, bio link, emails found in the bio, language, and business / TikTok Shop seller flags. Charged as an extra per enriched account.

## Actor input object example

```json
{
  "keywords": [
    "skincare"
  ],
  "maxResultsPerKeyword": 50,
  "searchRelatedKeywords": true,
  "minFollowers": 0,
  "maxFollowers": 0,
  "excludePrivate": false,
  "enrichProfiles": false
}
```

# Actor output Schema

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

One row per account: username, display name, followers, following, likes, videos, verification, linked Instagram, account creation date and search rank; with enrichment also bio, bio link, emails, language and business flags.

## `summary` (type: `string`):

Number of accounts found per keyword.

# 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 = {
    "keywords": [
        "skincare"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("seemuapps/tiktok-user-search-scraper").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 = { "keywords": ["skincare"] }

# Run the Actor and wait for it to finish
run = client.actor("seemuapps/tiktok-user-search-scraper").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 '{
  "keywords": [
    "skincare"
  ]
}' |
apify call seemuapps/tiktok-user-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seemuapps/tiktok-user-search-scraper"
        }
    }
}
```

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/p48Y6zidSQamGF6V0/builds/29fWb7cjyqaEsGDud/openapi.json
