# 🚀 Wellfound Jobs Scraper (`scraply/wellfound-jobs-scraper`) Actor

Scrape job listings from Wellfound (formerly AngelList Talent) at scale. Search by location, company, keyword, or paste raw URLs.

- **URL**: https://apify.com/scraply/wellfound-jobs-scraper.md
- **Developed by:** [Scraply](https://apify.com/scraply) (community)
- **Categories:** Automation, Lead generation, Social media
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🚀 Wellfound Jobs Scraper

Extract **real‑time job listings** from [Wellfound](https://wellfound.com) (formerly **AngelList Talent**) at scale — straight into a structured Apify dataset.

Search by **location**, **company**, **keyword**, or paste **bulk Wellfound URLs**. Each job is enriched with title, company, salary range, employment type, posting date, location, and the full job description.

---

### 🌟 Why Choose This Actor?

| ✅ | What you get |
|----|--------------|
| 🛡️ | **Smart anti-bot fallback** — starts with no proxy, automatically escalates to **Datacenter → Residential** when Wellfound's protections kick in |
| 💾 | **Live dataset writes** — each job is pushed the moment it's parsed, so a long run never loses progress |
| 🌍 | **70+ country geo-targeting** for residential proxy sessions |
| 🧭 | **Two ways to search** — bulk URLs *or* friendly filters (location / keyword / company) |
| 🎛️ | **Filters out the noise** — by date posted, job type, or company match |
| 📝 | **Full job descriptions** — opens each detail page and grabs the complete description |
| 📊 | **Beautiful Console table** — overview and full-detail views, ready to export |

---

### ⚡ Key Features

- 🔗 **Bulk URL input** via `startUrls` — paste up to thousands of Wellfound URLs
- 📍 **Search-by-filter** when you don't have URLs: `locationName`, `companyName`, `includeKeyword`
- 📄 **Multi-page pagination** with automatic lazy-scroll handling
- 📅 **Date filter:** today / past 3 days / past week / past month / all
- 💼 **Job-type filter:** Full-time / Part-time / Contract / Internship / any
- 🌐 **UTM-tagged URLs** ready for click attribution
- 🛡️ **Tiered proxy fallback** with sticky residential sessions
- 💳 **Pay-per-event monetization** — you pay only for results that actually land in your dataset

---

### 📥 Input

All fields are optional individually, but you must provide **at least one** of: `startUrls`, `locationName`, `companyName`, or `includeKeyword`.

```json
{
  "startUrls": [
    { "url": "https://wellfound.com/jobs?location=new-york" }
  ],
  "countryName": "United States",
  "locationName": "New York",
  "companyName": "",
  "includeKeyword": "python engineer",
  "pagesToFetch": 5,
  "jobType": "FULLTIME",
  "datePosted": "week",
  "fetchDescriptions": true,
  "requestDelay": 1.0,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

#### Field reference

| Field | Type | Description |
|-------|------|-------------|
| `startUrls` | array | Bulk Wellfound URLs (search pages **or** job-detail pages). |
| `countryName` | string | ISO 3166-1 country name (dropdown in the console) for residential proxy geo-targeting. |
| `locationName` | string | City/region built into the search URL (e.g. `San Francisco`). |
| `companyName` | string | Filters cards by company name (loose match). |
| `includeKeyword` | string | Extra search term — role, skill, technology, etc. |
| `pagesToFetch` | integer | Result pages to walk per seed URL (1–100). |
| `jobType` | enum | `FULLTIME`, `PARTTIME`, `CONTRACTOR`, `INTERN`, or empty. |
| `datePosted` | enum | `today`, `3days`, `week`, `month`, `all`. |
| `fetchDescriptions` | boolean | Open each detail page for the full description (slower, richer). |
| `requestDelay` | number | Seconds (float). Random jitter is layered in code. |
| `proxyConfiguration` | object | Apify proxy config. Default = no proxy; auto-escalates on block. |

***

### 📤 Output

Each dataset row has this shape:

```json
{
  "job_title": "Founding Product Manager",
  "company_name": "Sardine",
  "location": "San Francisco",
  "posted_via": "Wellfound",
  "salary": "150K–185K a year",
  "job_type": "Contract",
  "date": "today",
  "URL": "https://wellfound.com/jobs/4235686-founding-product-manager?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic",
  "description": "We are starting an office in San Francisco …"
}
```

| Field | Description |
|-------|-------------|
| `job_title` | The role title as shown on the card. |
| `company_name` | Hiring company. |
| `location` | Comma-joined locations, or "Remote" for remote roles. |
| `posted_via` | Always `Wellfound`. |
| `salary` | Normalized range, e.g. `150K–185K a year`. |
| `job_type` | `Full-time`, `Part-time`, `Contract`, `Internship`, or empty. |
| `date` | Relative posting date (e.g. `today`, `yesterday`, `3 days ago`). |
| `URL` | Direct link to the job with UTM tracking appended. |
| `description` | Full description (when `fetchDescriptions=true`). |

The dataset ships with two ready-made views:

- **📋 Overview** — title, company, salary, job type, date, location, link
- **📝 Full Details** — adds the description column

***

### 🚀 How to Use (Apify Console)

1. Sign in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **Wellfound Jobs Scraper**.
3. Configure your input:
   - Paste URLs in **`startUrls`**, **or** fill in **Location / Keyword / Company**.
   - Optionally set `pagesToFetch`, `jobType`, `datePosted`.
   - Leave **Proxy** on the default — the actor escalates automatically only if needed.
4. Click **▶ Start**.
5. Watch the live log — each job appears in real time:
   ```
   ✅ [12] Founding Product Manager @ Sardine | 150K–185K a year | San Francisco
   ```
6. Open the **Output** tab when the run finishes — switch between the **Overview** and **Full Details** views.
7. Export to **JSON / CSV / Excel** with one click.

***

### 🤖 Use via API

Start a run with `curl` (replace `<ACTOR_ID>` and `$APIFY_TOKEN`):

```bash
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "locationName": "New York",
       "pagesToFetch": 3,
       "datePosted": "week"
     }'
```

Or kick off an async run and poll for status:

```bash
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"startUrls":[{"url":"https://wellfound.com/jobs?location=san-francisco"}]}'
```

***

### 💡 Best Use Cases

- 📊 **Job-market intel** — track hiring velocity by city, role, or company
- 🧲 **Sourcing & lead-gen** — build candidate or recruiter contact lists
- 📈 **Salary benchmarking** — collect comp ranges across companies
- 🧪 **Competitor monitoring** — see who's hiring for what at which stage
- 🤖 **Train AI agents** — feed structured, fresh job text to LLMs

***

### 💰 Pricing

This actor uses Apify's **Pay-per-event (PPE)** model:

| Event | What you pay for |
|-------|------------------|
| **`row_result`** | Each job record successfully written to the dataset |

You're billed **only for jobs that actually land in your output** — blocked pages, retries, and skipped duplicates are on us.

Set your **Max charge $ limit** in the run options to control your spend precisely. When you hit the cap, the actor exits gracefully with a partial dataset — never a failed run.

***

### ❓ Frequently Asked Questions

**Q: Do I need to configure a proxy?**
No. The actor starts with a direct connection. Only if Wellfound's anti-bot protection rejects a request does it escalate — first to a datacenter proxy, then to a residential session. You'll see the escalation logged.

**Q: Why are some `description` fields empty?**
You either turned off `fetchDescriptions` or the detail page was blocked during that specific request. Re-running with `fetchDescriptions=true` and the default proxy settings usually fills these in.

**Q: Can I scrape a single job by URL?**
Yes. Put the detail URL (e.g. `https://wellfound.com/jobs/4235686-founding-product-manager`) into `startUrls` and the actor will fetch it directly.

**Q: How current is the data?**
It's pulled live every run. Wellfound's `date` field uses relative phrasing ("today", "3 days ago") — we preserve that exact text in the `date` column.

**Q: Does this scrape private/authenticated content?**
No. Only **publicly available** job postings are collected.

***

### 📜 Cautions / Legal

- Data is collected only from **publicly visible** Wellfound pages.
- The end user is responsible for compliance with **GDPR**, **CCPA**, **CAN-SPAM**, and Wellfound's Terms of Service.
- Honor reasonable rate limits — the default `requestDelay` of 1s is intentionally polite.

***

### 🛟 Support and Feedback

Issues, ideas, or feature requests? Open an issue or contact us via the Apify Console. We respond fast and ship fixes regularly.

# Actor input Schema

## `countryName` (type: `string`):

ISO 3166-1 country name used to geo-target residential proxy traffic when fallback proxies are required. Pick the country where exit nodes should appear.

## `locationName` (type: `string`):

City or region to search in (e.g. New York, San Francisco, Remote). Used to build the Wellfound search URL when no startUrls are provided.

## `companyName` (type: `string`):

Filter results to a specific company. The scraper performs a Wellfound keyword search and keeps only cards whose company name loosely matches this value.

## `includeKeyword` (type: `string`):

Extra search term — role title, skill, technology, etc. Combined with location to refine the search (e.g. "python engineer").

## `pagesToFetch` (type: `integer`):

Number of result-listing pages to open per starting URL. Each page contains ~25 jobs.

## `jobType` (type: `string`):

Filter by employment type. Leave as "any" to include all types.

## `datePosted` (type: `string`):

How recently the job was posted.

## `fetchDescriptions` (type: `boolean`):

Open each job detail page to capture the full job description. Slower but produces richer output.

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

Optional. Turn on Apify or custom proxies here; leave off to start with no proxy.

## Actor input object example

```json
{
  "countryName": "United States",
  "locationName": "",
  "companyName": "",
  "includeKeyword": "",
  "pagesToFetch": 1,
  "jobType": "",
  "datePosted": "all",
  "fetchDescriptions": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraply/wellfound-jobs-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 = { "proxyConfiguration": { "useApifyProxy": False } }

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

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

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

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scraply/wellfound-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scraply/wellfound-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🚀 Wellfound Jobs Scraper",
        "description": "Scrape job listings from Wellfound (formerly AngelList Talent) at scale. Search by location, company, keyword, or paste raw URLs.",
        "version": "0.1",
        "x-build-id": "iIx3vBUgzNXHR1MH4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraply~wellfound-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraply-wellfound-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scraply~wellfound-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraply-wellfound-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scraply~wellfound-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraply-wellfound-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "countryName": {
                        "title": "🌍 Country",
                        "enum": [
                            "Afghanistan",
                            "Albania",
                            "Algeria",
                            "American Samoa",
                            "Andorra",
                            "Angola",
                            "Anguilla",
                            "Antarctica",
                            "Antigua and Barbuda",
                            "Argentina",
                            "Armenia",
                            "Aruba",
                            "Australia",
                            "Austria",
                            "Azerbaijan",
                            "Bahamas",
                            "Bahrain",
                            "Bangladesh",
                            "Barbados",
                            "Belarus",
                            "Belgium",
                            "Belize",
                            "Benin",
                            "Bermuda",
                            "Bhutan",
                            "Bolivia, Plurinational State of",
                            "Bonaire, Sint Eustatius and Saba",
                            "Bosnia and Herzegovina",
                            "Botswana",
                            "Bouvet Island",
                            "Brazil",
                            "British Indian Ocean Territory",
                            "Brunei Darussalam",
                            "Bulgaria",
                            "Burkina Faso",
                            "Burundi",
                            "Cabo Verde",
                            "Cambodia",
                            "Cameroon",
                            "Canada",
                            "Cayman Islands",
                            "Central African Republic",
                            "Chad",
                            "Chile",
                            "China",
                            "Christmas Island",
                            "Cocos (Keeling) Islands",
                            "Colombia",
                            "Comoros",
                            "Congo",
                            "Congo, The Democratic Republic of the",
                            "Cook Islands",
                            "Costa Rica",
                            "Croatia",
                            "Cuba",
                            "Curaçao",
                            "Cyprus",
                            "Czechia",
                            "Côte d'Ivoire",
                            "Denmark",
                            "Djibouti",
                            "Dominica",
                            "Dominican Republic",
                            "Ecuador",
                            "Egypt",
                            "El Salvador",
                            "Equatorial Guinea",
                            "Eritrea",
                            "Estonia",
                            "Eswatini",
                            "Ethiopia",
                            "Falkland Islands (Malvinas)",
                            "Faroe Islands",
                            "Fiji",
                            "Finland",
                            "France",
                            "French Guiana",
                            "French Polynesia",
                            "French Southern Territories",
                            "Gabon",
                            "Gambia",
                            "Georgia",
                            "Germany",
                            "Ghana",
                            "Gibraltar",
                            "Greece",
                            "Greenland",
                            "Grenada",
                            "Guadeloupe",
                            "Guam",
                            "Guatemala",
                            "Guernsey",
                            "Guinea",
                            "Guinea-Bissau",
                            "Guyana",
                            "Haiti",
                            "Heard Island and McDonald Islands",
                            "Holy See (Vatican City State)",
                            "Honduras",
                            "Hong Kong",
                            "Hungary",
                            "Iceland",
                            "India",
                            "Indonesia",
                            "Iran, Islamic Republic of",
                            "Iraq",
                            "Ireland",
                            "Isle of Man",
                            "Israel",
                            "Italy",
                            "Jamaica",
                            "Japan",
                            "Jersey",
                            "Jordan",
                            "Kazakhstan",
                            "Kenya",
                            "Kiribati",
                            "Korea, Democratic People's Republic of",
                            "Korea, Republic of",
                            "Kuwait",
                            "Kyrgyzstan",
                            "Lao People's Democratic Republic",
                            "Latvia",
                            "Lebanon",
                            "Lesotho",
                            "Liberia",
                            "Libya",
                            "Liechtenstein",
                            "Lithuania",
                            "Luxembourg",
                            "Macao",
                            "Madagascar",
                            "Malawi",
                            "Malaysia",
                            "Maldives",
                            "Mali",
                            "Malta",
                            "Marshall Islands",
                            "Martinique",
                            "Mauritania",
                            "Mauritius",
                            "Mayotte",
                            "Mexico",
                            "Micronesia, Federated States of",
                            "Moldova, Republic of",
                            "Monaco",
                            "Mongolia",
                            "Montenegro",
                            "Montserrat",
                            "Morocco",
                            "Mozambique",
                            "Myanmar",
                            "Namibia",
                            "Nauru",
                            "Nepal",
                            "Netherlands",
                            "New Caledonia",
                            "New Zealand",
                            "Nicaragua",
                            "Niger",
                            "Nigeria",
                            "Niue",
                            "Norfolk Island",
                            "North Macedonia",
                            "Northern Mariana Islands",
                            "Norway",
                            "Oman",
                            "Pakistan",
                            "Palau",
                            "Palestine, State of",
                            "Panama",
                            "Papua New Guinea",
                            "Paraguay",
                            "Peru",
                            "Philippines",
                            "Pitcairn",
                            "Poland",
                            "Portugal",
                            "Puerto Rico",
                            "Qatar",
                            "Romania",
                            "Russian Federation",
                            "Rwanda",
                            "Réunion",
                            "Saint Barthélemy",
                            "Saint Helena, Ascension and Tristan da Cunha",
                            "Saint Kitts and Nevis",
                            "Saint Lucia",
                            "Saint Martin (French part)",
                            "Saint Pierre and Miquelon",
                            "Saint Vincent and the Grenadines",
                            "Samoa",
                            "San Marino",
                            "Sao Tome and Principe",
                            "Saudi Arabia",
                            "Senegal",
                            "Serbia",
                            "Seychelles",
                            "Sierra Leone",
                            "Singapore",
                            "Sint Maarten (Dutch part)",
                            "Slovakia",
                            "Slovenia",
                            "Solomon Islands",
                            "Somalia",
                            "South Africa",
                            "South Georgia and the South Sandwich Islands",
                            "South Sudan",
                            "Spain",
                            "Sri Lanka",
                            "Sudan",
                            "Suriname",
                            "Svalbard and Jan Mayen",
                            "Sweden",
                            "Switzerland",
                            "Syrian Arab Republic",
                            "Taiwan, Province of China",
                            "Tajikistan",
                            "Tanzania, United Republic of",
                            "Thailand",
                            "Timor-Leste",
                            "Togo",
                            "Tokelau",
                            "Tonga",
                            "Trinidad and Tobago",
                            "Tunisia",
                            "Turkmenistan",
                            "Turks and Caicos Islands",
                            "Tuvalu",
                            "Türkiye",
                            "Uganda",
                            "Ukraine",
                            "United Arab Emirates",
                            "United Kingdom",
                            "United States",
                            "United States Minor Outlying Islands",
                            "Uruguay",
                            "Uzbekistan",
                            "Vanuatu",
                            "Venezuela, Bolivarian Republic of",
                            "Viet Nam",
                            "Virgin Islands, British",
                            "Virgin Islands, U.S.",
                            "Wallis and Futuna",
                            "Western Sahara",
                            "Yemen",
                            "Zambia",
                            "Zimbabwe",
                            "Åland Islands"
                        ],
                        "type": "string",
                        "description": "ISO 3166-1 country name used to geo-target residential proxy traffic when fallback proxies are required. Pick the country where exit nodes should appear.",
                        "default": "United States"
                    },
                    "locationName": {
                        "title": "📍 Location",
                        "type": "string",
                        "description": "City or region to search in (e.g. New York, San Francisco, Remote). Used to build the Wellfound search URL when no startUrls are provided.",
                        "default": ""
                    },
                    "companyName": {
                        "title": "🏢 Company Name (optional)",
                        "type": "string",
                        "description": "Filter results to a specific company. The scraper performs a Wellfound keyword search and keeps only cards whose company name loosely matches this value.",
                        "default": ""
                    },
                    "includeKeyword": {
                        "title": "🔑 Keyword (optional)",
                        "type": "string",
                        "description": "Extra search term — role title, skill, technology, etc. Combined with location to refine the search (e.g. \"python engineer\").",
                        "default": ""
                    },
                    "pagesToFetch": {
                        "title": "📄 Pages to Fetch",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of result-listing pages to open per starting URL. Each page contains ~25 jobs.",
                        "default": 1
                    },
                    "jobType": {
                        "title": "💼 Job Type",
                        "enum": [
                            "",
                            "FULLTIME",
                            "PARTTIME",
                            "CONTRACTOR",
                            "INTERN"
                        ],
                        "type": "string",
                        "description": "Filter by employment type. Leave as \"any\" to include all types.",
                        "default": ""
                    },
                    "datePosted": {
                        "title": "📅 Date Posted",
                        "enum": [
                            "all",
                            "today",
                            "3days",
                            "week",
                            "month"
                        ],
                        "type": "string",
                        "description": "How recently the job was posted.",
                        "default": "all"
                    },
                    "fetchDescriptions": {
                        "title": "📝 Fetch Full Descriptions",
                        "type": "boolean",
                        "description": "Open each job detail page to capture the full job description. Slower but produces richer output.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "🛡️ Proxy Configuration",
                        "type": "object",
                        "description": "Optional. Turn on Apify or custom proxies here; leave off to start with no proxy.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
