TikTok Shop Keyword Search
Give one TikTok Shop search keyword and an expected product count to get matching US listings with shop, price, and sales signals.
Overview
Searching TikTok Shop by keyword is how shoppers actually discover products, but the public listing is hard to capture as a comparable dataset: titles, prices, shops, and rank shift together, and screenshots do not survive analysis. This app turns one search keyword into a structured list of matching United States TikTok Shop products so merchandising, brand, and research teams can see what currently appears for that term.
Unlike opening a product page you already know, keyword search shows which listings occupy the shelf for a brand, category, or campaign phrase. Keeping product identity, listing commercial signals, and shop context in the same row makes it possible to compare terms, watch a brand's presence, or build a candidate set without copying results by hand.
Data notes
Each record is a public product listing associated with the submitted search keyword on TikTok Shop in the United States. Product IDs are de-duplicated within the returned dataset. Matched keyword, Business ID, and Source item preserve the search context and may repeat across many products from the same task. Listings are returned in a stable ascending collection-time order.
Price is the listing amount as a raw string, with no separate currency field. Collect timestamp and Created timestamp are millisecond strings; Collection time has no timezone, so it should not be treated as an absolute cross-region clock. Search rank starts at 0. A No-data marker distinguishes a search item that produced no matching products from ordinary listing rows.
The collection covers public United States search listings only. It does not include other country catalogs, product-detail specifications, comments, or order data.
What a result looks like
Each row is one TikTok Shop product listing associated with the search keyword, or a no-data marker for that search.
| Product title | Product ID | Price | Shop name | Sales count | Search rank |
|---|---|---|---|---|---|
| Micro Ingredients Whole Milk Powder, 4lbs, Made in USA | 1729435358486827693 | 41.54 | Micro Ingredients | 23284 | 0 |
| Binggrae Flavored Milk Drink, Banana Flavor 200ml * 6 Cartons | 1729408858647663361 | 18.26 | Weee Asian Supermarket | 6714 | 1 |
Brand name, Product image, Rating count, Shop ID, Collection time, and No-data marker are also available when supplied with the record.
Use cases
- For keyword merchandising, group rows by Matched keyword and compare Product title, Price, and Shop name to see which listings occupy the search shelf.
- For competitive tracking, sort by Search rank and use Sales count with Rating count to separate highly visible listings from long-tail products.
- For brand monitoring, compare Brand name against Shop name and Product ID to see whether branded goods are sold by the brand shop or by other merchants.
- For sourcing follow-up, keep Product ID, Shop ID, and Product image together so the same listing can be reopened later without repeating the search by hand.
Scope and boundaries
One TikTok Shop search keyword per task with an expected result count from 1 to 300; results are returned in complete batches of 30 and may be rounded up; coverage is limited to public US TikTok Shop search listings.
- Good for
- When you need US TikTok Shop products that appear for a brand, product, or category keyword.
- When you need a structured list that connects each matched listing with its shop, price, rank, and public sales or rating signals.
- Do not use for
- When you need full product specifications, comments, or order data from a product detail page.
- When you need an immediate single-record lookup rather than a background keyword collection task.
- When you need TikTok Shop listings from regions other than the United States.
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, try a shorter or broader search phrase and resubmit.
- 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 | — | — | milk | A brand, product, or category phrase to search on TikTok Shop. Each task accepts one keyword from 1 to 512 characters. |
| crawl_count | Expected result count | integer | Yes | — | 1–300 | 30 | Expected number of product listings, from 1 to 300. Results are returned in complete batches of 30, so the actual count may be rounded up. Incomplete batches are still billed as 30 records. |
Output
Field structure of a single record, generated from the output.schema in manifest.json.
| Field | Business name | Type | Example | Description |
|---|---|---|---|---|
| biz_id | Business ID | string | milk | Business grouping identifier returned with the collected listing; empty when none is returned. |
| brand_name | Brand name | string | Micro Ingredients | Brand name shown on the product listing; empty when none is returned. |
| collect_time | Collect timestamp | string | 1789121807761 | Collect time as a millisecond timestamp string; empty when none is returned. |
| crawl_time | Collection time | string | 2026-09-11T18:16:47 | Collection time for the listing; the source does not specify a timezone. |
| created_at | Created timestamp | string | 1789121807761 | Record created time as a millisecond timestamp string; empty when none is returned. |
| image_url | Product image | string | https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/a6be9c262efc4e9e95cce5c93daa4ccf~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t=555f072d&ps=933b5bde&shp=8dbd94bf&shcp=a6e80448&idc=useast5&from=2378011839 | Main product image URL from the listing; empty when none is returned. |
| keyword | Matched keyword | string | milk | Search keyword associated with this product listing. |
| page_num | Result page | string | 1 | Search result page number as a string; empty when none is returned. |
| platform_code | Platform code | string | tiktokShop | Source platform code returned with the listing. |
| price | Price | string | 41.54 | Listing price as a raw string, with no separate currency field; empty when none is returned. |
| product_id | Product ID | string | 1729435358486827693 | Stable unique identifier of the TikTok Shop product. |
| product_title | Product title | string | Micro Ingredients Whole Milk Powder, 4lbs, Made in USA | Product title shown on the TikTok Shop listing. |
| rank_index | Search rank | integer | 0 | Zero-based rank of the product in the search listing; empty when none is returned. |
| rating_count | Rating count | string | 3185 | Number of ratings as a numeric string; empty when none is returned. |
| sale_count | Sales count | string | 23284 | Public sales count as a numeric string; empty when none is returned. |
| shop_id | Shop ID | string | 7494949083499694765 | Unique identifier of the TikTok Shop store; empty when none is returned. |
| shop_name | Shop name | string | Micro Ingredients | Store name associated with the product listing. |
| status_code | Status code | string | — | Raw product status code; empty when none is returned. |
| source_item | Source item | string | milk | 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 products. |
Record schema
Output is returned record by record. detail.output.idFieldHint
{
"type": "object",
"properties": {
"biz_id": {
"type": "string",
"title": "Business ID",
"description": "Business grouping identifier returned with the collected listing; empty when none is returned.",
"prefill": "milk"
},
"brand_name": {
"type": "string",
"title": "Brand name",
"description": "Brand name shown on the product listing; empty when none is returned.",
"prefill": "Micro Ingredients"
},
"collect_time": {
"type": "string",
"title": "Collect timestamp",
"description": "Collect time as a millisecond timestamp string; empty when none is returned.",
"prefill": "1789121807761"
},
"crawl_time": {
"type": "string",
"title": "Collection time",
"description": "Collection time for the listing; the source does not specify a timezone.",
"prefill": "2026-09-11T18:16:47"
},
"created_at": {
"type": "string",
"title": "Created timestamp",
"description": "Record created time as a millisecond timestamp string; empty when none is returned.",
"prefill": "1789121807761"
},
"image_url": {
"type": "string",
"title": "Product image",
"description": "Main product image URL from the listing; empty when none is returned.",
"prefill": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/a6be9c262efc4e9e95cce5c93daa4ccf~tplv-fhlh96nyum-crop-webp:2000:2000.webp?dr=12190&t=555f072d&ps=933b5bde&shp=8dbd94bf&shcp=a6e80448&idc=useast5&from=2378011839"
},
"keyword": {
"type": "string",
"title": "Matched keyword",
"description": "Search keyword associated with this product listing.",
"prefill": "milk"
},
"page_num": {
"type": "string",
"title": "Result page",
"description": "Search result page number as a string; empty when none is returned.",
"prefill": "1"
},
"platform_code": {
"type": "string",
"title": "Platform code",
"description": "Source platform code returned with the listing.",
"prefill": "tiktokShop"
},
"price": {
"type": "string",
"title": "Price",
"description": "Listing price as a raw string, with no separate currency field; empty when none is returned.",
"prefill": "41.54"
},
"product_id": {
"type": "string",
"title": "Product ID",
"description": "Stable unique identifier of the TikTok Shop product.",
"prefill": "1729435358486827693"
},
"product_title": {
"type": "string",
"title": "Product title",
"description": "Product title shown on the TikTok Shop listing.",
"prefill": "Micro Ingredients Whole Milk Powder, 4lbs, Made in USA"
},
"rank_index": {
"type": "integer",
"title": "Search rank",
"description": "Zero-based rank of the product in the search listing; empty when none is returned.",
"prefill": 0
},
"rating_count": {
"type": "string",
"title": "Rating count",
"description": "Number of ratings as a numeric string; empty when none is returned.",
"prefill": "3185"
},
"sale_count": {
"type": "string",
"title": "Sales count",
"description": "Public sales count as a numeric string; empty when none is returned.",
"prefill": "23284"
},
"shop_id": {
"type": "string",
"title": "Shop ID",
"description": "Unique identifier of the TikTok Shop store; empty when none is returned.",
"prefill": "7494949083499694765"
},
"shop_name": {
"type": "string",
"title": "Shop name",
"description": "Store name associated with the product listing.",
"prefill": "Micro Ingredients"
},
"status_code": {
"type": "string",
"title": "Status code",
"description": "Raw product status code; empty when none is returned."
},
"source_item": {
"type": "string",
"title": "Source item",
"description": "Keyword item associated with the collection that produced this record.",
"prefill": "milk"
},
"no_data": {
"type": "boolean",
"title": "No-data marker",
"description": "Indicates whether this search item produced no matching products.",
"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": {
"super_ig__tiktok-shop-keyword-list": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=super_ig/tiktok-shop-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 30 record; any partial unit is rounded up to 30 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.