# Wellfound Scraper (`automly/wellfound-scraper`) Actor

Scrape startup jobs from Wellfound (formerly AngelList Talent) by role and location: title, salary, equity, remote policy, experience, visa, skills, posted date and full description, with the company's size, stage, industries, funding and founders.

- **URL**: https://apify.com/automly/wellfound-scraper.md
- **Developed by:** [Automly](https://apify.com/automly) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 jobs

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Wellfound Scraper - Startup Jobs, Salaries & Equity

### What is Wellfound Scraper?

**Wellfound Scraper** is a tool that lets you **scrape startup jobs from Wellfound (formerly AngelList Talent)**: job title, salary range and currency, equity range, remote policy, locations, job type, years of experience, visa sponsorship, skills, posting date and the full description, plus **the hiring company on every row**: name, logo, one-liner, size, stage, industries, website, funding rounds, founders and more. Add a role and a location or any Wellfound search link, click **Start**, and download the jobs as Excel, CSV or JSON.

- ⚡ **Fast:** 2,000 jobs in under 15 seconds, 500 jobs with full details in under a minute (our tests)
- 🔍 **More jobs per search:** finds up to 40% more jobs than a single Wellfound search shows
- 💰 **Salary and equity as numbers:** ready to sort and filter, in the right currency
- 🔓 **No login:** no Wellfound account needed
- 💸 **Free to try:** the $5 of free usage every Apify account gets each month covers about 5,000 jobs

### What can Wellfound Scraper do?

- **Scrape Wellfound jobs by role**, like `Software Engineer`, `Product Manager` or `Data Scientist`
- **Scrape Wellfound jobs by location**: any city, state or country, or **remote startup jobs**
- **Scrape any Wellfound search link** you already use: role pages, role in a city, remote roles, all jobs in a place
- **Scrape single Wellfound job postings** from their links
- **Get startup salary and equity data** as numbers, with the currency
- **Find startups that sponsor visas**, allow relocation or hire remotely in your country
- **Build startup lead lists**: company size, stage, industries, website, total funding raised, funding rounds and founders
- **Filter Wellfound jobs** by remote only, job type (full-time, contract, internship, co-founder) and posting date
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

### What data can you extract from Wellfound?

| | | |
|---|---|---|
| 💼 Job title and role | 💰 Salary range, currency and period | 📈 Equity range |
| 📍 Locations | 🏠 Remote policy and remote hiring countries | 🕒 Job type |
| 🎓 Years of experience | 🛂 Visa sponsorship | ✈️ Relocation |
| 🧰 Skills | 🌍 Preferred time zones | 📅 Posting date |
| 📝 Full job description | 🏢 Company name, logo and one-liner | 👥 Company size and stage |
| 🏷️ Industries and badges | 💵 Total raised and funding rounds | 🧑‍💼 Founders and team background |

### How to scrape Wellfound jobs

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open **Wellfound Scraper**.
3. Type one or more roles and locations, or paste Wellfound search or job links, one per line.
4. Set how many jobs you want, and turn on **Include job details** if you need visa sponsorship, skills and the company's funding and founders.
5. Click **Start**, then download the jobs as Excel, CSV, JSON or HTML.

### How much does it cost to scrape Wellfound jobs?

You pay per job saved. A job without details (the default) costs less than a job with **Include job details** on:

| Apify plan | Jobs per 1,000 | Jobs with full details per 1,000 |
|---|---|---|
| Free | $1.00 | $2.00 |
| Starter (Bronze) | $0.90 | $1.80 |
| Scale (Silver) | $0.80 | $1.60 |
| Business (Gold) and higher | $0.70 | $1.40 |

Platform usage is included in these prices, so you pay nothing else for the run.

Example: 1,000 jobs cost $1.00 on the Free plan and $0.70 on Business. The same 1,000 jobs with full details cost $2.00 on the Free plan.

Every Apify account gets **$5 of free usage each month**, enough for about 5,000 jobs. See the **Pricing** tab for details.

### ⬇️ Input

| Setting | What it does |
|---|---|
| **Wellfound links** | Any mix of search links (`https://wellfound.com/role/software-engineer`, `https://wellfound.com/role/l/software-engineer/san-francisco`, `https://wellfound.com/role/r/product-manager`, `https://wellfound.com/remote`, `https://wellfound.com/location/new-york`) and job links (`https://wellfound.com/jobs/4787364-software-engineer`) |
| **Roles** | Roles to search, as Wellfound names them: `Software Engineer`, `Product Manager`, `Account Executive` |
| **Locations** | Cities, states or countries (`San Francisco`, `London`, `India`), or `Remote`. Each role is searched in each location |
| **Max jobs** | How many jobs to save in total (default 100). Set 0 for all of them |
| **Include job details** | Adds visa sponsorship, relocation, skills, time zones, the salary period and the company's industries, website, funding, founders and other open jobs |
| **Find more jobs per company** | On by default: for a role searched everywhere, also looks in the largest startup hubs and remote to find more of each company's jobs |
| **Remote jobs only**, **Job types**, **Posted within (days)** | Keep only the jobs you want |
| **Connection settings** | The default works for most runs |

Software engineer jobs in San Francisco and remote:

```json
{
  "roles": ["Software Engineer"],
  "locations": ["San Francisco", "Remote"],
  "maxJobs": 500
}
```

Every product manager job, with visa, skills and company funding:

```json
{
  "roles": ["Product Manager"],
  "maxJobs": 0,
  "includeDetails": true
}
```

Remote internships posted in the last 7 days, from a search link:

```json
{
  "startUrls": ["https://wellfound.com/remote"],
  "jobTypes": ["internship"],
  "postedWithinDays": 7
}
```

### ⬆️ Output

Every job is one row, with the hiring company inside it. A job with **Include job details** on (description shortened):

```json
{
  "id": "4766659",
  "url": "https://wellfound.com/jobs/4766659-senior-software-engineer",
  "title": "Senior Software Engineer",
  "role": "Software Engineer",
  "jobType": "full-time",
  "locations": ["San Francisco"],
  "remotePolicy": null,
  "remote": false,
  "remoteLocations": [],
  "salaryText": "$220k – $285k",
  "salaryMin": 220000,
  "salaryMax": 285000,
  "salaryCurrency": "USD",
  "salaryPeriod": "year",
  "equityText": null,
  "equityMinPercent": null,
  "equityMaxPercent": null,
  "experienceMinYears": null,
  "experienceMaxYears": null,
  "visaSponsorship": false,
  "relocation": false,
  "skills": [],
  "timezones": [],
  "postedAt": "2026-09-25T11:40:59Z",
  "description": "About the role\n\nFresh off a $15M Series A led by Accel...",
  "company": {
    "id": "8975809",
    "name": "Agave API",
    "slug": "agave-api",
    "url": "https://wellfound.com/company/agave-api",
    "logo": "https://photos.wellfound.com/startups/i/8975809-f5a0e955b727f464139fce4f861b53ec-medium_jpg.jpg?buster=1657053965",
    "oneLiner": "Field and finance, finally in sync",
    "size": "11-50",
    "stage": "Early Stage",
    "badges": ["Top 10% of responders", "Responds within a few days", "Early Stage", "Top Investors", "YC Funded"],
    "markets": ["Developer APIs", "Software"],
    "companyType": "Software",
    "locations": ["San Francisco"],
    "website": "https://agaveapi.com",
    "totalRaised": 3000000,
    "totalRaisedText": "$3M",
    "fundingRounds": [{"round": "Seed", "amount": 3000000, "date": "2023-08-01"}],
    "founders": [{"name": "John Zucchi", "title": "Founder", "location": null, "url": null}],
    "employeesJoinedFrom": [],
    "otherJobs": [
      {"id": "4689979", "title": "Marketing Lead", "url": "https://wellfound.com/jobs/4689979-marketing-lead"}
    ]
  },
  "detailsIncluded": true,
  "source": "https://wellfound.com/role/l/software-engineer/san-francisco",
  "scrapedAt": "2026-10-02T07:05:02Z"
}
```

Without job details, every row still has the title, role, job type, locations, remote setting, salary and equity, experience, posting date, full description and the company's name, logo, one-liner, size, stage and badges; the detail fields are empty and `detailsIncluded` is `false`.

The **Jobs** tab shows every job with its company, place and pay; **Salary & requirements** puts the numbers side by side; **Companies** lists each job's company with its industries, website and funding. The run report shows, per search, how many jobs Wellfound lists and how many were saved.

### Which fields come with job details?

| Field | Without details | With details |
|---|---|---|
| Title, role, job type, locations, salary, equity, experience, posting date, description | ✅ | ✅ |
| Company name, logo, one-liner, size, stage, badges | ✅ | ✅ |
| Visa sponsorship, relocation, skills, time zones, salary period | | ✅ |
| Company industries, headquarters, website, total raised, funding rounds, founders, team background, other open jobs | | ✅ |

### How can I use Wellfound data?

- **Job search:** find startup jobs with the salary, equity and visa sponsorship you want, in one sheet
- **Salary benchmarking:** compare startup pay and equity by role, city, company stage and size
- **Recruiting and sales leads:** list startups that are hiring, with their funding, founders and website
- **Market research:** track which startups and industries are hiring, and for which roles
- **Job boards and newsletters:** feed fresh startup jobs into your own site or alerts

### How many jobs can I get?

Each Wellfound search shows up to 3 matching jobs per company. **Find more jobs per company** (on by default) also searches a role in the largest startup hubs and remote, which in our tests found about 40% more jobs for a role (3,257 software engineer jobs instead of 2,333). Searching more locations finds more still. A job that shows up in several searches is saved once.

### Scrape more jobs and startup data

| Actor | What it gets |
|---|---|
| [LinkedIn Jobs Scraper](https://apify.com/automly/linkedin-jobs-scraper) | LinkedIn job listings with salaries, company info and descriptions |
| [HiringCafe Jobs Scraper](https://apify.com/automly/hiringcafe-jobs-scraper) | HiringCafe jobs with salary ranges, experience, skills and apply links |
| [LinkedIn Company Employees Scraper + Emails (No Login)](https://apify.com/automly/linkedin-company-employees-scraper) | A company's employees from LinkedIn, filtered by job title |
| [LinkedIn Profile Scraper + Email Finder (No Login)](https://apify.com/automly/linkedin-profile-scraper) | LinkedIn profiles with headline, company, experience and education |
| [Product Hunt Launches Scraper](https://apify.com/automly/product-hunt-launches-scraper) | Product Hunt launches with upvotes, comments and makers |

### ❓FAQ

#### How much does it cost to scrape Wellfound?

$1.00 per 1,000 jobs, or $2.00 per 1,000 jobs with full details, on the Free plan, less on paid plans. See the **How much does it cost to scrape Wellfound jobs?** section above. **Max jobs** keeps the cost of a run under control, and you can also set a maximum cost per run.

#### How many Wellfound jobs can I scrape?

Wellfound shows up to 3 matching jobs per company in a search. With **Find more jobs per company** on (the default), our test found 3,257 software engineer jobs instead of 2,333. Searching more locations finds more still.

#### Can I get the company's details?

Yes. Every row carries the hiring company's name, logo, one-liner, size, stage and badges. Turn on **Include job details** to add its industries, headquarters, website, total funding raised, funding rounds, founders, where the team worked before, and up to 3 more of its open jobs. Company page links are not supported as inputs; search by role or location instead.

#### Do I need a Wellfound account?

No. The scraper gets the same public job listings anyone can see without signing in. You don't need a Wellfound account, cookies or an API key.

#### What happens with a removed job or a wrong role name?

The run goes on with the other inputs, and the run report lists the jobs, roles and locations that do not exist on Wellfound. A job listed in a search whose own page was taken down is still saved with the details from the search.

#### Can I call it as an API?

Yes. Run it through the Apify API from any language, or use its real-time API (`/jobs?role=...&location=...`), which answers with the jobs directly without starting a run.

#### Can I connect Wellfound Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at [mcp.apify.com](https://mcp.apify.com).

#### Is it legal to scrape Wellfound?

This scraper only collects public job listings that anyone can see on Wellfound without signing in. Founder names are personal data, which may be protected by laws such as GDPR, so only collect them for a legitimate reason and ask a lawyer if you are unsure. You can read more in [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

Wellfound Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Wellfound or AngelList.

#### Something isn't working?

Open an issue in the **Issues** tab with your input and what you expected. We read every one and usually reply within a day.

### ⭐ Your feedback

Have an idea or found a problem? Tell us in the **Issues** tab. If Wellfound Scraper saved you time, a short review on the **Reviews** tab helps other people find it.

# Actor input Schema

## `startUrls` (type: `array`):

Paste Wellfound job search links or job links, one per line: a role (wellfound.com/role/software-engineer), a role in a place (wellfound.com/role/l/software-engineer/san-francisco), a remote role (wellfound.com/role/r/product-manager), all remote jobs (wellfound.com/remote), all jobs in a place (wellfound.com/location/new-york) or one job (wellfound.com/jobs/4787364-software-engineer).

## `roles` (type: `array`):

Or type roles to search, as Wellfound names them: Software Engineer, Product Manager, Data Scientist, Designer, Account Executive. Each role is searched in every location below, or everywhere when no location is given.

## `locations` (type: `array`):

Cities, states or countries to search in (San Francisco, New York, London, India, United States), or Remote for remote jobs. Without roles, lists every job in each place.

## `maxJobs` (type: `integer`):

Set how many jobs to save in total. 0 saves every job found.

## `includeDetails` (type: `boolean`):

Open each job's own page to add visa sponsorship, relocation, skills, time zones, the exact posting date and salary period, and the company's industries, website, funding rounds, founders and other open jobs. Slower, and charged as a detailed job.

## `moreJobsPerCompany` (type: `boolean`):

Wellfound lists at most 3 jobs per company in a search. For a role searched everywhere, also search it in the largest startup hubs and remote to find more of each company's jobs (about 40% more jobs).

## `remoteOnly` (type: `boolean`):

Keep only jobs that can be done remotely.

## `jobTypes` (type: `array`):

Keep only these job types. Leave empty for all.

## `postedWithinDays` (type: `integer`):

Keep only jobs posted or reposted in the last N days. 0 keeps all.

## `proxyConfiguration` (type: `object`):

The default works for Wellfound.

## Actor input object example

```json
{
  "startUrls": [
    "https://wellfound.com/role/l/software-engineer/san-francisco"
  ],
  "maxJobs": 50,
  "includeDetails": false,
  "moreJobsPerCompany": true,
  "remoteOnly": false,
  "postedWithinDays": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `jobs` (type: `string`):

No description

## `companies` (type: `string`):

No description

## `results` (type: `string`):

No description

## `report` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://wellfound.com/role/l/software-engineer/san-francisco"
    ],
    "maxJobs": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/wellfound-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://wellfound.com/role/l/software-engineer/san-francisco"],
    "maxJobs": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/wellfound-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://wellfound.com/role/l/software-engineer/san-francisco"
  ],
  "maxJobs": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automly/wellfound-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automly/wellfound-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/NAg87d6F30G0LorA6/builds/Yds6w5LwCMBs4JtUr/openapi.json
