Ashby Jobs Scraper [Only $0.8/1K💰] | Startup Jobs | Remote avatar

Ashby Jobs Scraper [Only $0.8/1K💰] | Startup Jobs | Remote

Pricing

from $0.78 / 1,000 results

Go to Apify Store
Ashby Jobs Scraper [Only $0.8/1K💰] | Startup Jobs | Remote

Ashby Jobs Scraper [Only $0.8/1K💰] | Startup Jobs | Remote

Scrape job postings from any Ashby-hosted startup board — Ramp, Notion, Linear, Perplexity, RunPod and thousands more — via Ashby's public posting API: title, company, location and remote flag, department/team, employment type, salary/equity tiers, job and apply URLs. No browser. $0.0008 per job.

Pricing

from $0.78 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Features

Limited permissions

Share

Ashby Jobs Scraper

Scrape job postings from any Ashby-hosted startup job board — Ramp, Notion, Linear, Perplexity, RunPod, OpenAI and thousands more — through Ashby's own public posting API, with salary and equity tiers, remote flags, full descriptions and company metadata, at $0.0008 per job. One request returns an entire board, so a handful of slugs already yields thousands of jobs, with no browser and no anti-bot costs.

Built for recruiting agencies, talent researchers, job-board aggregators, VC analysts and hiring-trend researchers.

Main Use Cases

  • Startup job boards dataset — build a clean, deduplicated database of every open role across hundreds of Ashby-hosted boards in a single run
  • Startup salary and equity data — includeCompensation pulls the exact compensation tiers (currency, min/max, interval) companies actually list, not scraped estimates
  • Remote startup jobs — filter or flag by isRemote / workplaceType (Remote, Hybrid, OnSite) and match location on "Remote", "Berlin", "NYC", etc.
  • Hiring analytics — track open roles, departments and teams over time: which companies are hiring, for what, where
  • Recruiting agency lead generation — identify scaling startups (Notion, Linear, RunPod…) and the exact roles they are trying to fill
  • Talent market research — job title distribution, employment types (Full-time/Internship/Contract) and compensation ranges by company or sector

How It Works — The Posting API, No Browser

Every Ashby customer board at jobs.ashbyhq.com/{slug} publishes its full job list as JSON at:

https://api.ashbyhq.com/posting-api/job-board/{slug}?includeCompensation=true

The actor calls that endpoint once per board (Ramp = 158 jobs, Notion = 128, OpenAI ≈ 1,000 in a single response), then optionally fetches the board's HTML once more to read the embedded window.__appData blob — that adds companyName, organizationId, companyWebsite and the team hierarchy. There is nothing to render: Ashby serves the whole board server-side to a plain HTTP client with no login, no CAPTCHA and no rate limiting worth worrying about at normal volumes.

Build a Startup Jobs Database Without a Browser

Ashby is one of the few ATS vendors whose public job boards are entirely API-accessible: the posting API is the same JSON the jobs.ashbyhq.com page renders, so a browser actor adds 100x the compute for zero extra fields. Browser-based competitors on the Store charge $0.001485–$0.002 per job; this actor reads the API at $0.0008 per job — the cheapest per job of the Ashby-focused options — and is the only one that combines compensation tiers, descriptions, board metadata and filters (search, department, team, location) in one actor. Cheap enough to run daily: tracking 10 boards (≈ 1,500 open roles) costs under $1.30 a run plus compute.

Input

FieldTypeRequiredDefaultNotes
boardSlugsarrayYes*["ashby","notion","linear","perplexity","runpod"]Board slug = path segment of the public job page (/ramp → ramp); full board URLs accepted too. *Omitted only if startUrls is used
startUrlsarrayNo[]Extra board URLs or slugs scraped in addition to boardSlugs
includeCompensationbooleanNotrueAdds each job's salary/equity/bonus tiers (currency, min/max, interval); false makes responses ~40% smaller
includeDescriptionsbooleanNotrueEmits descriptionHtml + descriptionPlain; disable to shrink the dataset
includeUnlistedbooleanNofalseAlso output jobs unlisted from the public board (isListed=false)
fetchBoardMetadatabooleanNotrueOne extra request per board for companyName, organizationId, companyWebsite, team hierarchy; false halves the request count
searchstringNo""Case-insensitive filter on title/department/team/location, e.g. engineer, remote
departmentstringNo""Exact case-insensitive department, e.g. Engineering
teamstringNo""Exact case-insensitive team, e.g. Platform
locationstringNo""Case-insensitive substring on primary location + workplace type + secondary locations
maxBoardsintegerNo20Max boards taken from the slug list
maxJobsPerBoardintegerNo500Max jobs pushed per board
maxItemsintegerNo5000Max jobs pushed across all boards
proxyobjectNouseApifyProxy: falseNot needed to get unblocked; for IP rotation/geo only

Output — Startup Job Records for Talent Research

default dataset (one row per job; the overview view is preconfigured and expands compensation):

FieldDescription
title, jobUrl, applyUrlJob title, canonical posting URL, direct apply link
companyName, boardSlug, organizationId, companyWebsiteCompany identity (metadata requires fetchBoardMetadata: true)
location, isRemote, workplaceTypePrimary location, remote flag, Remote/Hybrid/OnSite
department, team, employmentTypeOrg structure + Full-time/Internship/Contract/Part-time
compensationTierSummaryHuman-readable compensation line (e.g. $150k – $200k, 0.10% – 0.15% equity)
compensationExpanded tier objects: currency, interval, minValue/maxValue per component (salary, equity, bonus)
descriptionHtml, descriptionPlainFull posting text (when includeDescriptions: true)
publishedAtWhen the role went live

Additional raw fields on each item: secondaryLocation, address, salaryRange, employmentType, seniority, isListed, externalUrl, rawTitle.

Example Input

{
"boardSlugs": ["ramp", "notion", "linear", "perplexity", "runpod"],
"includeCompensation": true,
"location": "Remote",
"search": "engineer",
"maxItems": 1000
}

Board URLs work too: "boardSlugs": ["https://jobs.ashbyhq.com/openai"].

Example Output — Job Record (trimmed)

{
"title": "Senior Product Engineer",
"companyName": "Linear",
"boardSlug": "linear",
"location": "Remote (Canada, US)",
"isRemote": true,
"workplaceType": "Remote",
"department": "Engineering",
"team": "Product",
"employmentType": "Full-time",
"compensationTierSummary": "$180,000 - $210,000 · 0.05% - 0.10% equity · CAD or USD",
"compensation": [
{ "tier": "salary", "currency": "USD", "interval": "yearly", "minValue": 180000, "maxValue": 210000 },
{ "tier": "equity", "currency": "USD", "interval": "yearly", "minValue": 0.05, "maxValue": 0.1 }
],
"publishedAt": "2026-09-20T16:33:00.000Z",
"jobUrl": "https://jobs.ashbyhq.com/linear/senior-product-engineer",
"applyUrl": "https://jobs.ashbyhq.com/linear/senior-product-engineer/apply"
}

Startup Jobs Data at $0.0008 Per Job

$0.0008 per job (apify-default-dataset-item) plus the standard $0.00005 actor start — no browser minutes, no per-page fees, no anti-bot surcharges. Billing is strictly per emitted job row; boards that return nothing cost nothing but the start event. The default 1,024 MB container and 5,000-job cap keep large board sweeps to a couple of compute units. Free accounts get a preview run; paid plans run to your caps.

Integrations & Automation

  • API — run and fetch via the Apify REST API, or call it from AI agents through the Apify MCP server
  • Scheduling — daily/weekly runs to track new roles, closed roles and compensation changes per company
  • Webhooks — push new matching jobs (by location, department or search word) to your app, Slack or Sheets
  • Export — JSON, CSV, Excel, HTML

Recommended schedule: daily for new-role alerts and agency pipelines; weekly for hiring-trend and salary datasets.

This actor is the cheapest per job ($0.0008, no start premium) and the only Ashby-focused option combining compensation tiers, full descriptions, board metadata and server-side filters in one actor.

FAQ

Why use this actor instead of the official Ashby API?

There is no auth-gated partner API for job boards — the posting API is the official public surface: https://api.ashbyhq.com/posting-api/job-board/{slug}?includeCompensation=true returns the whole board as JSON to anyone. This actor wraps it, adds compensation expansion, company metadata from window.__appData, filters and per-job billing, and keeps the data in a queryable Apify dataset.

What are alternatives to this actor for startup jobs data?

On the Store: bovi/greenhouse-lever-ashby-job-scraper (multi-ATS, $0.001485/job), fantastic-jobs/ashby-jobs-api (449 users, 5.0★), jobo.world/ashby-jobs-scraper-api ($0.00099/job), dalleyne/ashby-job-scraper ($0.002/result), memo23/ashby-jobs-scraper. Ours is the cheapest per job and the only one with compensation tiers + descriptions + filters combined.

How do I find a company's board slug?

It's the path segment of its public job page: jobs.ashbyhq.com/ramp → ramp. Most companies link it as "Careers" on their site. Full URLs like https://jobs.ashbyhq.com/openai are accepted as well.

Why are some jobs missing compensation?

Compensation is only present when the company publishes it (Ashby returns it under includeCompensation); roles without published tiers simply have null in compensationTierSummary and an empty compensation array. This is a data-availability fact, not a scraping limitation.

Can I get unlisted jobs?

Yes — set includeUnlisted: true to also emit postings the company has unlisted from its public board (isListed=false). These still appear on the posting API. Use this flag with care: it reflects roles the company chose to hide publicly.

Is a browser or proxy needed?

No. The posting API serves JSON to a plain HTTP client; boards are fetched without JavaScript. The proxy input exists for IP rotation/geo-targeting only and is off by default. No anti-bot costs exist, which is why per-job pricing stays at $0.0008.

For AI Agents & LLM Apps

  • Purpose: given Ashby board slugs/URLs, returns one row per open job — title, company, location, remote flag, workplace type, department, team, employment type, compensation tiers (salary/equity/bonus with currency, min/max, interval), full description, job and apply URLs — via Ashby's official posting API.
  • Minimal working input:
{ "boardSlugs": ["notion", "linear"], "maxItems": 500 }
  • Variant inputs — with pay data + remote filter: { "boardSlugs": ["ramp"], "includeCompensation": true, "location": "Remote" }; keyword-filtered sweep: { "boardSlugs": ["ashby", "notion", "linear", "perplexity", "runpod"], "search": "engineer", "maxItems": 1000 }; descriptions off to slim the dataset: "includeDescriptions": false; unlisted roles: "includeUnlisted": true.
  • Output fields: title, companyName, boardSlug, organizationId, companyWebsite, location, secondaryLocation, address, isRemote, workplaceType, department, team, employmentType, seniority, compensation, compensationTierSummary, salaryRange, descriptionHtml, descriptionPlain, publishedAt, isListed, jobUrl, applyUrl, externalUrl, rawTitle.
  • Behaviors an agent should know: one request returns an entire board — there is no pagination to walk. companyName etc. come from fetchBoardMetadata (default on; one extra HTML request per board — disable to halve requests, at the cost of empty company fields). includeCompensation (default on) costs nothing but a larger payload; mistaken heavy runs are bounded by maxItems (default 5,000) and maxJobsPerBoard/maxBoards. Filters (search, department, team, location) are applied server-side in the actor — use them instead of post-filtering to keep the dataset small. compensation is an array of tier objects (per component); a job with no published pay has compensationTierSummary: null. Do not treat isRemote=false as "onsite" — check workplaceType (Remote/Hybrid/OnSite). Failed boards produce no rows and are not billed per job.
  • Billing: pay-per-result — $0.0008 per job + standard $0.00005 actor start; no proxy charges unless you enable proxy yourself.

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Ashby, Inc. or any company whose job board it reads. It consumes only the public posting API and publicly visible board pages that Ashby serves to anonymous visitors — no login, no bypass of access controls, no personal data beyond what companies publish on their own job pages (and none of it is used for unsolicited outreach). Users are responsible for their own compliance with Ashby's Terms of Service and each board's terms; the data is intended for legitimate purposes such as talent research, hiring analytics and job aggregation. Respect each company's preferences: unlisted jobs (isListed=false) are surfaced only when explicitly requested.

SEO Keywords

ashby jobs scraper, ashbyhq jobs api, jobs.ashbyhq.com data, startup job boards, scrape startup jobs, startup salary data, equity compensation data, remote startup jobs, hiring analytics, job posting database, ashby api alternative, tech company jobs api, ai startup careers, notion jobs data, linear jobs data, ramp jobs data, perplexity jobs data, runpod jobs data, recruiting agency lead generation, talent market research