TikTok Shop Scraper: Products, Prices, Sales avatar

TikTok Shop Scraper: Products, Prices, Sales

Pricing

from $1.80 / 1,000 result records

Go to Apify Store
TikTok Shop Scraper: Products, Prices, Sales

TikTok Shop Scraper: Products, Prices, Sales

TikTok Shop scraper using a real browser: collects public seller stores, product prices and sold counts from store, product and keyword pages. No login. License: personal use only; resale and redistribution prohibited. Created with the help of artificial intelligence.

Pricing

from $1.80 / 1,000 result records

Rating

0.0

(0)

Developer

Bon Plein Capital

Bon Plein Capital

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

TikTok Shop Scraper: Products, Prices & Sales Counts (Playwright)

TikTok Shop scraper that opens public TikTok Shop pages in a real Chromium browser (Playwright) and returns clean, structured records: product titles, prices, units sold, ratings and seller details. Because pages are rendered the way a visitor sees them, it handles dynamic content and lazy-loaded product lists that simple HTTP scrapers miss. Paste a seller store URL, a product URL or a keyword, and download the results as JSON, CSV or Excel, or call the Actor from the Apify API. It needs no login and no TikTok account.

What can this Actor do?

  • Scrape a TikTok Shop seller store: shop name, seller ID, the public units sold counter and the number of product links found on the rendered page.
  • Scrape product listings of a store or keyword page: the browser scrolls and clicks "load more" (pagination), then reads each product card for title, price, units sold and rating, with several selector strategies so that a small markup change does not break the run.
  • Scrape a TikTok Shop product page: title, price, currency, rating, review count, image and description, from the page markup, the embedded JSON and the JSON the page loads.
  • Search by keyword in a market (US, UK, Indonesia, Malaysia, Philippines, Singapore, Thailand, Vietnam).
  • Track sales counters and prices over time: each record has a scrapedAt timestamp, so you can schedule runs and compare them.
  • Fields that TikTok does not show publicly are returned as null, never invented.

How to use it

  1. Click Try for free and open the Input tab.
  2. Add one or more TikTok Shop URLs, or keywords (or keep the prefilled store URL to see an example).
  3. Set the pagination depth (scrollRounds) and the maximum number of results, then click Start.
  4. Download the results from the Output tab, or call the Actor from the API, Make, Zapier or n8n.

If TikTok answers 403 or 429, or serves an empty page, the Actor retries once through Apify Proxy, then falls back to a plain read of the page, then skips it: you are not charged for pages that give no record. It does not log in, does not open private accounts and does not try to bypass captchas: a page that asks for a captcha is skipped.

Technical improvements (v0.2)

  • Playwright and Chromium render each page like a visitor, instead of fragile raw HTTP reads.
  • Pagination: infinite scroll plus "load more" clicks, stopping when no new products appear.
  • Several selector strategies for product cards, combined with embedded JSON, JSON-LD and the JSON the page loads.
  • Proxy handling: a direct read first, then one retry through Apify Proxy on 403/429, empty shells or timeouts.
  • Reliable fields: price, currency, units sold and rating are parsed from cards, product pages and JSON, and set to null when absent. Records are deduplicated by URL.
  • Time budget so that runs end well inside the daily 5-minute test; captcha pages are skipped, never bypassed.

Input

{
"startUrls": [
{ "url": "https://shop.tiktok.com/us/store/kiki-jewelrry/8652028833300779170" }
],
"keywords": ["neck massager"],
"country": "us",
"followLinks": true,
"scrollRounds": 6,
"maxItems": 20
}
  • startUrls: seller store, product (/pdp/) or keyword (/k/) pages of TikTok Shop.
  • keywords: optional list; each keyword is turned into the public keyword page of the chosen country.
  • followLinks: also open product pages when price or sales count is missing from the listing card.
  • scrollRounds: how many times the browser scrolls / clicks "load more" to paginate (0 to 30).
  • maxItems: hard limit on the number of results (and on your bill).

Output

Each result is one dataset item. Example:

{
"type": "seller",
"url": "https://shop.tiktok.com/us/store/kiki-jewelrry/8652028833300779170",
"productId": null,
"title": "KiKi Jewelrry",
"price": null,
"currency": null,
"soldCount": 3853,
"rating": null,
"reviewCount": null,
"sellerName": "KiKi Jewelrry",
"sellerId": "8652028833300779170",
"imageUrl": null,
"description": "Shop KiKi Jewelrry on TikTok Shop! 3853 sold, Join the trend!",
"productLinksFound": 0,
"country": "US",
"scrapedAt": "2026-10-15T10:26:35+00:00"
}

How much does it cost?

This Actor uses pay per event pricing: you pay a small amount for each result record, and nothing for pages that could not be read. So 1,000 results cost the price of 1,000 result events shown in the Pricing tab, plus the usual Apify compute units for the browser. Apify's free plan gives you monthly credits to try the Actor before you pay. Use maxItems to cap spending.

FAQ

The Actor only reads public pages, like a browser would, and collects no private data. You are responsible for using the results lawfully and respecting TikTok's terms. Seller names are business names, but if your data contains personal data of individuals, the GDPR applies to you: have a lawful basis and keep only what you need.

Why a browser instead of plain requests?

TikTok Shop builds many pages with JavaScript and loads product lists while you scroll. A browser sees what a visitor sees, so listings, prices and sales counters are far more reliable than with raw HTTP requests.

Why are some fields empty?

TikTok shows different information to anonymous visitors depending on the market and the page. Missing fields are returned as null.

Can I get reviews, followers or private analytics?

No. Only what is visible on public pages without logging in is collected.

What if something does not work?

Open an issue in the Issues tab with your input and the run link. Issues are answered as fast as possible.

Can I use it through the API?

Yes. Every run can be started and read through the Apify API and its Python and JavaScript clients.


Created with the help of artificial intelligence.