# Changelog of Ecosia Search Scraper (`searchapi/ecosia-search-scraper`) Actor

- **URL**: https://apify.com/searchapi/ecosia-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/searchapi/ecosia-search-scraper.md

## Changelog

### 2.1.0

- Added a plain-HTTPS transport that reads the structured payload Ecosia embeds in its server-rendered SERP (`#vike_pageContext` → `data.results.mainline`) and normalizes it with `retrievalMethod: ecosia_serp_json`; the Chrome DOM path stays as the fallback (`live_chrome_dom`).
- `retrievalMethod` is now carried through the canonical record instead of being hard-coded, and the dataset schema accepts both values.
- Proxied runs still use the browser transport so a configured proxy is never bypassed.
- Search URL now uses the current public form `https://www.ecosia.org/search?q=` instead of the legacy `?method=index&q=`.
- No public Ecosia JSON search API exists (`api.ecosia.org` returns 404 for every search-shaped route), so no API transport was added.

### 2.0.0

- Added stable IDs, source aliases, position fields, query context, market context, and retrieval provenance.
- Added a versioned Actor manifest, input schema, dataset schema, views, sample output, and dataset audit.
- Updated the Playwright Chrome runtime and kept pagination bounded by the existing input controls.
