# Changelog of Google Trends Scraper - Keywords, Regions & Rising Queries (`groupoject/trendpulse-keyword-monitor`) Actor

- **URL**: https://apify.com/groupoject/trendpulse-keyword-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/groupoject/trendpulse-keyword-monitor.md

## Changelog

### 1.2.0

- Made real no-key HTTP extraction the default; removed automatic sample-data fallback.
- Added persistent cookie warming and sticky proxy sessions to prevent Google Trends 429 responses.
- Added complete interest-over-time timelines and interest-by-region results.
- Fixed related-query and related-topic widget detection for Google's current payload format.
- Added Web, News, YouTube, Image, and Shopping trend surfaces plus hour-to-2004 time ranges.
- Failed and empty keyword requests are no longer written as billable dataset results.
- Repositioned the Store listing as a full Google Trends Scraper and API.

All notable changes to **TrendPulse Keyword Monitor** are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

### \[1.1.0] — 2026-06-13

#### Added

- **SerpApi-backed provider** (`fetchMode: "serpapi"`, **now the default**). Brings your own free SerpApi key (100 searches/month free). Eliminates the Google proxy/captcha fight entirely.
- **Apify-scraper provider** (`fetchMode: "apify-scraper"`). Calls Apify's official `apify/google-trends-scraper` Actor as a backend. Requires Apify Starter+ plan.
- **Browser fallback provider** (`fetchMode: "browser"` / `"auto"`). Playwright Chromium with passive XHR capture, configurable navigation timeout and warm-up dwell.
- New input fields: `fetchMode`, `serpApiKey` (secret), `browserNavigationTimeoutMs`, `browserWarmupMs`.
- Credential-safe proxy diagnostics logged at start of every run.
- Per-run debug artifacts (HTML + screenshot) dumped to the default key-value store on browser-navigation failures.
- End-to-end cloud test harness — `scripts/cloud-test*.sh` + `scripts/validate-output.js` for CLI-driven Apify Cloud validation without opening the Console.
- 16 new tests (38 total) covering all fetch modes, fallback paths, proxy diagnostic credential safety, and SerpApi provider construction.

#### Changed

- Default fetch mode is now `serpapi` (was a direct Google Trends scrape that's largely blocked in practice).
- `Dockerfile` switched to `apify/actor-node-playwright-chrome:20` so browser mode works out of the box.
- All string input fields now have explicit `editor` annotations per Apify schema validation rules.

#### Removed

- Default Apify-proxy auto-configuration in `main.ts` — proxy is now strictly opt-in via the input, fixing local 407 errors when Apify proxy credentials are unavailable.

### \[1.0.0] — 2026-06-07

#### Added

- Initial public release.
- Bulk keyword analysis (array + textarea + comma-separated input).
- Google Trends provider with retry/backoff, proxy support, and per-keyword isolation.
- Mock provider for debug runs.
- TrendPulse composite scoring algorithm (growth, momentum, related demand, breakout, confidence, volatility penalty).
- Trend status classification (breakout / rising / stable / declining / volatile / insufficient\_data).
- Deterministic content-angle and recommended-action generation.
- Dataset output + SUMMARY / TOP\_RISING\_KEYWORDS / TOP\_DECLINING\_KEYWORDS / RUN\_METADATA / ERRORS key-value outputs.
- Apify input schema, dataset schema, output schema, and Store-ready README + listing copy.
- Vitest test suite for normalization, scoring, classification, and summary generation.
