Wellfound Scraper
Pricing
$2.40 / 1,000 results
Wellfound Scraper
Scrape public Wellfound startup jobs, compensation, company details, and remote-work signals. Export structured jobs, source URLs, IDs, and available details to CSV, JSON, or Excel for startup hiring and compensation research.
Pricing
$2.40 / 1,000 results
Rating
0.0
(0)
Developer
MLG Data
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share
Scrape Wellfound startup jobs, compensation, company details, and remote-work signals from public pages and export Wellfound data to CSV, JSON, or Excel. This Wellfound API alternative turns repeatable inputs into structured jobs for startup hiring and compensation research.
Each dataset row represents a public job or a documented alternate record type. The output includes source identifiers and links where available, so you can verify a row, compare later runs, and distinguish missing source data from an omitted column.
What data can you extract from Wellfound?
The dataset schema defines every field below. Examples come from one successful published run; null means that field was not exposed for that particular record. Availability may differ by input mode, page, and record type.
| Field | Description | Example |
|---|---|---|
id | Stable job listing identifier. | 4716782 |
title | Job title. | Software Engineer |
slug | Job URL slug. | software-engineer |
portalUrl | Public listing URL. | https://wellfound.com/jobs/4716782-software-engineer |
detailUrl | Public listing detail URL. | https://wellfound.com/jobs/4716782-software-engineer |
applyUrl | Listing page where applications begin. | https://wellfound.com/jobs/4716782-software-engineer |
description | Full description in source text format. | `# Software Engineer |
We hire software engineers across levels under a sin…
| || HTML description when detail enrichment is enabled. |null| || Compensation text shown in search results. |$120k – $200k • 0.01% – 0.15%| || Parsed lower salary amount. |120000| || Parsed upper salary amount. |200000| || Salary currency code. |USD| || Salary period from detail page. |null| || Lower equity percentage as displayed. |0.01%| || Upper equity percentage as displayed. |0.15%| || Whether an equity range is shown. |true| || Employment type. |full-time| || Listing start time in UTC. |2026-09-15T00:00:52Z| || Listed job locations. |["Austin"]| || Whether the listing is remote. |false| || Minimum years of experience. |null| || Maximum years of experience. |null| || Primary role category. |Software Engineer| || Whether the listing was posted automatically. |false| || Company identifier. |7775773| || Company profile slug. |boom-app| || Company display name. |Boom| || Company logo URL. |https://photos.wellfound.com/startups/i/7775773-7da277439bd0fe013aeb48dc55d8e…` |
| companyTagline | Company headline. | Modern rental financial services for property managers and renters |
| companySize | Company size category. | SIZE_11_50 |
| companySizeLabel | Readable company size range. | 11-50 |
| companyBadges | Public company badges. | ["Actively Hiring","B2C","Early Stage","Growing fast"] |
| companyWebsite | Company website from detail page. | null |
| industry | Industry from detail page. | null |
| directApply | Whether the listing permits direct application. | null |
| jobAddressLocality | First listed locality from detail page. | null |
| jobAddressRegion | First listed region from detail page. | null |
| jobAddressCountry | First listed country from detail page. | null |
| latitude | First listed latitude from detail page. | null |
| longitude | First listed longitude from detail page. | null |
| matchedSearch | Search page that returned the job. | https://wellfound.com/role/software-engineer |
| source | Source site identifier. | wellfound |
| scrapedAt | UTC time when the job was collected. | 2026-09-26T10:09:19.025786Z |
| atsSource | Source integration reported for the listing. | AtsIntegration::Ashby::Listing |
| remoteKind | Remote arrangement reported by the listing. | null |
| wfhFlexible | Whether flexible home working is reported. | null |
| acceptedRemoteLocationNames | Locations where remote applicants are accepted. | [] |
| companyStage | Company stage code from a public badge. | early_stage |
| companyFundingStage | Readable company stage from a public badge. | Early Stage |
| companyBusinessType | Public business type badge. | B2C |
| companyActivelyHiring | Whether the active hiring badge is shown. | true |
| companyGrowingFast | Whether the growing badge is shown. | true |
| companyTopInvestors | Whether the investor badge is shown. | false |
Use the identifier and URL fields as your join keys before comparing snapshots. Fields that describe a page, search, category, author, or tournament establish where the record came from; keep them when you export a subset. Numeric values and boolean flags reflect the public page at collection time, not a permanent claim about the underlying item.
How to scrape Wellfound
- Open the actor input form and choose a narrow public source: a search phrase, page URL, item URL, or ID supported by the input fields below.
- Set the relevant per-source page or result limit and the total item limit. Start with a small sample to check which optional fields the public source exposes.
- Run the actor. Its dataset contains one structured row per saved result; inspect the first rows and their source links for the chosen input.
- Download the dataset as JSON, CSV, or Excel. Preserve identifiers when combining runs so repeated results can be deduplicated.
For this actor, role slugs, a text query, or exact search URLs can seed searches. Search pages and detail pages carry different attributes, so enrichDetail adds requests and may improve descriptions or company information.
Input
Use only the parameters relevant to your collection mode. An omitted optional filter uses the schema default shown here; an empty array, zero, and an omitted value can have different meanings, so keep intentional settings in your saved input.
| Parameter | Type | Default | Description |
| --- | --- | --- |
| query | string | No default; example software engineer | Role name such as software engineer or product designer. Recognized roles open a category; other phrases filter listing titles within the closest role. |
| roles | array | None | Optional role slugs, such as software-engineer or product-manager. Multiple roles are combined and deduplicated. |
| location | array | None | Optional location slugs such as new-york or berlin. Each role and location pair is searched. |
| remote | boolean | false | Use public remote role pages. When enabled, location slugs are ignored. |
| searchUrls | array | None | Optional public Wellfound role search URLs. When present, these replace role and location inputs. |
| maxResults | integer | 100 | Stop after this many unique matching jobs. Set to 0 for no result cap. |
| maxPages | integer | 10 | Maximum number of public result pages to visit for each role search. |
| jobType | string | None | Keep only listings with this employment type. |
| salaryMin | integer | 0 | Keep jobs whose listed salary maximum meets this amount. Jobs without a listed salary are excluded when set. |
| excludeLocations | array | None | Remove jobs whose location names contain any of these phrases. |
| enrichDetail | boolean | false | Fetch each job page for structured salary, company website, industry, address, and full HTML description. Slower and uses one extra request per job. |
| proxyConfiguration | object | {"useApifyProxy":true} | Connection settings for public pages. The default uses a datacenter connection and escalates after blocks. |
Example input based on the published golden run (long URL lists are shortened):
{"roles": ["software-engineer"],"maxResults": 40,"maxPages": 2}
Output example
The following is one real item from a successful published dataset. Long text and media arrays are shortened for readability; the actual dataset keeps the original values and all schema fields.
{"id": "4716782","title": "Software Engineer","slug": "software-engineer","portalUrl": "https://wellfound.com/jobs/4716782-software-engineer","detailUrl": "https://wellfound.com/jobs/4716782-software-engineer","applyUrl": "https://wellfound.com/jobs/4716782-software-engineer","description": "# **Software Engineer**\n\nWe hire software engineers across levels under a single posting. Title, compensation, and scope are set during the process based on demonstrated competency, so apply once a…","compensation": "$120k – $200k • 0.01% – 0.15%","jobType": "full-time","atsSource": "AtsIntegration::Ashby::Listing","postedAt": "2026-09-15T00:00:52Z","locationNames": ["Austin"],"remote": false,"acceptedRemoteLocationNames": [],"primaryRoleTitle": "Software Engineer","autoPosted": false,"companyId": "7775773","companySlug": "boom-app","companyName": "Boom","companyLogo": "https://photos.wellfound.com/startups/i/7775773-7da277439bd0fe013aeb48dc55d8e9a8-medium_jpg.jpg?buster=1737999549","companyTagline": "Modern rental financial services for property managers and renters","companySize": "SIZE_11_50","companySizeLabel": "11-50","companyBadges": ["Actively Hiring","B2C"],"companyStage": "early_stage","companyFundingStage": "Early Stage","companyBusinessType": "B2C","companyActivelyHiring": true,"companyGrowingFast": true,"companyTopInvestors": false,"matchedSearch": "https://wellfound.com/role/software-engineer","source": "wellfound","scrapedAt": "2026-09-26T10:09:19.025786Z","salaryMin": 120000,"salaryMax": 200000,"salaryCurrency": "USD","salaryEquityMin": "0.01%","salaryEquityMax": "0.15%","hasEquity": true}
Use cases
- Recruiters can discover startup roles matching a narrow job family and location.
- Compensation analysts can compare public salary and equity ranges for comparable roles.
- Investors can track which portfolio-relevant startups are visibly hiring.
- Job seekers can build a shortlist using role, company stage, remote signal, and apply URL.
How much does it cost to scrape Wellfound?
The price is $2.40 per 1,000 saved results. Platform usage is included. The charge scales with output rows, so a restrictive filter or inaccessible page can produce fewer billable results than the requested maximum.
- 100 jobs: $0.24. This is useful for checking a small cohort and confirming which optional fields are present.
- 1,000 jobs: $2.40. This is the reference price for a larger export.
- 5,000 jobs: $12.00. Reaching this size may require multiple focused sources or scheduled runs, depending on public inventory and source caps.
Compute any other estimate as saved result count × $2.40 / 1,000. A maximum input is a ceiling, not a purchase of that many rows. For planning, use the actual saved-item count from an initial representative run.
Tips for best results
Use exact role slugs or search URLs for reproducible searches. Restrict location, remote, jobType, and salaryMin to the cohort you intend to study; check compensation and parsed salary fields separately.
Limits
Some listings omit salary, equity, location, or employer metadata. Parsed salary ranges only appear when the source exposes enough information; remote flags do not establish legal work eligibility.
Public pages can change, disappear, or expose different fields for different records. The schema is a list of possible output columns, not a promise that each column is filled in each row. The maxItems-style input limits cap saved results; they do not bypass source pagination, public visibility, or a site-specific result ceiling.
Use with AI agents (MCP)
An agent can supply the documented input JSON, run this actor, and work from its dataset. Ask it to keep source links and identify null values explicitly when summarizing results. Example prompts:
Run Wellfound Scraper for the sample input above. Return the first 20 jobs with their source URLs and the fields needed for startup hiring and compensation research. Mark unavailable fields as null.
Schedule a repeat Wellfound collection with the same filters. Compare records by stable ID or canonical URL and report only new, removed, or changed public values.
FAQ
Is it legal to scrape Wellfound?
This actor collects public data. Check the site’s terms, applicable law, and the rights of people whose data appears in your export. Follow GDPR and other privacy rules where relevant; do not use personal data for misuse, intrusive profiling, or unauthorized contact.
Do I need to configure proxies?
The input includes proxyConfiguration and defaults to Apify Proxy. Usually the default is enough to start. Availability can vary by page and region; changing network settings cannot make private or login-only information public.
How fast will a run finish?
Duration depends on the number of inputs, pages, detail requests, and source responses. A small sample is the best way to measure your workload. Increase the limits gradually, then use the observed run duration for scheduling and monitoring.
Can I schedule and monitor recurring runs?
Yes. Save the input and schedule recurring runs in Apify. Monitor run status, item count, and any missing-field changes; store the run date alongside exports when comparing snapshots.
Can I export to Google Sheets or Excel?
Yes. Download CSV or Excel from the dataset, or pass JSON to a spreadsheet integration. For nested fields, flatten the specific child values you need rather than losing the original JSON.
What if a field is empty?
An empty or null field means it was not available from that public source record in that run. Check the source URL, input mode, and record type. Do not replace missing prices, counts, dates, or flags with zero unless your own analysis has a documented rule for doing so.
Does the actor apply to jobs?
No. It exports public listing and apply URLs; application steps remain on the employer or Wellfound site.
Integrations
Use the Apify API to start runs and retrieve the dataset, webhooks to react when a run finishes, or Zapier, Make, and n8n to route records into other systems. Google Sheets supports lightweight review, while scheduled runs provide repeat snapshots. Keep the raw JSON when downstream workflows need nested fields or exact null values.
Support
Open an issue on the Issues tab; we reply within 24h and add fields on request.