# Changelog of Wellfound Startup Job Scraper — Equity Ranges & Job Alerts (`blackfalcondata/wellfound-scraper`) Actor

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

## Changelog

### Unreleased

- Fixed: in incremental mode, a run that stopped at Max Results no longer marks the new or changed jobs it did not deliver as already seen. Before, those jobs were skipped as unchanged on the next run and never delivered; now each new job is delivered exactly once across runs, at most Max Results per run. No change to output fields or pricing.
- Fixed: a search phrase that lists several job titles, such as `head of program management operations chief of staff`, is now searched on the Wellfound category of each title it names (Chief of Staff) and on the categories of the fields it mentions (Operations, Program Manager). It used to be treated as one long title, which matched nothing. No change to output fields or pricing.
- Fixed: a job title with a specialty in front of it, such as `Windows Server infrastructure systems administrator`, is now searched on the title's own Wellfound category (Systems Administrator), keeping jobs whose title names the role and whose title or description mentions every specialty word. It used to fall back to a general feed, which found nothing. No change to output fields or pricing.
- Fixed: a city Wellfound has no page for, such as `Chennai, India`, is now searched on its country's page, keeping only jobs listed in that city. Before, the search was skipped and the run returned nothing. The status says which page was searched. No change to output fields or pricing.
- Changed: a run that found jobs but kept none, and stopped at Max Pages with more result pages left, now says how many pages it left unread. Wellfound does not list jobs newest first, so with Max Age a larger Max Pages can find jobs that pass. No change to output fields or pricing.
- Fixed: a job title followed by a specialty, such as `solutions architect identity`, is
  now searched on the title's own Wellfound category (Solutions Architect), keeping jobs
  whose title carries every word. It used to fall back to a general feed, which found
  nothing. A run whose search words removed every job now says so in its status instead
  of ending with a blank status. No change to output fields or pricing.
- Fixed: a `toDate` given as a plain date such as `2026-09-25` now includes jobs posted during that whole day. Before, jobs posted on the end date were dropped, and `fromDate` equal to `toDate` returned nothing. No change to output fields or pricing.
- Changed: a run whose maximum cost per run covers fewer results than requested now stops at what that limit pays for, instead of fetching rows it could not keep and ending as aborted.

### 0.1.175 — 2026-09-30

- Fixed: a job title that has no Wellfound category of its own, such as `head of growth`,
  is now searched on the categories of its field (for example Growth Manager and Growth
  Marketer), keeping jobs whose title carries every word. It used to fall back to a
  general feed, which found nothing. No change to output fields or pricing.

### 0.1.174 — 2026-09-29

- Fixed: a two-word search of fields such as `python backend intern` now searches the
  Wellfound job category for each word (for example Python Developer and Backend
  Engineer), keeping jobs whose title carries that word. It used to require both words
  in one title, which found nothing. No change to output fields or pricing.

### 0.1.173 — 2026-09-28

- Fixed: a search phrase that lists several fields instead of naming one job title —
  `finance tax accounting`, `growth business development founders office` — now searches
  the Wellfound job category for each field and word pair it contains (for example
  Finance), keeping jobs whose title carries that field. It used to require every word
  in one title, which found nothing. Job titles such as `venture capital associate` or
  `video editor` are searched exactly as before. No change to output fields or pricing.

### 0.1.171 — 2026-09-28

- Fixed: a search phrase that is only a job type — `intern`, `internship`, `full time`,
  `contract`, `co-founder` — is now used as the Job Type filter across every job
  category in each of your locations. It used to be searched as a job title, which
  found nothing. A Job Type you set yourself still takes precedence. No change to
  output fields or pricing.

### 0.1.170 — 2026-09-27

- Improved: when a search finds jobs but your filters remove all of them (for example
  a Max Age window shorter than the newest matching posting), the run's status message
  now says how many jobs were found and which filters removed them, instead of ending
  with no explanation. No change to results or pricing.

### 0.1.x — 2026-09-16

- New: company badges on every job — `companyStage` and `companyFundingStage`
  (Early, Growth, Scale or Public Stage), `companyBadges`, `companyActivelyHiring`,
  `companyGrowingFast`, `companyTopInvestors`, `companyYcFunded`,
  `companyValuation` ($500M+ / $1B+), `companyResponseRate`, `companyResponseTime`,
  `companyBusinessType` (B2B/B2C), employee ratings (`companyRatingOverall`,
  `companyRatingLeadership`, `companyRatingWorkLifeBalance`) and `companySizeLabel`.
- Fixed: salaries in rupees (including lakh "L" and crore "Cr"), euros, pounds and
  other currencies were left out of `salaryMin` / `salaryMax`. They are now parsed,
  `salaryCurrency` says which currency, and `hasEquity` says whether equity is offered.
- Fixed: Enrich from Detail Pages returned empty fields. It now adds salary currency
  and period, company website, industry, office address and coordinates, skills,
  benefits and apply type from each job's page.
- Fixed: the radius filter kept every job. Setting a radius now opens each job's page
  for its coordinates, keeps jobs within the radius, and leaves out jobs whose page
  gives no location. The origin can be one of ~110 startup hubs or typed coordinates.
- New: Only These Companies and Exclude Companies filters.
- New: Find Company Emails (`enrichEmails`) reads each company's own website for
  contact emails (`companyEmails`) and its LinkedIn and X profiles.
- Improved: searches finish faster and more reliably.

### 0.1.x — 2026-09-15

- Fixed: a run with a filter (Max Age, From Date, Include Keywords, Job Type and
  the like) and a small Max Results could finish with no results even though
  matching jobs existed. Max Results was counted before the filters, so only the
  first few jobs found were checked. It now counts jobs that pass your filters,
  and the search continues (up to Max Pages) until it has enough.
- Fixed: a location written with its country or state, or under another common
  name ("Bangalore, India", "New York, NY", "London, UK", "Bengaluru", "Gurugram",
  "USA"), was skipped as having no job page. The actor now tries the spelling
  Wellfound uses and tells you which place it searched.
- Fixed: "Remote" as a location was skipped; it now searches remote jobs.
- Improved: a search phrase that is not in the built-in role list (for example
  "SDET", "Chief of Staff", "Project Manager", "React Native") now searches that
  role's own Wellfound page when there is one, instead of only matching job titles.

### 0.1.x — 2026-09-13

- Fixed: a location Wellfound has no job page for (for example "Canada") returned
  worldwide jobs mixed into the results of your other locations. That location is
  now skipped with a message naming it and suggesting cities to use instead, and
  the rest of the run continues. A run where every location is skipped ends
  successfully with no results and the same message.

### 0.1.x — 2026-08-27

- Fixed: pasted Wellfound role URLs were refused as unrecognised input. The actor
  accepted only 12 role categories, so links such as
  `/role/l/machine-learning-engineer/bangalore`, `/role/r/ios-engineer` or
  `/role/l/ai-engineer/prague` were rejected before the run started, even though
  each is a real Wellfound page. Those links now run.
- Fixed: typing a job title in Roles now uses the matching Wellfound role page
  for 30 further titles (engineering, data, design, marketing and recruiting),
  instead of falling back to a plain keyword search.
- Added: when a role has no Wellfound listings page, that one search is skipped
  with a message naming it, and the rest of the run continues. Previously a
  single such entry could end the whole run.

### 0.1.x — 2026-04-26

**Notifications:**

- Added: WhatsApp (Meta Cloud API) — free-form messages within 24h service-conversation window
- Added: Generic JSON webhook (`webhookUrl` + optional `webhookHeaders`) — universal hook for n8n / Make / Zapier / custom HTTP backends
- Notification destinations now: Telegram + Discord + Slack + WhatsApp + Webhook = **5 channels**
- All 5 channels fire in parallel via `Promise.allSettled`; failure on one does not affect others

### 0.1.x — 2026-04-14

- Added: `descriptionHtml`, `descriptionMarkdown` output fields (triple-format descriptions for RAG/LLM pipelines)
- Added: `contentHash` output field (SHA-256 hash of content-identifying fields)

### 0.1.x — 2026-04-14

- Added: cross-run repost detection (`isRepost`, `repostOfId`, `repostDetectedAt`)
- Added: `skipReposts` input to exclude detected reposts from output

### 1.0.0 — 2026-03-31

Initial release. Scrapes Wellfound job listings by role with full descriptions, compensation, and optional salary enrichment from detail pages.
