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.
- 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.
- 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.
- 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".
- $4.99 per 1,000 results plus $0.005 per run.