TikTok Shop Products & Sellers Scraper (US)
Pricing
from $5.50 / 1,000 results
TikTok Shop Products & Sellers Scraper (US)
Collect live US TikTok Shop products and sellers. Paste product links or IDs, store links, or category links; stores and categories expand to their products. Each row carries price, discount, sold count, rating, images, category path and shop metrics. Failures are reported, not charged.
Pricing
from $5.50 / 1,000 results
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Features
Share
TikTok Shop Scraper (US)
Collect live product and seller data from TikTok Shop in the United States. Give it product links or product IDs, store links, or category links, and every product becomes one clean row: current price range, original price and discount, sold count, rating and review count, images, category path, and the shop behind it. Store and category links are expanded into their products automatically, page by page, until your result cap is reached.
Only the United States is supported. Non-US links are rejected with a clear message rather than silently returning a different country's catalogue.
What sets it apart: every product row carries the shop behind it (seller name, rating, sold count, followers, product count) alongside the product's price, discount and sales, so one export answers both "what sells" and "who sells it". Products that fail are reported, not charged, and the optional shop summaries are free.
Use cases
- Product research: find best-selling items in a category by sold count, rating and price.
- Competitor tracking: follow a rival store's catalogue, prices and discounts on a schedule.
- Seller discovery: list the shops behind a category with their ratings, followers and sales for outreach or affiliate programs.
- Price monitoring: re-check specific product links daily for price, discount and stock changes.
- Market sizing: compare sold counts and review totals across categories and stores.
Quick Start
{"productUrls": ["https://shop.tiktok.com/us/pdp/catlink-automatic-cat-litter-box-open-x-app-control-ultra-quiet/1729481391627933425"],"storeUrls": ["https://shop.tiktok.com/us/store/jetech-us-shop/7494525317462591244"],"categoryUrls": ["https://shop.tiktok.com/us/c/bath-body-care/849160"],"maxProducts": 100,"includeShopDetails": true}
Product links can be full URLs or bare numeric IDs (a bare ID in storeUrls or categoryUrls is read as a store or category ID). Store and category links are expanded to their products.
The Console form is prefilled with one product link and one category, capped at 20 products and 2 pages, for a fast first run of about $0.12.
Input
| Input | Type | Default | Meaning |
|---|---|---|---|
productUrls | array | none | US product page links or numeric product IDs. One row per product. |
storeUrls | array | none | US store page links. Each store is expanded to its product list, following the page's own continuation. |
categoryUrls | array | none | US category page links. Each category is expanded to its product list the same way. |
maxProducts | integer | 100 | Total cap on product rows across all sources, after de-duplication, from 1 to 10,000. |
maxPages | integer | 10 | The number of listing pages read per expanded store or category, including the first, up to 100. |
includeShopDetails | boolean | false | When enabled, each expanded store's own summary (rating, sold count, follower count, product count and review count) is added to the run summary at OUTPUT.shops. Shop summaries are not dataset rows and are not charged. |
An empty input ({}) returns a small sample of 5 products from the Console example's product and category (about $0.03), marked usedExample: true in the run summary; an explicitly empty list still stops with a message asking for a product, store or category link.
What it returns
The dataset contains one row per product:
| Field | Meaning |
|---|---|
kind | product for every dataset row. |
productId, url, title | Product identity and its canonical page link. |
priceMin, priceMax, currency | Current price range at the SKU level. |
originalPrice, discountPercent | Pre-discount price and discount, when the page publishes them. |
soldCount | Units sold as shown on the page. |
rating, reviewCount | Average product rating and number of reviews. |
images | Product image links. |
categoryPath, categoryId | Category names from broadest to most specific, plus the leaf category ID. |
sellerId, sellerName, sellerRating, sellerSoldCount, sellerFollowers | The shop behind the product. |
sellerProductCount, sellerReviewCount, sellerRegion | Shop size, review total and region when the page exposes them. |
inStock, stock | Availability and total SKU stock when the page publishes it. |
source | Whether the row came from a product, store or category input. |
scrapedAt | Collection time (UTC, ISO 8601). |
error | Always null in the dataset. Failures are reported in the run summary instead. |
The run summary (OUTPUT) reports products (rows delivered), errors and the list at productErrors. With includeShopDetails enabled it also carries shops, one summary per expanded store with sellerId, sellerName, sellerRating, sellerSoldCount, sellerFollowers, sellerProductCount, sellerReviewCount, sellerRegion, rating, soldCount, reviewCount, url and scrapedAt, plus shopCount. Those summaries are run metadata, never dataset rows, so they are not charged.
Output example
{"kind": "product","productId": "1729481391627933425","url": "https://shop.tiktok.com/us/pdp/catlink-automatic-cat-litter-box-open-x-app-control-ultra-quiet/1729481391627933425","title": "CATLINK 12L Open-X Self Cleaning Automatic Litter Box - App Control with App Status Alerts, Quiet Operation, Large Bin Reduces Refills & Fuss","priceMin": 245.7,"priceMax": 245.7,"currency": "USD","originalPrice": 388.7,"discountPercent": 37.0,"soldCount": 3194,"rating": 4.5,"reviewCount": 270,"images": ["https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/ae0b7851a09a4565ab79a2caaf851c78~tplv-fhlh96nyum-crop-webp:800:800.webp"],"categoryPath": ["Pet Supplies", "Dog & Cat Litter", "Litter Trays & Boxes", "Automatic Cat Litter Box"],"categoryId": "1146768","sellerId": "7496099137713375985","sellerName": "CATLINK Global","sellerRating": 4.6,"sellerSoldCount": 4370,"sellerFollowers": 5822,"sellerProductCount": 8,"sellerReviewCount": 329,"sellerRegion": "US","inStock": true,"stock": 170,"source": "product","scrapedAt": "2026-10-19T06:40:00+00:00","error": null}
Failed products
A product that cannot be retrieved is reported in the run summary at OUTPUT.productErrors, with the same identity fields plus code and message. Failed products are never dataset rows and are not charged. A run in which every selected source fails exits with an error instead of finishing green with an empty dataset.
Limits and caveats
- Only the United States is supported.
- Product links return a single page. Store and category links are paginated up to
maxPagesand stop atmaxProducts. - Fields such as discount, stock or shop follower count are
nullwhen the page does not publish them; product links expose more detail than listing rows. - Automated access is subject to TikTok's terms; use this actor only where you have the necessary permissions and a lawful basis.
FAQ
Can I mix product, store and category links? Yes — put them all in the matching input. Duplicate products are returned once.
Do listing rows include everything a product page does? No. Store and category rows carry price (with the original price and discount when one is shown), sold count, rating, review count, image and seller; store rows add the shop's own figures. SKU stock and the category path come from product links.
How fresh is the data? Every run reads TikTok Shop live; scrapedAt records when each product was collected.
Can I monitor prices or sales over time? Yes. Save a task with your product, store or category links, schedule it daily, and compare priceMin, discountPercent, soldCount and stock by productId between runs.
Which formats can I export? JSON, CSV, Excel or XML from the dataset, or read the rows through the Apify API and integrations.
What does includeShopDetails add? One summary per expanded store in the run summary at OUTPUT.shops, with the shop's own rating, sold count, follower count, product count and review count. It does not add dataset rows or charges.
Price
$0.0055 per product delivered, plus $0.005 per run start. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no results. Failed products are not charged, and neither are the optional shop summaries in OUTPUT.shops. Platform usage is included in these prices.
Worked examples at the default memory:
- The Console prefill (20 products): 20 × $0.0055 + $0.005 ≈ $0.12.
- 100 products (the default cap): 100 × $0.0055 + $0.005 ≈ $0.56.
- 1,000 products: 1,000 × $0.0055 + $0.005 ≈ $5.51.
Set maxProducts or a maximum charge for the run to keep spending predictable.