Find companies actively hiring across Indeed, LinkedIn Jobs, and Glassdoor. Extract job titles, salaries, locations, and company names. Auto-deduplication by company. Companies posting jobs = companies with budget = your best leads. $3 per 1,000 results.
San Francisco, CA 94105 (Financial District) — trailing US zip codes
("CA 94105") and parenthetical neighborhood notes broke state detection.
Now strips zip + (...) before chunking; correctly returns
state=CA, country=US, isUsListing=true.
Remote in San Francisco Bay Area, CA — leading "Remote in " /
"Hybrid in " / "WFH in " prefixes leaked into the city field.
Now stripped before chunking; correctly returns
city="San Francisco Bay Area", state=CA, isRemoteListing=true.
Remote in United States — country in non-last chunk wasn't matched.
Now scans all chunks for known country names; correctly returns
country=US, isUsListing=true, isRemoteListing=true.
Coverage on first live run jumped from 45/65 (69%) → 60+/65 (90%+) for
isUsListing + pay_transparency_state fields.
[1.1] — 2026-05-23 — Sales prospecting overhaul
Added — 12 new feature layers (no cost increase)
The actor was rebranded from a generic multi-source job aggregator into a
B2B sales prospecting tool. Same $3/1K price; per-job value goes up
significantly.
Industry-specific outreach pitches — 8 templates × 3 tone variants
(consultative / aggressive / referral) per company. Written to
TOP_HIRING_COMPANIES.outreachPitchVariants for A/B testing.
One-click outreach links per company:
LinkedIn company page
LinkedIn jobs at company
LinkedIn hiring-manager search
LinkedIn role-owner search (filtered by job category — engineering
manager / cmo / cfo / head of design / ...)
Google careers search
Careers-page guess (company.com/careers)
mailto with auto-pasted pitch
Added — cross-source dedup
Jobs are fingerprinted by company + title + city so the same listing
appearing on Indeed AND LinkedIn is collapsed into one record. The
record gets a sources_seen[] array — appearing on 2+ boards is itself
a strong leadScore signal (= active multi-channel hiring effort).
When the same job appears on multiple boards, fields are merged smartly:
Salary from whichever source disclosed it (Indeed often empty, LinkedIn
often has it)
Description from whichever source returned the longer text
Added — server-side filters
For sharper, sales-ready datasets:
minLeadScore — drop jobs below score threshold
onlyWithSalary — keep only jobs with disclosed comp
onlyRemote — keep only fully-remote listings
onlyFreshThisWeek — keep only jobs posted in last 7 days
onlyPayTransparencyCompliant — pay-transparency state + disclosed
salary (HR-tech audit use case)
Added — multi-format export
default — full JSON (40+ fields per job)
csv — flat 35-column CSV row ready for HubSpot/Salesforce/Pipedrive
TOP_HIRING_COMPANIES — top 20 sorted by job count, with sources_active,
max_leadScore, categories, top_skills, avg_salary_usd,
outreachPitch, outreachPitchVariants (3 tones), outreachLinks.
TOP_JOBS — top 20 sorted by leadScore (sales-ops job-level digest).
Changed — Glassdoor moved to opt-in
Glassdoor sits behind Cloudflare; Thunderbit can't reach it reliably.
Default sources are now ["indeed", "linkedin"]. Add "glassdoor" to
sources if you want to try it (transient failures expected — won't
break the run, just logs a warning).
Compatibility
Original 9 core fields preserved (Job Title / Company Name / Location /
Salary / Job Type / Description / Posted Date / Company Rating / Job URL),
but normalized to camelCase keys (jobTitle / companyName / ...). The
source field is preserved.