# TikTok User Search Scraper (`clockworks/tiktok-user-search-scraper`) Actor

Extract data about users based on TikTok user search. You'll get full user profiles, including name, nickname,
signature, number of followers, number of videos, bio link, and author’s ID.

- **URL**: https://apify.com/clockworks/tiktok-user-search-scraper.md
- **Developed by:** [Clockworks](https://apify.com/clockworks) (Apify)
- **Categories:** Social media, Videos
- **Features:** Limited permissions
- **Stats:** 5,546 total users, 520 monthly users, 100.0% runs succeeded, 39 bookmarks
- **User rating**: 4.64 out of 5 stars

## Pricing

from $2.50 / 1,000 profiles

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

### What is TikTok User Search Scraper?

TikTok User Search Scraper is an easy-to-use scraping tool that helps you with **scraping TikTok users you search for with a search query.** Using this tool, you will be able to scrape:

- user’s name,
- nickname,
- signature,
- number of followers,
- number of videos,
- bio link,
- author’s ID,
- and much more.

### How to scrape TikTok with TikTok User Search Scraper?

TikTok User Search Scraper is designed to be user-friendly, offering a smooth start for those who have never extracted data from TikTok before. Here’s how you can use this web scraper:

1. [Create](https://console.apify.com/sign-up) a free Apify account using your email.
2. Open [TikTok User Search Scraper.](https://apify.com/clockworks/tiktok-user-search-scraper)
3. Type in your search query.
4. Click the “Start” button and wait for the data to be extracted.
5. Download your data in JSON, XML, CSV, Excel, or HTML.

If you want more guidance on how to use TikTok User Search Scraper, this [video tutorial](https://www.youtube.com/watch?v=hY7Bb15ROO8) shows you how to do it in just a few minutes.

https://www.youtube.com/watch?v=hY7Bb15ROO8

### 🔼 Input sample

The input for TikTok User Search Scraper should be one or multiple **TikTok search queries.** See the example below:

[![tiktok_user_search_input.png](https://raw.githubusercontent.com/apify-projects/actor-readme-images/refs/heads/master/tiktok_user_search_input.png)](https://console.apify.com/actors/urbACh26VF8yHR72m)

### 🔽 Output sample

The scraped TikTok user search data will be shown as a dataset which you can find in the **Output tab**:

[![TikTok User Search Output](https://raw.githubusercontent.com/apify-projects/actor-readme-images/refs/heads/master/tiktok_user_search_output.png)](https://console.apify.com/actors/urbACh26VF8yHR72m)

You can preview all the fields and choose in which format to download the data you’ve extracted: JSON, CSV, Excel, HTML table, or XML. Here below is the same dataset in JSON:

```json
{
    "avatar": "https://p16-sign-sg.tiktokcdn.com/aweme/720x720/tos-alisg-avt-0068/1fb62947f2472a05fa636c894a3dba14.jpeg?lk3s=a5d48078&nonce=99611&refresh_token=296659f6bdea3973a3c356cfb3a84b8f&x-expires=1728651600&x-signature=ycc1teXGnv1pa%2FSiugrbsYSza1w%3D&shp=a5d48078&shcp=81f88b70",
    "name": ".amool344",
    "nickName": "Coffee",
    "verified": false,
    "signature": "كـن مُحسناً حتى وإن لم تلق إحسانا \nليس لأجلهم بل لأن الله يحب المحسنين",
    "fans": 317400,
    "video": 4156,
    "privateAccount": false,
    "ttSeller": false,
    "bioLink": null,
    "id": "6873734221858341889"
  },
```

### How can I use the data extracted with TikTok User Search Scraper?

The data extracted from TikTok User Search Scraper can be used for a variety of purposes, including:

🔍 **Influencer discovery:** Search any niche keyword and get creators with their follower counts, verification status, and bios, so you can [find the right TikTok influencers](https://blog.apify.com/find-best-tiktok-influencers/) without scrolling the app.

🌱 **Micro-influencer shortlisting:** Filter results by the `fans` count to surface smaller creators with engaged audiences, often a [cheaper way to reach a niche](https://blog.apify.com/find-micro-influencers-on-tiktok/) than working with large accounts.

📇 **Lead generation:** Every profile comes with its bio text and `bioLink`, so you can pull websites and contact links straight into a [TikTok lead generation](https://blog.apify.com/tiktok-lead-generation/) pipeline.

🛒 **TikTok Shop seller research:** The `ttSeller` flag shows which creators sell through TikTok Shop, so you can map the sellers in a category before approaching them.

📊 **Niche and audience research:** Compare follower and video counts across everyone active in a category to see who actually has reach, useful for [behavioral and market research](https://blog.apify.com/tiktok-user-behavior-with-apify/).

🔗 **Input for deeper scraping:** Feed the usernames from your search results into [TikTok Profile Scraper](https://apify.com/clockworks/tiktok-profile-scraper) or [TikTok Followers Scraper](https://apify.com/clockworks/tiktok-followers-scraper) to go deeper on the accounts worth watching.

### Integrate TikTok User Search Scraper and automate your workflow

TikTok User Search Scraper can be connected with almost any cloud service or web app thanks to [integrations](https://apify.com/integrations) on the Apify platform.
These include:

- [n8n](https://apify.com/integrations/n8n)
- [Make](https://apify.com/integrations/make)
- [Zapier](https://apify.com/integrations/zapier)
- [Slack](https://docs.apify.com/platform/integrations/slack)
- [Airbyte](https://docs.apify.com/platform/integrations/airbyte)
- [GitHub](https://docs.apify.com/platform/integrations/github)
- [Google Drive](https://docs.apify.com/platform/integrations/drive)
- and [much more](https://docs.apify.com/platform/integrations)

Alternatively, you can use [webhooks](https://docs.apify.com/platform/integrations/webhooks) to carry out an action whenever an event occurs, e.g. get a notification whenever TikTok User Search Scraper successfully finishes a run.

### Scrape any TikTok data you need with dedicated scrapers

<table>
<tr>
<td>🎵 <a href="https://apify.com/clockworks/tiktok-scraper">TikTok Scraper</a></td>
<td>💬 <a href="https://apify.com/clockworks/tiktok-comments-scraper">TikTok Comments Scraper</a></td>
<td>#️⃣ <a href="https://apify.com/clockworks/tiktok-hashtag-scraper">TikTok Hashtag Scraper</a></td>
</tr>
<tr>
<td>📝 <a href="https://apify.com/clockworks/tiktok-transcript-extractor">TikTok Transcript Extractor</a></td>
<td>🗣 <a href="https://apify.com/clockworks/tiktok-profile-scraper">TikTok Profile Scraper</a></td>
<td>🎸 <a href="https://apify.com/clockworks/tiktok-sound-scraper">TikTok Sound Scraper</a></td>
</tr>
<tr>
<td>🔍 <a href="https://apify.com/clockworks/tiktok-discover-scraper">TikTok Discover Scraper</a></td>
<td>🛒 <a href="https://apify.com/clockworks/tiktok-shop-scraper">TikTok Shop Scraper</a></td>
<td>👥 <a href="https://apify.com/clockworks/tiktok-followers-scraper">TikTok Followers Scraper</a></td>
</tr>
<tr>
<td>🧭 <a href="https://apify.com/clockworks/tiktok-explore-scraper">TikTok Explore Scraper</a></td>
<td>📥 <a href="https://apify.com/clockworks/free-tiktok-scraper">TikTok Data Extractor</a></td>
<td>📹 <a href="https://apify.com/clockworks/tiktok-video-scraper">TikTok Video Scraper</a></td>
</tr>
</table>

### Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for TikTok User Search Scraper or simply found a bug, please create an issue on the Actor’s [Issues tab](https://apify.com/clockworks/tiktok-user-search-scraper/issues/open) in Apify Console.

### ❓FAQ

#### How much does it cost to use TikTok User Search Scraper?

TikTok User Search Scraper uses the pay-per-result pricing model, so your costs can be easily calculated: it will cost you **$6 to scrape 1,000 results** on the Free plan, so $0.006 per item. Apify provides you with $5 free usage credits every month on the [Apify Free plan](https://apify.com/pricing), so you can **get over 800 results from TikTok User Search Scraper for free**. Discounts per result apply on paid plans, so you pay less as you scale. Check the [full pricing for every plan](https://apify.com/clockworks/tiktok-user-search-scraper/pricing).

#### How can I use TikTok User Search scraper with the Apify API?

The Apify API gives you programmatic access to the Apify platform. [The API](https://apify.com/clockworks/tiktok-user-search-scraper/api/python) is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the `apify-client` NPM package. To access the API using Python, use the `apify-client` PyPI package.

Check out the [Apify API reference](https://docs.apify.com/api/v2) docs for full details or click on the [TikTok User Search Scraper API tab](https://apify.com/clockworks/tiktok-user-search-scraper/api/python) for code examples.

#### Is it legal to scrape TikTok with TikTok User Search Scraper?

Our [TikTok scrapers](https://apify.com/store?search=tiktok), TikTok User Search Scraper included, are ethical and **do not extract any private user data, such as email addresses, gender, or location.** They can only extract what the user has chosen to share publicly. However, you should be aware that your results might contain personal data.

Personal data is protected by GDPR in the European Union and other laws and regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you’re unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/) and [ethical scraping](https://blog.apify.com/what-is-ethical-web-scraping-and-how-do-you-do-it/).

### Error items

When the scraper cannot retrieve data for a given search query, it pushes an **error item** to the dataset instead of silently skipping it. Normal output items are never affected; you can tell them apart by the presence of an `errorCode` field.

#### Error item structure

```json
{
    "input": "zzqxnonexistentterm99812734xyz",
    "searchQuery": "zzqxnonexistentterm99812734xyz",
    "error": "No profiles found for the search query",
    "errorCode": "SEARCH_QUERY_PROFILE_NOT_FOUND"
}
```

#### Error codes reference

| `errorCode`                      | Meaning                                                        |
| -------------------------------- | -------------------------------------------------------------- |
| `SEARCH_QUERY_PROFILE_NOT_FOUND` | No profiles found for the search query                         |
| `INVALID_INPUT`                  | Actor failed due to bad configuration (run is also terminated) |

# Changelog

This Actor's version history is a separate document: https://apify.com/clockworks/tiktok-user-search-scraper/changelog.md

# Actor input Schema

## `searchQueries` (type: `array`):

Your keyword will apply to profiles. As for your query's format, you can use any query that works on TikTok.

## `maxProfilesPerQuery` (type: `integer`):

The maximum number of profiles to extract per query

## Actor input object example

```json
{
  "searchQueries": [
    "cats"
  ],
  "maxProfilesPerQuery": 10
}
```

# Actor output Schema

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

Dataset containing all scraped data

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

// Run the Actor and wait for it to finish
const run = await client.actor("clockworks/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 = { "searchQueries": ["cats"] }

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

```

## MCP server setup

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