Guard every search page request against the unique-code limit; maxItems 10 needs only one 40-card page even when details fail.
Count encoded response bodies before decompression, including chunked/partial responses, with separate decompressed counters and limits.
Enforce the product host in-flight cap (default two), keep starts at least one second apart, and permanently lower concurrency to one on any product-host 429. Search keeps its ten-second minimum.
2.0.0 — 2026-10-14
Added attempt/request info logs, separate connection failure counters by host, startup phase timings, first-save timing, and an end-of-run summary.
Save identifier results per search page and details in groups of up to ten with Actor.pushData(array, 'product'), preserving dedupe, maxItems, and SDK billing limits.
Added clean stops 15 seconds before ACTOR_TIMEOUT_AT, including pacing, backoff, and in-flight timeouts; flush pending usable results before saving OUTPUT.
Keep search-host starts at least ten seconds apart.
1.0.0 — 2026-10-14
Implemented ESM Apify Actor for keyword/product discovery and public JSON-LD detail data.