# Changelog of Apna.co Job Scraper \[Just 💰$0.72] — India Job Listings (`blackfalcondata/apna-co-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/apna-co-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/apna-co-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### \[0.1.2] — 2026-11-02

#### Added

- Filters: `cities`, `categories`, `jobTypes`, `educationLevels`, `shifts` and `dateWithinDays` (posted within N days), plus `browseAll` to browse the whole job feed. City names match apna's alternative spellings (Bangalore/Bengaluru, Gurgaon/Gurugram, Mumbai/Bombay and more).
- `emitBaseline` (incremental mode): turn it off to make the first run only record what exists, so later runs return only new or changed jobs.
- New output fields `genderPreference`, `callAccepted` and `whatsappAccepted`.

#### Fixed

- Incremental runs no longer mark jobs as expired when apna repeats a result page while still offering more; such a run keeps reading the remaining pages and leaves earlier jobs active.
- A run that has handed its search over to a newer run no longer sends app exports or notifications for it.
- Browse mode works: tick Browse All Jobs, or set a city or filter without a search term.
- The location filter no longer stops paging when a page has no matching job.
- Incremental runs keep looking for new jobs past unchanged ones.
- A failed search is reported instead of ending as a silent empty run.
- Repost detection now works (`contentHash` is filled), so `skipReposts` can suppress reposted jobs.
- Long incremental runs keep their lock.
- With `emitBaseline` off, the first run now records every existing job, so the next run no longer reports already-existing jobs as new.
- A job that drops out of the `dateWithinDays` window but is still listed on apna.co is no longer reported as expired.
- When a search comes back empty in incremental mode, previously seen jobs are now correctly marked as expired.
- Very long searches (such as browsing the whole job feed) are now read to the end, so unlimited runs and first baseline runs see every job.
- If another run takes over the same search, this run checks before every delivery and stops at once, so you never get duplicates or pay twice for a contact email.
- With `emitExpired` and a result limit, expired jobs that did not fit this run are delivered on a later run instead of being lost.

### \[0.1.1] — 2026-10-31

#### Added

- Optional employer contact-email enrichment (`enrichEmails`, off by default): finds the employer's own website and reads its public contact pages; adds `contactEmail`, `contactEmails`, `contactWebsite`, `emailEnrichment`. Billed per contact email found, never for misses.

### \[0.1.0] — 2026-10-31

Initial release.

#### Added

- Search jobs by keyword, city, apna.co job/search/role URLs, or a lat/lon/radius around a point.
- Scrape jobs from apna.co.
