# Changelog of TikTok Shop Scraper: Products, Reviews, Sellers & Keyword Rank (`sourabhbgp/tiktok-shop-scraper`) Actor

- **URL**: https://apify.com/sourabhbgp/tiktok-shop-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/sourabhbgp/tiktok-shop-scraper.md

## Changelog

### 0.0.1 (2026-09-03)

First working build. Replaces an unpublished 660-LOC Playwright skeleton from 2026-05-11 that
only read product pages and did not match the architecture the research settled on.

Scoped to **seller-side monitoring** rather than dropshipper product discovery.

#### Modes

- **products**: bulk lookup by product URL or id, batched 50 at a time.
- **seller**: full shop catalogue, cursor-paged to the end.
- **reviews**: review text, photos, verified and incentivised flags, plus the 1 to 5 star histogram.
- **search**: keyword results with rank position and a relevance score.
- **category**: category listings, US and UK.

#### Billing correctness

- Keyword results are scored against the keyword and dropped before charging. A nonsense keyword
  bills zero result events.
- Run-level dedup runs before charging, so the same product under two inputs bills once. Keyword
  dedup is case-insensitive.
- `maxItems` is exact under concurrency: the budget slot is reserved before the first await.
- Charging is gated on pay-per-event actually being live, so a local run delivers rows instead of
  silently dropping them all.
- Unresolvable product ids and a run that reaches your cost cap are both reported, not hidden.

#### Reliability

- Datacenter proxy first, country-matched residential on failure. UK goes straight to residential.
- Empty-200, zero-byte 200 and empty result sets are treated as refusals, which is what they are on
  this target, and trigger session rotation rather than being reported as no data.
- A run where every request was refused fails loudly instead of reporting "nothing matched".

#### Pricing

- $4.99 per 1,000 results plus $0.005 per run.
