# Changelog of Google Jobs Search Scraper (`jobsapi/google-jobs-search-scraper`) Actor

- **URL**: https://apify.com/jobsapi/google-jobs-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/jobsapi/google-jobs-search-scraper.md

## Changelog

All notable changes to the Google Jobs Scraper are documented here.

### \[1.1.0] - 2026-06-27

#### Fixed

- **Consent wall**: Added warmup page approach - loads `google.com/webhp` first to establish session and dismiss consent before searching.
- **Consent dismissal**: Rewrote with multi-strategy approach (button clicks, continue links, SOCS cookie injection, page reload).
- **Session persistence**: Integrated cookies server (`apify.w3crawler.com`) for session fetch, save, success/failure reporting.
- **CAPTCHA detection**: Improved `sorry/` page detection with clear error messaging.
- **Dataset schema**: Added `nullable: true`, descriptions, examples, and 4 standard dataset views (Overview, Lead Generation, Analytics, Export).
- **Browser launch**: Removed `channel: 'chrome'` to use bundled Chromium for Docker compatibility.

#### Added

- **Debug mode** (`debugMode`): Saves screenshot, HTML snapshot, and console logs when enabled.
- **Account ID** (`accountId`): Input field to pin a specific cookies server session.
- **SOCS cookie generation**: Dynamic timestamp-based SOCS value to avoid stale cookies.
- **Environment variables**: `SESSION_API_BASE`, `SESSION_API_USER`, `SESSION_API_PASS` in actor.json.

#### Changed

- Warmup page loaded first (`google.com/webhp`) before search URL to mitigate consent wall.
- Pre-navigation hooks streamlined - removed stale hardcoded SOCS value, dynamically generated.
- README updated with session management docs and improved troubleshooting.

### \[1.0.0] - 2025-05-20

#### Added

- Initial production release of the Google Jobs Scraper.
- `CheerioCrawler`-based architecture using GOOGLE\_SERP proxy group with `ibp=htl;jobs` parameter.
- Modular project structure following the Brave Apify actor pattern:
  - `src/main.js` - entry point with input validation, proxy setup, and crawler init.
  - `src/routes.js` - Crawlee router factory.
  - `src/routes/handlers.js` - page handler with job listing extraction and pagination.
  - `src/extractors/` - job title, company, location, salary, and posted date extraction.
  - `src/filters/index.js` - deduplication utilities.
  - `src/schema/input.js` - input validation (query, location, maxItems, gl, hl).
  - `src/utils/index.js` - `buildJobsUrl` and shared helpers.
  - `src/errors/` - `ScraperError`, `ErrorTypes`, `ErrorHandler`.
- `.actor/actor.json`, `input_schema.json`, `dataset_schema.json` for Apify platform compatibility.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` for Apify platform deployment.
- `README.md` with full Apify usage guide.
