- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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
- Added:
descriptionHtml, descriptionMarkdown output fields (triple-format descriptions for RAG/LLM pipelines)
- Added:
contentHash output field (SHA-256 hash of content-identifying fields)
- Added: cross-run repost detection (
isRepost, repostOfId, repostDetectedAt)
- Added:
skipReposts input to exclude detected reposts from output
Initial release. Scrapes Wellfound job listings by role with full descriptions, compensation, and optional salary enrichment from detail pages.