TikTok Keyword Search
Give one TikTok search keyword and an expected count to get matching public video identifiers, links, and collection metadata.
Overview
Researching how a topic appears in TikTok search often starts with a dependable set of matching video identifiers and public links. This app turns one search keyword into a structured collection of matching items, keeping the keyword and collection context beside each identifier so the dataset remains understandable after it is exported or joined with other research material.
The result is useful as a discovery index: it shows which public videos were associated with a brand, product, topic, or campaign at collection time. It is especially suited to building repeatable monitoring sets, comparing the content populations found for different terms, and preparing identifiers and links for later analysis without manually copying items from search pages.
Data notes
Each record represents one TikTok item associated with the submitted search keyword. Content IDs are de-duplicated within the returned dataset. Matched keyword, Source item, and Business ID preserve the collection context and may repeat across many records from the same search. Collection time is returned without timezone information, so it should not be treated as an absolute cross-region timestamp without additional context. Keyword type describes the kind of search item attached to the record.
The collection contains identifiers, public video links, and collection metadata, not captions, transcripts, engagement totals, comments, or a complete creator profile. A No-data marker distinguishes search metadata that reports no matching content from ordinary matched records. Private, deleted, or otherwise non-searchable TikTok content is not covered.
What a result looks like
Each row is one matched TikTok video or a no-data marker associated with the search keyword.
| Content ID | Matched keyword | Content URL | Collection time | No-data marker |
|---|---|---|---|---|
| 7678592532162284813 | bluetooth earbuds | https://www.tiktok.com/@rebeccashao0/video/7678592532162284813 | 2026-08-27T15:13:22 | No |
| 7678160781283822879 | bluetooth earbuds | https://www.tiktok.com/@stitch.series6/video/7678160781283822879 | 2026-08-27T15:13:22 | No |
Keyword type, Collection record ID, Business ID, and Source item are also available when supplied with the record.
Use cases
- For topic discovery, group rows by Matched keyword and count distinct Content ID values to compare the searchable video population associated with each term.
- For monitoring, repeat a keyword collection and compare Content ID sets while using Collection time as source-provided context for newly observed items.
- For provenance checks, compare Matched keyword, Source item, and Business ID to confirm which search context produced each video before combining datasets.
- For follow-up review, open Content URL values and filter on No-data marker to separate empty-search metadata from usable matched records.
Scope and boundaries
One TikTok search keyword per task with an expected result count from 1 to 200; results are returned in complete batches of 10 and may be rounded up; coverage is limited to public TikTok keyword search listings.
- Good for
- When you need content identifiers and public video links returned by a TikTok keyword search for a brand, product, topic, or campaign.
- When you need a structured list that connects each matched video with its search keyword and collection metadata.
- Do not use for
- When you need captions, transcripts, engagement metrics, comments, or complete creator profiles.
- When you need an immediate single-record lookup rather than a background keyword collection task.
Failure handling
Failure and retry behavior declared by the author. We recommend including it in your system prompt when integrating.
- 1If no matching records are returned, verify the keyword or try a shorter and broader search phrase.
- 2Keep completed records after a partial success; resubmit the same input after a failed or expired task.
- 3Retry later after rate limiting, temporary service unavailability, or a timeout.
- 4If authentication fails, verify the API Key configured for the execution environment.
Input
Parameters required to call this App, generated from the input.schema in manifest.json.
| Field | Business name | Type | Required | Default | Enum / Constraints | Example | Description |
|---|---|---|---|---|---|---|---|
| keyword | Search keyword | string | Yes | — | — | Shokz | A brand, product, topic, or phrase to search on TikTok. Each task accepts one keyword from 1 to 512 characters. |
| crawl_count | Expected result count | integer | Yes | — | 1–200 | 1 | Expected number of search results, from 1 to 200. Results are returned in complete batches of 10, so the actual count may be rounded up. |
Output
Field structure of a single record, generated from the output.schema in manifest.json.
| Field | Business name | Type | Example | Description |
|---|---|---|---|---|
| content_id | Content ID | string | 7678592532162284813 | Unique identifier of the matched TikTok video. |
| content_url | Content URL | string | https://www.tiktok.com/@rebeccashao0/video/7678592532162284813 | Public TikTok video URL for the matched item. |
| keyword | Matched keyword | string | bluetooth earbuds | Search keyword associated with the collected content item. |
| keyword_type | Keyword type | string | keyword | Classification of the search item associated with the record. |
| crawl_time | Collection time | string | 2026-08-27T15:13:22 | Timestamp associated with the collected record; the source does not specify a timezone. |
| cur_id | Collection record ID | string | 6a8fe396b799f44efa7f2ff0 | Unique identifier of this collected row; it may differ from the TikTok video Content ID. |
| biz_id | Business ID | string | bluetooth earbuds | Business grouping identifier returned with the collected record. |
| source_item | Source item | string | bluetooth earbuds | Keyword item associated with the collection that produced this record. |
| no_data | No-data marker | boolean | false | Indicates whether this search item produced no matching records. |
Record schema
Output is returned record by record. detail.output.idFieldHint
{
"type": "object",
"properties": {
"content_id": {
"type": "string",
"title": "Content ID",
"description": "Unique identifier of the matched TikTok video.",
"prefill": "7678592532162284813"
},
"content_url": {
"type": "string",
"title": "Content URL",
"description": "Public TikTok video URL for the matched item.",
"prefill": "https://www.tiktok.com/@rebeccashao0/video/7678592532162284813"
},
"keyword": {
"type": "string",
"title": "Matched keyword",
"description": "Search keyword associated with the collected content item.",
"prefill": "bluetooth earbuds"
},
"keyword_type": {
"type": "string",
"title": "Keyword type",
"description": "Classification of the search item associated with the record.",
"prefill": "keyword"
},
"crawl_time": {
"type": "string",
"title": "Collection time",
"description": "Timestamp associated with the collected record; the source does not specify a timezone.",
"prefill": "2026-08-27T15:13:22"
},
"cur_id": {
"type": "string",
"title": "Collection record ID",
"description": "Unique identifier of this collected row; it may differ from the TikTok video Content ID.",
"prefill": "6a8fe396b799f44efa7f2ff0"
},
"biz_id": {
"type": "string",
"title": "Business ID",
"description": "Business grouping identifier returned with the collected record.",
"prefill": "bluetooth earbuds"
},
"source_item": {
"type": "string",
"title": "Source item",
"description": "Keyword item associated with the collection that produced this record.",
"prefill": "bluetooth earbuds"
},
"no_data": {
"type": "boolean",
"title": "No-data marker",
"description": "Indicates whether this search item produced no matching records.",
"prefill": false
}
},
"required": [],
"additionalProperties": false
}Integration
This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way.
With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.
Client config
Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.
{
"mcpServers": {
"hello_moto__tiktok-keyword-list": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=hello_moto/tiktok-keyword-list",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Let AI set it up for you
Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)
detail.access.mcp.composeHint
Pricing
Charged by the number of records successfully returned. Failed runs are not charged. Billed in units of 10 record; any partial unit is rounded up to 10 record.
Charged once per submitted run, regardless of how many records are returned.
Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.
View creditsTry it now
Fill in the parameters and run. Results come from a real call.