# Wellfound Jobs Scraper - Fast & cheap (`clearpath/wellfound-api-ppe`) Actor

Extract startup job listings from Wellfound (formerly AngelList) as structured JSON, CSV, or Excel. Get job titles, salaries, equity, company details, and full descriptions. Filter by role, location, or company. Monitor mode with Telegram alerts tracks new postings automatically. Pay per result.

- **URL**: https://apify.com/clearpath/wellfound-api-ppe.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 576 total users, 152 monthly users, 80.9% runs succeeded, 6 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 jobs

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

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 (AngelList) Scraper - Startup Jobs & Salary Data

Extract startup job listings, salary ranges, equity data, and company details from Wellfound (formerly AngelList). Pay only for the jobs you scrape — no monthly commitment.

<blockquote style="border-left:4px solid #16A34A;background:#F0FDF4;padding:12px 16px">
<span style="font-size:16px;font-weight:700;color:#1C1917">1,000+ jobs in under 60 seconds</span> <span style="font-size:15px;color:#57534E">— salary ranges, equity data, company details, remote filtering.</span>
</blockquote>

<a href="https://i.postimg.cc/BbWM2cY4/wellfound-api-scraper.jpg" title="Wellfound API Job scraper" target="_blank">
    <img src="https://i.postimg.cc/BbWM2cY4/wellfound-api-scraper.jpg" alt="Wellfound API Job scraper" />
</a>

#### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

````

clearpath/wellfound-api-ppe on Apify. Call: ApifyClient("TOKEN").actor("clearpath/wellfound-api-ppe").call(run\_input={...}), then client.dataset(run\["defaultDatasetId"]).list\_items().items for results. Key inputs: urls (array, required), pageLimit (integer), onlyRemoteJobs (boolean). Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/clearpath~wellfound-api-ppe/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: PPE $3.49/1k jobs scraped. Get token: https://console.apify.com/account/integrations

````

### Changelog

- **2026-03-02**: 1,000+ jobs scraped in under 60 seconds with full job details and structured salary data.

### Supported URLs

- **Role searches**: `https://wellfound.com/role/r/full-stack-engineer`
- **Location searches**: `https://wellfound.com/location/san-francisco`
- **Combined searches**: `https://wellfound.com/role/l/data-scientist/san-francisco`
- **Company jobs**: `https://wellfound.com/company/instabase/jobs`
- **Direct job URLs**: `https://wellfound.com/jobs/3300751-founding-ai-engineer`

### Quick Start

**Important**
> Please make sure to test your URLs in the browser first. If you see a "Oops! Page not found (404)" it means you're not using a valid URL.

#### Basic Configuration

```json
{
  "urls": [
    "https://wellfound.com/role/r/full-stack-engineer",
    "https://wellfound.com/location/new-york",
    "https://wellfound.com/role/l/data-engineer/united-states"
  ],
  "pageLimit": 5,
  "onlyRemoteJobs": false
}
````

#### Monitor Mode Configuration

```json
{
  "urls": ["https://wellfound.com/role/software-engineer"],
  "monitorMode": true,
  "pageLimit": 10, // for initialization (can be 0=unlimited as well), change to 1-3 for subsequent runs
  "onlyRemoteJobs": false
}
```

#### Input Parameters

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `urls` | Array | Wellfound URLs to scrape | Required |
| `pageLimit` | Integer | Max pages per URL (0 = unlimited) | 3 |
| `onlyRemoteJobs` | Boolean | Filter remote positions only | false |
| `sortBy` | String | Sort criteria | "LAST\_POSTED" |
| `monitorMode` | Boolean | Only return new jobs since last run | false |
| `resetMonitorState` | Boolean | Reset monitoring baseline | false |
| `telegramUserId` | String | Telegram user ID for notifications (monitor mode only) | Optional |
| `telegramNotificationLimit` | Integer | Max Telegram notifications per run (1-50) | 10 |
| `proxyConfiguration` | Object | Proxy settings | Optional |

### Output

#### Output for role, location, role+location and company jobs URLs

```json
{
  "id": "2901541",
  "slug": "analyst-market-intelligence-ai",
  "title": "Analyst - Market Intelligence & AI",
  "company_name": "Obviant",
  "company_slug": "obviant-3",
  "company_size": "SIZE_1_10",
  "company_high_concept": "Data intelligence and AI tools for defense acquisition",
  "company_logo_url": "https://photos.wellfound.com/startups/i/9463089-3e910100752a44cb0f26b5227b2f19ff-medium_jpg.jpg?buster=1680532779",
  "company_badges": [
    "Top 10% of responders",
    "Responds within two weeks",
    "Early Stage"
  ],
  "job_type": "full-time",
  "remote": true,
  "location_names": [
    "Arlington"
  ],
  "compensation": "$60k – $110k • 0.25% – 0.75%",
  "compensation_parsed": {
    "compensation_raw": "$60k - $110k • 0.25% - 0.75%",
    "base_salary": {
      "currency": "USD",
      "unit": "YEAR",
      "min_value": 60000.0,
      "max_value": 110000.0
    },
    "equity": {
      "min_percentage": 0.25,
      "max_percentage": 0.75,
      "has_equity": true
    }
  },
  "base_salary": {
    "currency": "USD",
    "unit": "YEAR",
    "min_value": 60000.0,
    "max_value": 110000.0
  },
  "estimated_salary": null,
  "equity": null,
  "equity_parsed": {
    "min_percentage": 0.25,
    "max_percentage": 0.75,
    "has_equity": true
  },
  "description": "Obviant is building a data source of truth and AI tools for defense acquisition. The defense market is surging, but the data that drives it hasn’t kept up. Companies, government, and investors are forced to perform heavily manual processes and piecing together hundreds of disparate sources to make decisions. Obviant fuses information from thousands of sources – structured + unstructured – to provide a cohesive picture of budget, programs, the organizations running them, and much more. Whether it’s a company navigating GTM or a program manager developing capabilities, we’re providing all sides with the intelligence they need to execute effectively.\n\nWe’re growing fast and backed by top funds and DoD/national security veterans.\n\nWe believe that public sector mission sets matter above anything else. If you feel the same way, we’d love for you to join us.\n\n**What We’re Looking For**   \nSomeone with strong analytical and research skills to lead our information/data strategy and deliver for our customers. Think of this role as a jack of all trades with both tactical and strategic elements to it. Your work will help lay the foundation for our product and you’ll get to see it come to fruition.\n\nYou’ll be one of the first hires on our team, get in on the ground floor, and have sizable ownership. As we grow, ideally you will too, both in the skills that you acquire as well as responsibilities.\n\n**The Day-To-Day**\n\n- Your job will be to conduct exhaustive research, identify new sources for us to collect, and draw connections between information. You'll quarterback all things OSINT for us.\n- You’ll be responsible for researching, collecting, and analyzing information to derive both qualitative and quantitative conclusions\n- Conducting complex analysis + setting up frameworks and repeatable processes based on those learnings\n- Take learnings from your information collection processes to set the foundation for all things data and AI for our product\n- Work collaboratively with our engineering team to determine what software features to build, and be part of shipping product\n- Be the go-to person for our customers - top defense tech companies - understanding their needs and then executing on them\n\n**What You’ve Done That We’d Love**\n\n- Experience solving difficult problems in a methodical way, setting up repeatable systems to replicate, then moving on to the next task\n- Background working in government contracting, military/intel, govtech, or civilian government. (Though not required.)\n- You’re relentlessly customer focused and enjoy interacting with end users. You have a strong sense of empathy, making their problems your own, then solving them.\n- You obsess over details but focus on the outcome\n- Comfort with ambiguity\n- Desire to work in a fast-paced, startup environment or experience working at startups previously\n\n**Our Working Style – Why We Might Work Well Together**\n\n- **You care about government & are mission-oriented** - Our work is important, and is critical to improving a system that impacts us all.\n- **Perseverance and endurance** - Hard problems are worth solving, and solving them can take a long time. There is no such thing as exhausting all options, it’s just time to look for new ones.\n- **Empowerment \\> micro-management** – We’re building a culture of high-performers. Our job is to equip them with what they need and eliminate roadblocks for them to succeed. We trust their judgment, skills, and experience from there.\n- **We’re collaborative and communicate well** - Constructive dialogue that takes all viewpoints into account is the only way we get to the right decision. Respect, trust, and complete transparency with each other is critical - keep it all in the open\n- **You’re really good at what you do… but it speaks for itself** – High output, no ego. Being humble is _extremely_ important to us\n- **You don’t mind change and are comfortable with uncertainty** - We’re deliberate about setting goals, but we’re comfortable changing course and dealing with discomfort to get there. We’re still figuring things out, and that demands being flexible and iterative.\n- **Work doesn’t feel like “work” to you** – We’re passionate about what we’re going after, and we devote more time to it than a typical 9-5. That often means putting in extra time at night and occasionally on weekends. However, maintaining your own personal balance comes above all else, and you should establish that however you need to - flexible schedule, taking advantage of time off, or anything else you need.\n- **You like to move fast and have a bias towards action** - Our roadmap is directional at this stage - speed and a feeling of urgency is key to prove it out. We expect each other to proactively determine what needs to get done and go for it.\n- **Integrity is never negotiable** – Transparency, honesty, and respect comes above all else.\n\n**Benefits & Structure**\n\n- We’re a tight-knit team headquartered in Arlington, VA. We work in the office together most days, and believe being in the same place is a competitive advantage\n- Flexible schedule - We all have other things going on in our lives. Doctor visits, kids’ activities, dog walks - take care of it whenever you have to. And work from home when you need to.\n- Competitive compensation + Sizeable equity - We’re building something with massive upside potential, and you’ll have ownership in that. This is ours.\n- Flexible vacation time - Use what you want, as long as you’re taking care of what needs to get done.\n- Full health, dental, and vision insurance\n- And more…\n",
  "description_snippet": "",
  "live_start_at": 1744682651,
  "live_start_at_readable": "2025-04-15 02:04:11 UTC",
  "live_start_at_days_ago": 79,
  "years_experience_min": 1,
  "years_experience_max": null,
  "primary_role_title": "Data Analyst",
  "is_bookmarked": false,
  "ats_source": "AtsIntegration::Ashby::Listing",
  "auto_posted": false,
  "url": "https://wellfound.com/company/obviant-3/jobs/analyst-market-intelligence-ai",
  "source_url": "https://wellfound.com/role/artificial-intelligence-engineer",
  "source_url_type": "role",
  "source_role_slug": "artificial-intelligence-engineer",
  "source_location_slug": null
}
```

#### Output for job detail URLs

```json
{
  "id": "2901541",
  "slug": "analyst-market-intelligence-ai",
  "title": "Analyst - Market Intelligence & AI",
  "company_name": "Obviant",
  "company_slug": "obviant-3",
  "company_badges": [],
  "job_type": "full_time",
  "remote": true,
  "location_names": [
    "Arlington"
  ],
  "accepted_remote_location_names": [
    "United States"
  ],
  "compensation": "$60k – $110k • 0.25% – 0.75%",
  "compensation_parsed": {
    "compensation_raw": "$60k - $110k • 0.25% - 0.75%",
    "base_salary": {
      "currency": "USD",
      "unit": "YEAR",
      "min_value": 60000.0,
      "max_value": 110000.0
    },
    "equity": {
      "min_percentage": 0.25,
      "max_percentage": 0.75,
      "has_equity": true
    }
  },
  "base_salary": {
    "currency": "USD",
    "unit": "YEAR",
    "min_value": 60000.0,
    "max_value": 110000.0
  },
  "estimated_salary": null,
  "equity": "0.25% – 0.75%",
  "equity_parsed": {
    "min_percentage": 0.25,
    "max_percentage": 0.75,
    "has_equity": true
  },
  "description_snippet": "<ul>\n<li>Your job will be to conduct exhaustive research, identify new sources for us to collect, and draw connections between information. You&#39;ll quarterback all things OSINT for us.</li>\n<li>You’ll be responsible for researching, collecting, and analyzing information to derive both qualitative and quantitative conclusions</li>\n</ul>\n",
  "live_start_at": 1744682651,
  "live_start_at_readable": "2025-04-15 02:04:11 UTC",
  "live_start_at_days_ago": 80,
  "years_experience_min": 1,
  "years_experience_max": null,
  "primary_role_title": "Data Analyst",
  "primary_role_parent": "Other",
  "is_bookmarked": false,
  "ats_source": "AtsIntegration::Ashby::Listing",
  "auto_posted": false,
  "public": true,
  "current_user_applied": false,
  "uses_estimated_salary": false,
  "url": "https://wellfound.com/company/obviant-3/jobs/analyst-market-intelligence-ai",
  "remote_config_kind": "ONSITE",
  "has_recruiting_contact": true,
  "coworkers_count": 0,
  "scraped_at": "2025-07-04T06:45:36.817741+00:00",
  "description": "Obviant is building a data source of truth and AI tools for defense acquisition. The defense market is surging, but the data that drives it hasn’t kept up. Companies, government, and investors are forced to perform heavily manual processes and piecing together hundreds of disparate sources to make decisions. Obviant fuses information from thousands of sources – structured + unstructured – to provide a cohesive picture of budget, programs, the organizations running them, and much more. Whether it’s a company navigating GTM or a program manager developing capabilities, we’re providing all sides with the intelligence they need to execute effectively.\n\nWe’re growing fast and backed by top funds and DoD/national security veterans.\n\nWe believe that public sector mission sets matter above anything else. If you feel the same way, we’d love for you to join us.\n\n**What We’re Looking For**   \nSomeone with strong analytical and research skills to lead our information/data strategy and deliver for our customers. Think of this role as a jack of all trades with both tactical and strategic elements to it. Your work will help lay the foundation for our product and you’ll get to see it come to fruition.\n\nYou’ll be one of the first hires on our team, get in on the ground floor, and have sizable ownership. As we grow, ideally you will too, both in the skills that you acquire as well as responsibilities.\n\n**The Day-To-Day**\n\n- Your job will be to conduct exhaustive research, identify new sources for us to collect, and draw connections between information. You'll quarterback all things OSINT for us.\n- You’ll be responsible for researching, collecting, and analyzing information to derive both qualitative and quantitative conclusions\n- Conducting complex analysis + setting up frameworks and repeatable processes based on those learnings\n- Take learnings from your information collection processes to set the foundation for all things data and AI for our product\n- Work collaboratively with our engineering team to determine what software features to build, and be part of shipping product\n- Be the go-to person for our customers - top defense tech companies - understanding their needs and then executing on them\n\n**What You’ve Done That We’d Love**\n\n- Experience solving difficult problems in a methodical way, setting up repeatable systems to replicate, then moving on to the next task\n- Background working in government contracting, military/intel, govtech, or civilian government. (Though not required.)\n- You’re relentlessly customer focused and enjoy interacting with end users. You have a strong sense of empathy, making their problems your own, then solving them.\n- You obsess over details but focus on the outcome\n- Comfort with ambiguity\n- Desire to work in a fast-paced, startup environment or experience working at startups previously\n\n**Our Working Style – Why We Might Work Well Together**\n\n- **You care about government & are mission-oriented** - Our work is important, and is critical to improving a system that impacts us all.\n- **Perseverance and endurance** - Hard problems are worth solving, and solving them can take a long time. There is no such thing as exhausting all options, it’s just time to look for new ones.\n- **Empowerment \\> micro-management** – We’re building a culture of high-performers. Our job is to equip them with what they need and eliminate roadblocks for them to succeed. We trust their judgment, skills, and experience from there.\n- **We’re collaborative and communicate well** - Constructive dialogue that takes all viewpoints into account is the only way we get to the right decision. Respect, trust, and complete transparency with each other is critical - keep it all in the open\n- **You’re really good at what you do… but it speaks for itself** – High output, no ego. Being humble is _extremely_ important to us\n- **You don’t mind change and are comfortable with uncertainty** - We’re deliberate about setting goals, but we’re comfortable changing course and dealing with discomfort to get there. We’re still figuring things out, and that demands being flexible and iterative.\n- **Work doesn’t feel like “work” to you** – We’re passionate about what we’re going after, and we devote more time to it than a typical 9-5. That often means putting in extra time at night and occasionally on weekends. However, maintaining your own personal balance comes above all else, and you should establish that however you need to - flexible schedule, taking advantage of time off, or anything else you need.\n- **You like to move fast and have a bias towards action** - Our roadmap is directional at this stage - speed and a feeling of urgency is key to prove it out. We expect each other to proactively determine what needs to get done and go for it.\n- **Integrity is never negotiable** – Transparency, honesty, and respect comes above all else.\n\n**Benefits & Structure**\n\n- We’re a tight-knit team headquartered in Arlington, VA. We work in the office together most days, and believe being in the same place is a competitive advantage\n- Flexible schedule - We all have other things going on in our lives. Doctor visits, kids’ activities, dog walks - take care of it whenever you have to. And work from home when you need to.\n- Competitive compensation + Sizeable equity - We’re building something with massive upside potential, and you’ll have ownership in that. This is ours.\n- Flexible vacation time - Use what you want, as long as you’re taking care of what needs to get done.\n- Full health, dental, and vision insurance\n- And more…\n",
  "description_html": "<p>Obviant is building a data source of truth and AI tools for defense acquisition. The defense market is surging, but the data that drives it hasn’t kept up. Companies, government, and investors are forced to perform heavily manual processes and piecing together hundreds of disparate sources to make decisions. Obviant fuses information from thousands of sources – structured + unstructured – to provide a cohesive picture of budget, programs, the organizations running them, and much more. Whether it’s a company navigating GTM or a program manager developing capabilities, we’re providing all sides with the intelligence they need to execute effectively.</p>\n\n<p>We’re growing fast and backed by top funds and DoD/national security veterans.</p>\n\n<p>We believe that public sector mission sets matter above anything else. If you feel the same way, we’d love for you to join us.</p>\n\n<p><strong>What We’re Looking For</strong><br><br>\nSomeone with strong analytical and research skills to lead our information/data strategy and deliver for our customers. Think of this role as a jack of all trades with both tactical and strategic elements to it. Your work will help lay the foundation for our product and you’ll get to see it come to fruition.</p>\n\n<p>You’ll be one of the first hires on our team, get in on the ground floor, and have sizable ownership. As we grow, ideally you will too, both in the skills that you acquire as well as responsibilities.</p>\n\n<p><strong>The Day-To-Day</strong></p>\n\n<ul>\n<li>Your job will be to conduct exhaustive research, identify new sources for us to collect, and draw connections between information. You&#39;ll quarterback all things OSINT for us.</li>\n<li>You’ll be responsible for researching, collecting, and analyzing information to derive both qualitative and quantitative conclusions</li>\n<li>Conducting complex analysis + setting up frameworks and repeatable processes based on those learnings</li>\n<li>Take learnings from your information collection processes to set the foundation for all things data and AI for our product</li>\n<li>Work collaboratively with our engineering team to determine what software features to build, and be part of shipping product</li>\n<li>Be the go-to person for our customers - top defense tech companies - understanding their needs and then executing on them</li>\n</ul>\n\n<p><strong>What You’ve Done That We’d Love</strong></p>\n\n<ul>\n<li>Experience solving difficult problems in a methodical way, setting up repeatable systems to replicate, then moving on to the next task</li>\n<li>Background working in government contracting, military/intel, govtech, or civilian government. (Though not required.)</li>\n<li>You’re relentlessly customer focused and enjoy interacting with end users. You have a strong sense of empathy, making their problems your own, then solving them.</li>\n<li>You obsess over details but focus on the outcome</li>\n<li>Comfort with ambiguity</li>\n<li>Desire to work in a fast-paced, startup environment or experience working at startups previously</li>\n</ul>\n\n<p><strong>Our Working Style – Why We Might Work Well Together</strong></p>\n\n<ul>\n<li><strong>You care about government &amp; are mission-oriented</strong> - Our work is important, and is critical to improving a system that impacts us all.</li>\n<li><strong>Perseverance and endurance</strong> - Hard problems are worth solving, and solving them can take a long time. There is no such thing as exhausting all options, it’s just time to look for new ones.</li>\n<li><strong>Empowerment &gt; micro-management</strong> – We’re building a culture of high-performers. Our job is to equip them with what they need and eliminate roadblocks for them to succeed. We trust their judgment, skills, and experience from there.</li>\n<li><strong>We’re collaborative and communicate well</strong> - Constructive dialogue that takes all viewpoints into account is the only way we get to the right decision. Respect, trust, and complete transparency with each other is critical - keep it all in the open</li>\n<li><strong>You’re really good at what you do… but it speaks for itself</strong> – High output, no ego. Being humble is <u>extremely</u> important to us</li>\n<li><strong>You don’t mind change and are comfortable with uncertainty</strong> - We’re deliberate about setting goals, but we’re comfortable changing course and dealing with discomfort to get there. We’re still figuring things out, and that demands being flexible and iterative.</li>\n<li><strong>Work doesn’t feel like “work” to you</strong> – We’re passionate about what we’re going after, and we devote more time to it than a typical 9-5. That often means putting in extra time at night and occasionally on weekends. However, maintaining your own personal balance comes above all else, and you should establish that however you need to - flexible schedule, taking advantage of time off, or anything else you need.</li>\n<li><strong>You like to move fast and have a bias towards action</strong> - Our roadmap is directional at this stage - speed and a feeling of urgency is key to prove it out. We expect each other to proactively determine what needs to get done and go for it.</li>\n<li><strong>Integrity is never negotiable</strong> – Transparency, honesty, and respect comes above all else.</li>\n</ul>\n\n<p><strong>Benefits &amp; Structure</strong></p>\n\n<ul>\n<li>We’re a tight-knit team headquartered in Arlington, VA. We work in the office together most days, and believe being in the same place is a competitive advantage</li>\n<li>Flexible schedule - We all have other things going on in our lives. Doctor visits, kids’ activities, dog walks - take care of it whenever you have to. And work from home when you need to.</li>\n<li>Competitive compensation + Sizeable equity - We’re building something with massive upside potential, and you’ll have ownership in that. This is ours.</li>\n<li>Flexible vacation time - Use what you want, as long as you’re taking care of what needs to get done.</li>\n<li>Full health, dental, and vision insurance</li>\n<li>And more…</li>\n</ul>\n",
  "description_type": "markdown",
  "responsibilities": "",
  "requirements": "",
  "skills": [
    "Business Intelligence",
    "Data Analysis",
    "Market Research",
    "Artificial Intelligence",
    "Business Analysis",
    "Research",
    "Logical Reasoning"
  ],
  "benefits": "",
  "team_size": null,
  "department": null,
  "seniority_level": null,
  "title_expanded": "Analyst - Market Intelligence & AI at Obviant • Arlington • Remote (Work from Home)",
  "source": "ATS",
  "is_live": true,
  "allow_relocation": true,
  "relocation_assistance": false,
  "reposted": true,
  "company_location_names": [
    "Arlington"
  ],
  "visa_sponsorship": false,
  "last_responded_at": 1750403900,
  "posted_at_timestamp": 1744682651,
  "company_website": "https://www.obviant.com",
  "company_logo": "https://photos.wellfound.com/startups/i/9463089-3e910100752a44cb0f26b5227b2f19ff-medium_jpg.jpg?buster=1680532779",
  "company_location": [
    {
      "type": "Place",
      "latitude": 38.88,
      "longitude": -77.1068,
      "locality": "Arlington",
      "region": "Virginia",
      "country": "United States"
    }
  ],
  "industry": "Defense, Governments, Government Innovation, and Federal Government",
  "direct_application": true,
  "posted_at": "2025-04-15T02:04:11Z",
  "locations": [
    {
      "type": "Place",
      "latitude": 38.88,
      "longitude": -77.1068,
      "locality": "Arlington",
      "region": "Virginia",
      "country": "United States"
    }
  ],
  "job_location_type": "TELECOMMUTE",
  "employment_type": "FULL_TIME",
  "applicant_location_requirements": {
    "type": "Country",
    "name": "United States"
  },
  "months_experience_min": 12,
  "remote_config": {
    "collaboration_end_at": null,
    "collaboration_start_at": null,
    "collaboration_time_zone": null,
    "hiring_time_zones": [],
    "id": "145860",
    "kind": "ONSITE",
    "wfh_flexible": true
  },
  "startup_details": {
    "company_description": "<p>Obviant focuses on Defense, Governments, Government Innovation, and Federal Government. Their company has offices in Arlington. They have a small team that&#39;s between 1-10 employees.</p>\n<p>You can view their website at <a target=\"_blank\" rel=\"nofollow noopener noreferrer\" href=\"https://www.obviant.com\">https://www.obviant.com</a>  or find them on <a target=\"_blank\" rel=\"nofollow noopener noreferrer\" href=\"https://www.linkedin.com/company/obviant/\">LinkedIn</a>.</p>",
    "company_high_concept": "Data intelligence and AI tools for defense acquisition",
    "industry": null,
    "company_size": null,
    "stage": null,
    "website": null,
    "location": null,
    "funding_info": {},
    "perks": [],
    "culture_media_uploads": []
  },
  "coworkers": [],
  "similar_jobs": [
    {
      "id": "3272361",
      "title": "Artificial Intelligence/Machine Learning (AI/ML) Engineer",
      "slug": "artificial-intelligence-machine-learning-ai-ml-engineer",
      "company_name": "Obviant",
      "company_slug": "obviant-3",
      "company_high_concept": "Data intelligence and AI tools for defense acquisition",
      "company_logo_url": "https://photos.wellfound.com/startups/i/9463089-3e910100752a44cb0f26b5227b2f19ff-medium_jpg.jpg?buster=1680532779",
      "compensation": "$140k – $200k",
      "equity": null,
      "job_type": "full_time",
      "remote": true,
      "location_names": [
        "Arlington"
      ],
      "accepted_remote_location_names": [
        "United States"
      ],
      "years_experience_min": 5,
      "years_experience_max": null,
      "live_start_at": 1744861343,
      "is_bookmarked": false,
      "current_user_applied": false,
      "auto_posted": false,
      "ats_source": "AtsIntegration::Ashby::Listing",
      "description_snippet": "<ul>\n<li>You’ll design and implement models tackling complex, domain-specific challenges in taxonomy extraction/generation, entity resolution, and pattern recognition</li>\n<li>Develop multi-class classification systems</li>\n</ul>\n",
      "url": "https://wellfound.com/company/obviant-3/jobs/artificial-intelligence-machine-learning-ai-ml-engineer",
      "remote_config": {
        "id": "212736",
        "kind": "ONSITE"
      }
    },
    {
      "id": "3326277",
      "title": "Data Analyst Intern",
      "slug": "data-analyst-intern",
      "company_name": "CNT Logistic",
      "company_slug": "cnt-logistic-1",
      "company_high_concept": "Fast, Reliable & Stress-Free Auto Transport Services",
      "company_logo_url": "https://photos.wellfound.com/startups/i/10583139-d522fddbeba140ec5895f5847973be0d-medium_jpg.jpg?buster=1750842001",
      "compensation": "$95k – $110k • No equity",
      "equity": "No equity",
      "job_type": "internship",
      "remote": true,
      "location_names": [
        "Alabama",
        "Atlanta",
        "Austin",
        "Baltimore",
        "Boston",
        "Boulder",
        "California",
        "Chicago",
        "Cincinnati",
        "Cleveland",
        "Columbus",
        "Dallas",
        "Delaware",
        "Denver",
        "Detroit",
        "Houston",
        "Indianapolis",
        "Kansas City",
        "Los Angeles",
        "Louisville",
        "Miami",
        "Milwaukee",
        "Missouri",
        "New York City",
        "North Carolina",
        "Ohio",
        "Pennsylvania",
        "Philadelphia",
        "Phoenix",
        "Portland",
        "Reno",
        "San Diego",
        "Seattle",
        "Tennessee",
        "Texas",
        "Utah",
        "Virginia",
        "Washington DC",
        "San Francisco",
        "San Jose",
        "Berkeley",
        "Vancouver",
        "Florida",
        "Mountain View",
        "Sunnyvale",
        "Las Vegas",
        "Massachusetts",
        "Vermont",
        "Connecticut",
        "Santa Monica",
        "Oakland",
        "New Jersey",
        "Orange County",
        "Santa Barbara",
        "Salt Lake City",
        "Oregon",
        "Washington",
        "Colorado",
        "Pittsburgh",
        "Illinois",
        "Santa Clara",
        "Reston",
        "Kentucky",
        "Menlo Park",
        "Michigan",
        "Georgia",
        "Calgary",
        "Wisconsin",
        "Los Altos",
        "Southern California",
        "Arizona",
        "Idaho",
        "Raleigh",
        "Rochester",
        "Hawaii",
        "Syracuse",
        "Orlando",
        "Maryland",
        "Indiana",
        "New York",
        "Brooklyn",
        "Walnut Creek",
        "Gainesville",
        "Stanford",
        "Fremont",
        "Arlington",
        "Birmingham",
        "Tampa",
        "Colorado Springs",
        "Princeton",
        "Redmond",
        "Memphis",
        "Redwood City",
        "West Palm Beach",
        "Fort Worth",
        "South Carolina",
        "Fort Lauderdale",
        "Bloomington",
        "Greenville",
        "Cupertino",
        "Fairfax",
        "Pleasanton",
        "Tempe",
        "Kirkland",
        "Virginia Beach",
        "Richmond",
        "Grand Rapids",
        "Kansas City",
        "Santa Cruz",
        "Alexandria",
        "Lakewood",
        "Culver City",
        "Los Gatos",
        "Victoria",
        "Jersey City",
        "Tacoma",
        "Alameda",
        "Columbia",
        "Greensboro",
        "Plano",
        "Somerville",
        "Boise",
        "Spokane",
        "Concord",
        "Northern California",
        "California City",
        "Richardson",
        "Buffalo",
        "San Francisco Bay Area",
        "Los Angeles County"
      ],
      "accepted_remote_location_names": [
        "New York City",
        "United States"
      ],
      "years_experience_min": 0,
      "years_experience_max": null,
      "live_start_at": 1751533758,
      "is_bookmarked": false,
      "current_user_applied": false,
      "auto_posted": false,
      "ats_source": null,
      "description_snippet": "<ul>\n<li>Data Collection and Preparation: Gathering, cleaning, and organizing raw data from various sources. </li>\n<li>Data Analysis: Identifying trends and patterns, performing statistical analysis, and interpreting data sets. </li>\n</ul>\n",
      "url": "https://wellfound.com/company/cnt-logistic-1/jobs/data-analyst-intern",
      "remote_config": {
        "id": "224904",
        "kind": "ONSITE_OR_REMOTE"
      }
    }
  ],
  "source_url": "https://wellfound.com/company/obviant-3/jobs/analyst-market-intelligence-ai",
  "source_url_type": "company_job_detail",
  "source_role_slug": "obviant-3",
  "source_location_slug": "analyst-market-intelligence-ai"
}
```

### Monitor Mode

Monitor Mode enables efficient tracking of new job listings by maintaining a baseline of previously seen jobs. Perfect for automated job alerts and market monitoring without duplicate results.

#### How It Works

1. **Initial Run**: Establishes baseline of all current job IDs for the specified URL
2. **Subsequent Runs**: Returns only genuinely new listings not in the stored baseline
3. **Automatic Updates**: Baseline is updated with each run to include newly discovered jobs
4. **State Persistence**: Monitor state is automatically saved between runs

#### Configuration

**Single URL Limitation**: Monitor mode supports only one URL per run for optimal performance

**Recommended Settings**:

- **pageLimit**: 1-3 pages (new jobs appear on first pages)
- **Schedule**: Every few hours for optimal coverage vs efficiency
- **Integration**: Perfect for webhooks and notification services

#### Monitor Mode Parameters

##### monitorMode

- **Type**: Boolean, **Default**: `false`
- **Description**: Enable monitor mode to only return new listings since last run
- **Constraint**: Only one URL allowed when enabled

##### resetMonitorState

- **Type**: Boolean, **Default**: `false`
- **Description**: Reset stored monitoring state for all URLs (forces re-initialization)
- **Use case**: Re-establish baseline after significant time gaps
- **Constraints**: Only one URL allowed when enabled

**Example - Reset and restart monitoring**:

```json
{
  "urls": ["https://wellfound.com/role/software-engineer"],
  "monitorMode": true,
  "resetMonitorState": true,
  "pageLimit": 3
}
```

#### Telegram Notifications

Get instant notifications for new job listings directly in Telegram. Perfect for real-time job hunting and market monitoring.

<a href="https://i.postimg.cc/placeholder-telegram-message" title="Telegram notification example" target="_blank">
    <img src="https://i.postimg.cc/placeholder-telegram-message" alt="Telegram notification example" width="400" />
</a>

**Setup Steps:**

1. **Get your Telegram User ID**: Message [@userinfobot](https://t.me/userinfobot) on Telegram
2. **Message our bot first**: Send any message to [@clearpath\_api\_bot](https://t.me/clearpath_api_bot) (required for notifications to work)
3. **Add your User ID**: Include `telegramUserId` in your configuration

**Example with Telegram notifications:**

```json
{
  "urls": ["https://wellfound.com/role/software-engineer"],
  "monitorMode": true,
  "pageLimit": 2,
  "telegramUserId": "123456789",
  "telegramNotificationLimit": 5
}
```

**Features**:

- Rich formatted messages with job details, company logos, and direct links
- Configurable notification limits (1-50 per run) to prevent spam
- Summary messages when hitting notification limits
- Works exclusively in monitor mode for new listings only

#### Typical Monitor Workflow

1. **Initial Setup**: Configure monitoring URL with appropriate pageLimit (1-3 recommended)
2. **Telegram Setup (Optional)**: Get User ID from @userinfobot, message @clearpath\_api\_bot
3. **Automation**: Schedule daily/hourly runs using Apify Schedules or external cron
4. **Integration**: Connect with notification services via webhooks, Zapier, or direct API
5. **Maintenance**: Minimal oversight required - monitor mode handles state automatically

### Pricing

**Pay per result — only pay for the jobs you scrape**

| Tier | Per 1,000 results | Savings |
|------|-------------------|---------|
| Base | $3.49 | — |
| Bronze | $2.99 | 14% off |
| Silver | $2.79 | 20% off |
| Gold | $2.49 | 29% off |

- No upfront commitment — set a budget limit per run to control costs
- Ideal for one-off research, market analysis, or continuous monitoring
- Scale up or down without plan changes

### API Integration

#### Python Example

```python
from apify_client import ApifyClient

client = ApifyClient("your_token")

run = client.actor("wellfound-scraper").call({
    "urls": ["https://wellfound.com/role/r/full-stack-engineer"],
    "pageLimit": 10
})

for job in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{job['title']} at {job['company_name']}")
```

#### JavaScript Example

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

const client = new ApifyApi({ token: 'your_token' });

const run = await client.actor('wellfound-scraper').call({
  urls: ["https://wellfound.com/location/new-york"],
  onlyRemoteJobs: true
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} remote jobs`);
```

### Advanced Usage

#### Monitor Multiple Companies

```json
{
  "urls": [
    "https://wellfound.com/company/zapier/jobs",
    "https://wellfound.com/company/instabase/jobs",
    "https://wellfound.com/company/benchling/jobs"
  ],
  "pageLimit": 0
}
```

#### Geographic Market Analysis

```json
{
  "urls": [
    "https://wellfound.com/location/san-francisco",
    "https://wellfound.com/location/new-york",
    "https://wellfound.com/location/london"
  ],
  "pageLimit": 20
}
```

### Data Export

Export results in multiple formats:

- **JSON** - Structured data for programmatic use
- **CSV** - Spreadsheet analysis and reporting
- **Excel** - Advanced data manipulation

### Automation

Set up automated data collection:

- **Scheduled runs** - Daily, weekly, or monthly extraction
- **Webhooks** - Real-time notifications for new data
- **API integration** - Connect with existing tools and workflows

### Technical Requirements

- **Memory**: 128-512MB recommended
- **Proxy**: Residential proxies recommended for best results
- **Rate limits**: Built-in request management and delays

### FAQ

**Q: What job data is extracted?**

A: Job title, description, company info, salary ranges, location, requirements, skills, and posting dates.

**Q: How many jobs can I extract?**

A: Unlimited. Set `pageLimit: 0` to extract all available results from your URLs.

**Q: Can I track specific companies?**

A: Yes, use company-specific URLs like `/company/name/jobs` to monitor individual companies.

**Q: Is the data real-time?**

A: Data reflects current job postings on Wellfound at the time of extraction.

**Q: What about rate limiting?**

A: The scraper includes built-in delays and proxy rotation to handle rate limits automatically. Do not disable the proxy, as otherwise the scraper cannot reliably function.

**Q: What formats can I export the data in?**

A: Results are available in JSON, CSV, and Excel formats directly from the Apify platform, or accessible via API for custom integrations.

**Q: Can I integrate this with my existing recruitment tools?**

A: Absolutely! Use our REST API, webhooks, or popular integration platforms like Zapier and Make to connect with ATS systems, CRMs, and other recruitment tools.

### Getting Started Guide

#### **Step 1: Create Your Account**

1. **Sign up for Apify** [here](https://console.apify.com/sign-up)
2. **No credit card required** for free tier
3. **$5 free credits** to get started

#### **Step 2: Configure Your Search**

1. **Visit Wellfound** and set up your ideal search filters
2. **Copy the URL** from your browser
3. **Paste into the actor** with any additional parameters

#### **Step 3: Run and Monitor**

1. **Click "Start"** to begin extraction
2. **Monitor progress** in real-time
3. **Download results** as JSON, CSV, or Excel
4. **Set up automation** for continuous monitoring

#### **Step 4: Integrate and Automate**

1. **Use Apify API** for custom integrations
2. **Schedule regular runs** for market monitoring
3. **Set up webhooks** for real-time notifications
4. **Connect with your tools** via Zapier, Make, or direct API

### Support

- 📧 **Email**: max@mapa.slmail.me
- 📖 **Found a bug?**: Use the issues tab and describe your issue (I'll respond asap)
- 🔧 **Feature Requests**: Use email or the issues tab if you need more features

### Legal

This scraper extracts publicly available job data from Wellfound. Users must comply with Wellfound's terms of service and applicable data protection regulations.

***

[🚀 Start Extracting Jobs](https://console.apify.com/actors/sqkHGNG0toRTR3ORV)

# Actor input Schema

## `urls` (type: `array`):

Array of Wellfound URLs to scrape. Supported formats: job search URLs (/role/, /location/, /role/l/), company jobs URLs (/company/{slug}/jobs or /company/{slug}/jobs/{job-slug}), and direct job detail URLs (/jobs/{id}-{slug})

## `pageLimit` (type: `integer`):

Maximum number of pages to scrape per URL (0 = unlimited). Each page has up to 30 listings.

## `onlyRemoteJobs` (type: `boolean`):

Search only for remote job opportunities

## `sortBy` (type: `string`):

Sort jobs by criteria. Currently only supports 'Most recent' sorting.

## `monitorMode` (type: `boolean`):

Enable monitor mode to only return new listings since last run. Only one URL allowed in monitor mode. Use a low pageLimit (1-3) for efficient monitoring.

## `resetMonitorState` (type: `boolean`):

Reset stored monitoring state for all URLs (forces re-initialization)

## `telegramUserId` (type: `string`):

Optional: Your Telegram user ID for notifications (only used in monitor mode). Get it from @userinfobot

## `telegramNotificationLimit` (type: `integer`):

Maximum number of Telegram notifications per run (prevents spam)

## Actor input object example

```json
{
  "urls": [
    "https://wellfound.com/role/l/software-engineer/new-york"
  ],
  "pageLimit": 1,
  "onlyRemoteJobs": false,
  "sortBy": "LAST_POSTED",
  "monitorMode": false,
  "resetMonitorState": false,
  "telegramNotificationLimit": 10
}
```

# Actor output Schema

## `results` (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 = {
    "urls": [
        "https://wellfound.com/role/l/software-engineer/new-york"
    ],
    "pageLimit": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/wellfound-api-ppe").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 = {
    "urls": ["https://wellfound.com/role/l/software-engineer/new-york"],
    "pageLimit": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/wellfound-api-ppe").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 '{
  "urls": [
    "https://wellfound.com/role/l/software-engineer/new-york"
  ],
  "pageLimit": 1
}' |
apify call clearpath/wellfound-api-ppe --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wellfound Jobs Scraper - Fast & cheap",
        "description": "Extract startup job listings from Wellfound (formerly AngelList) as structured JSON, CSV, or Excel. Get job titles, salaries, equity, company details, and full descriptions. Filter by role, location, or company. Monitor mode with Telegram alerts tracks new postings automatically. Pay per result.",
        "version": "0.0",
        "x-build-id": "geNEh5mEzWbvQ4NVe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/clearpath~wellfound-api-ppe/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-clearpath-wellfound-api-ppe",
                "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/clearpath~wellfound-api-ppe/runs": {
            "post": {
                "operationId": "runs-sync-clearpath-wellfound-api-ppe",
                "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/clearpath~wellfound-api-ppe/run-sync": {
            "post": {
                "operationId": "run-sync-clearpath-wellfound-api-ppe",
                "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",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "Wellfound URLs to scrape (test if they work in your Browser!)",
                        "maxItems": 100,
                        "type": "array",
                        "description": "Array of Wellfound URLs to scrape. Supported formats: job search URLs (/role/, /location/, /role/l/), company jobs URLs (/company/{slug}/jobs or /company/{slug}/jobs/{job-slug}), and direct job detail URLs (/jobs/{id}-{slug})",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pageLimit": {
                        "title": "Page Limit",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of pages to scrape per URL (0 = unlimited). Each page has up to 30 listings.",
                        "default": 1
                    },
                    "onlyRemoteJobs": {
                        "title": "Only Remote Jobs",
                        "type": "boolean",
                        "description": "Search only for remote job opportunities",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "LAST_POSTED"
                        ],
                        "type": "string",
                        "description": "Sort jobs by criteria. Currently only supports 'Most recent' sorting.",
                        "default": "LAST_POSTED"
                    },
                    "monitorMode": {
                        "title": "Monitor Mode",
                        "type": "boolean",
                        "description": "Enable monitor mode to only return new listings since last run. Only one URL allowed in monitor mode. Use a low pageLimit (1-3) for efficient monitoring.",
                        "default": false
                    },
                    "resetMonitorState": {
                        "title": "Reset Monitor State",
                        "type": "boolean",
                        "description": "Reset stored monitoring state for all URLs (forces re-initialization)",
                        "default": false
                    },
                    "telegramUserId": {
                        "title": "Telegram User ID",
                        "type": "string",
                        "description": "Optional: Your Telegram user ID for notifications (only used in monitor mode). Get it from @userinfobot"
                    },
                    "telegramNotificationLimit": {
                        "title": "Telegram Notification Limit",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of Telegram notifications per run (prevents spam)",
                        "default": 10
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
