# Changelog of Kickstarter Campaign Scraper (`khadinakbar/kickstarter-campaign-scraper`) Actor

- **URL**: https://apify.com/khadinakbar/kickstarter-campaign-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/khadinakbar/kickstarter-campaign-scraper.md

## Changelog

### 1.9.3 - 2026-07-26

- Bound the automated quality-test prefill to one non-enriched Discover result so it completes comfortably inside Apify's five-minute test window.
- Stop new crawler work one minute before the Actor deadline and flush partial dataset, `OUTPUT`, and `RUN_SUMMARY` records instead of being hard-killed after charging for useful rows.

### 1.9 — 2026-07-15

- Canonicalize and deduplicate equivalent public project URLs before validation, so repeated URLs with query parameters are fetched once instead of being rejected.

### 1.8 — 2026-07-15

- Reduce the detail-enriched default result cap from 20 to 5 so the exact prefill fits the five-minute automated health-test window; users can still explicitly request 1–100 records.

### 1.7 — 2026-07-15

- Pin residential traffic to the United States and increase retry attempts to five so a transient blocked session is retired and replaced before a Discover request fails.

### 1.6 — 2026-07-14

- Retry and rotate the proxy session when a Discover page has loaded without campaign cards, instead of accepting an intermittent empty document.

### 1.5 — 2026-07-14

- Detail-first discovery now queues only the capped public campaign URLs instead of persisting incomplete Discover cards.
- Extract conservative public pledge, goal, backer, and state values from campaign-page text; Discover cards no longer mislabel a creator line as a campaign blurb.

### 1.4 — 2026-07-14

- Wait briefly for Discover cards to render and record compact page diagnostics when the target response has no parseable campaign cards.
- Treat an unparseable Discover response as `UPSTREAM_FAILED`, preventing false empty-success results.

### 1.3 — 2026-07-14

- Correct PPE reporting to count only `campaign-scraped` events, not synthetic dataset events.
- Fall back to public Discover-card links when the page does not expose campaign JSON, and use `domcontentloaded` navigation to avoid waiting on unrelated page assets.

### 1.2 — 2026-07-14

- Add Playwright as a production dependency so the cloud runtime can launch the browser crawler.

### 1.1 — 2026-07-14

- Pin the Docker work directory so the Playwright image copies the compiled `dist` directory reliably.

### 1.0 — 2026-07-14

- Initial private build: public Kickstarter campaign discovery and direct-URL extraction with validated output, PPE billing, and terminal outcome records.
