TikTok Shop Scraper - Products, Sales & Sellers avatar

TikTok Shop Scraper - Products, Sales & Sellers

Pricing

from $16.00 / 1,000 tiktok shop products

Go to Apify Store
TikTok Shop Scraper - Products, Sales & Sellers

TikTok Shop Scraper - Products, Sales & Sellers

Scrape US TikTok Shop products, prices, sold counts, ratings, SKU stock and sellers by keyword, product URL or store URL for commerce research.

Pricing

from $16.00 / 1,000 tiktok shop products

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Find public US TikTok Shop products by keyword, collect a seller's catalog, or enrich known product URLs with prices, displayed sold counts, ratings, sellers, and SKU stock. Data is retrieved through ScrapeCreators using the owner's private provider credential; customers do not supply an API key.

Product research and competitor tracking

Use keyword search to discover products and sellers in a niche, seller mode to monitor a known shop, and product mode to retrieve detailed variants. Export the default dataset as JSON, CSV, Excel, or through the Apify API. Run repeated snapshots through a schedule to compare prices and source-reported counts over time.

This Actor supports US TikTok Shop only. It does not retrieve private orders, buyer identities, authenticated seller dashboards, verified revenue, daily sales, commissions, or historical sales. soldCount is a displayed product count, not an audited transaction total. Multiplying today's price by a sold count cannot establish revenue. SKU stock is a current source-reported snapshot and may change.

Choose an input mode

FieldDefaultMeaning
modesearchsearch, products, or seller
queriesmakeup brush if omitted1–20 keyword strings, each 1–100 characters; search only
productUrlsNone1–20 public product URLs; products only
sellerUrlsNone1–20 public store URLs; seller only
maxItems20Maximum distinct products across sources; 1–500
maxPages1Maximum search/catalog pages per source; 1–20
maxRequests30Maximum provider attempts including enrichment and retries; 1–100
timeoutSecs300Scraping deadline; 30–600 seconds
enrichProductsfalseAdd product-detail requests for search/catalog results
sortBytopCatalog ordering: top or new_releases
regionUSOther regions are rejected

Keyword search preserves the provider’s ranking and may return loosely related recommendations, even for a nonsense query; it is not an exact-match filter. A nonexistent or region-unavailable product is reported as NOT_FOUND with zero product records. Supply only the source field corresponding to the chosen mode. Omitted search keywords use the default; an explicitly empty source list is rejected. Shortened links, TikTok user profiles, plain seller names, and arbitrary external URLs are unsupported. Duplicate input sources and product IDs are deduplicated. Verified Apify free-plan runs deliver at most five products. Paid runs retain the requested cap, subject to the event budget and operational bounds.

Search products by keyword

{"mode":"search","queries":["makeup brush"],"maxItems":20,"maxPages":1}

Monitor a seller catalog

{"mode":"seller","sellerUrls":["https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079"],"maxItems":10,"maxPages":1,"sortBy":"top"}

Get product details and SKU stock

{"mode":"products","productUrls":["https://www.tiktok.com/shop/pdp/maange-professional-makeup-brushes-kit/1732268112597913939"],"maxItems":1}

Paste an example into the Apify Console input editor, or POST it to https://api.apify.com/v2/acts/muhammadafzal~tiktok-shop-scraper/runs with your own Apify authorization header. After the run completes, retrieve defaultDatasetId and defaultKeyValueStoreId from the run response. If using an Apify agent integration, select this Actor for public US shop product data and pass the same input object; check SUMMARY before interpreting an empty dataset.

Output fields

Each dataset row is one unique product. Catalog metadata is repeated on its products to make CSV exports useful; do not sum seller-wide counts across rows.

FieldsSource meaning
productId, title, productUrlPublic product identity and page
price, originalPrice, currencyCurrent starting price and source-reported list price
soldCount, soldCountTextNumeric and textual displayed sold counts when supplied
rating, reviewCountProduct rating and review count
imageUrlsPublic product images; CDN URLs may expire
skusDetail variants: skuId, stock, price, originalPrice, currency, options
sellerId, sellerName, sellerUrlSeller identity and public store
sellerRating, sellerLocationAvailable shop rating and seller location
sellerSoldCount, sellerProductCount, sellerFollowersCountAvailable shop-wide metadata, especially in catalog mode
region, source, inputSource, inputMode, scrapedAtCoverage, provenance and collection timestamp

Unavailable values are null; unavailable arrays are empty. A missing sold count is never replaced with zero. Rounded counts such as 1.2K+ are not converted into fabricated exact counts. The Actor accepts both flattened and wrapped detail responses currently encountered from the provider. Product IDs remain strings to preserve their precision.

A representative captured search record contains product 1732268112597913939, title beginning MAANGE Professional Makeup Brushes Kit, currency USD, price 11.99, displayed sold count 2708, and rating 4.8. These are a historical probe snapshot, not a promise of current availability or price. The complete record schema is defined in .actor/dataset_schema.json.

Pricing

The Actor is prepared for all-in Pay per event: one synthetic run-start event and one primary default-dataset-item event per delivered product, including enriched products. It never manually charges either synthetic event or adds a second enrichment charge. The proposed tier table is below. Live pricing awaits owner approval and billing verification.

EventFREEBRONZE (2.5% off)SILVER (5% off)GOLD (20% off)
Run start$0.0125$0.0121875$0.011875$0.0100
Delivered product$0.0200$0.0195$0.0190$0.0160

At the proposed FREE prices, one product costs $0.0325, 20 products cost $0.4125, and 100 products cost $2.0125. No separate enrichment event is charged. Owner-run platform usage and the separately billed provider credits are measured independently; provider invoice costs are not established by Apify run usage. Platform-usage pass-through remains disabled.

Empty results and failed retrievals produce no product events. A configured synthetic start fee still applies to a started run, including unsuccessful runs. maxTotalChargeUsd controls event charges; maxRequests, maxPages, maxItems, and the scraping deadline independently bound work. A provider request may return more records than the remaining result limit; only the permitted products are delivered and charged.

Reliability and diagnostics

ScrapeCreators is the explicitly selected data source. Public direct probes returned a TikTok security check or invalid-product response, so this Actor does not attempt to solve CAPTCHAs or use customer cookies. Provider requests run sequentially with a 45-second timeout, bounded retries, exponential backoff, and jitter. Seller pagination uses the response cursor; keyword pagination uses page numbers. To bound low-value work, the Actor stops after five consecutive provider attempts without a delivered product. This circuit breaker can end a list containing many empty sources; NO_VALUE_REQUEST_LIMIT is reported explicitly. It also stops on empty pages, repeated cursors, no new product identities, source exhaustion, or any configured limit. It does not promise a complete catalog beyond those limits.

Valid partial results are preserved. Optional enrichment failure retains validated listing data and records a warning. Credential errors and exhausted provider credits stop the run promptly. Systemic provider denial or rate limits stop further spending. Run diagnostics belong in the SUMMARY key-value record, never in the product dataset. Review its status, delivered count, requests, provider credit consumption, warnings, stop reason, and result event count. Source schema changes or provider failures are distinguished from a healthy no-match response; a successful container alone does not prove that data was returned.

Migration/abort signals stop pending requests, and dataset identities are loaded on a resumed run to prevent duplicate writes. Local storage is not uploaded and cannot prove cloud billing behavior.

Owner setup, development and support

The owner must configure SCRAPECREATORS_API_KEY as a private Actor-version secret. Keep keys out of customer input, source files, logs, examples, and public metadata. Development commands are npm ci, npm test, npm run check, and a bounded apify run --purge. scripts/configure-secret.py transfers only the current owner's configured credential via stdin, withholding the API response.

Use collected public commerce data for legitimate research and follow the source platform and provider terms. Respect applicable data-protection requirements. This Actor is independent of TikTok and makes no affiliation claim. Report reproducible problems with the run ID, mode, redacted input and SUMMARY record; never include API keys. Private deployment and test evidence are recorded in evidence/; publication and branding remain the owner's actions.