Ashby Job Board Compensation & Openings Scraper avatar

Ashby Job Board Compensation & Openings Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Ashby Job Board Compensation & Openings Scraper

Ashby Job Board Compensation & Openings Scraper

Scrape public Ashby job boards for any company hiring on jobs.ashbyhq.com. Get every open role with title, department, team, location, remote status, salary/compensation ranges, apply links, and full job descriptions. No login, no API key.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Nimbryxo-studio

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Scrape public Ashby job boards for any company hiring on jobs.ashbyhq.com. Get every open role with its department, team, structured location, remote or hybrid type, the employer's own salary range, full description, and apply link. Filter by keyword, workplace type, employment type, publish date, or pay. No login, no API key, no proxy.

Ashby powers the careers pages of thousands of modern companies. This actor reads the same public job-board data those pages use, so every run reflects the employer's current postings rather than an old index.

What this actor does

  • Three modes: byOrg lists jobs across companies, jobDetail fetches specific postings by URL or ID, and boardSummary returns one company-level overview.
  • Accepts what you have: board slugs (Ramp), company names (Neko Health), board URLs, or full job URLs.
  • Structured pay: numeric salary minimum and maximum, currency, pay period, annualized values, equity percentage, and bonus/commission flags, plus the original human-readable summaries.
  • Precise remote data: separates fully remote from hybrid, keeps secondary locations with their city/region/country, and can add remote-eligible countries.
  • Useful filters: keyword, department/team, location, workplace type, employment type, publish date or relative window (24h, 7d, 2w), annual salary range, salary currency, and salary-only.
  • Company and job detail: optional company name/logo/timezone, all team names, confidentiality flag, compensation philosophy, and direct-apply flag.
  • Clean output: empty fields are omitted; there are no null, blank, or placeholder values.

Modes

ModeWhat it returnsTypical use
byOrgOne record per job across the companies you nameJob feeds, recruiting intelligence, compensation research
jobDetailThe exact postings you point at, by public URL or IDRefresh a saved job, verify a posting, build a watchlist
boardSummaryOne record per company with job counts and department, team, location, workplace, and pay breakdownsCompare hiring across companies without downloading every description

Output per job

  • id — Ashby posting UUID
  • title
  • department, team
  • employmentType — FullTime, PartTime, Contract, Intern, or Temporary
  • location — primary location label
  • locationCity, locationRegion, locationCountry — structured primary address when published
  • isRemote — the employer's remote flag; true for both Remote and Hybrid
  • workplaceType — Remote, Hybrid, or OnSite
  • secondaryLocations[] — additional location labels
  • secondaryLocationDetails[] — each secondary location with its city, region, and country
  • isListed — false for direct-link-only postings
  • publishedAt — ISO timestamp
  • jobUrl, applyUrl, sourceUrl
  • compensationSummary — the employer's own pay summary, e.g. $147K – $262K • Offers Equity
  • salarySummary — the employer's salary-only summary, e.g. $147K – $262K
  • salaryMin, salaryMax, salaryCurrency, salaryInterval — numeric salary range as published
  • annualSalaryMin, annualSalaryMax — the same range annualized (hourly, weekly, monthly, yearly)
  • hasSalary, hasEquity, hasBonus, hasCommission — pay-component flags
  • equityPercentMin, equityPercentMax — equity percentage range when published
  • compensationTiers[] — every published tier with its title, summary, notes, and components
  • compensationComponents[] — the flattened salary/equity/bonus/commission components
  • descriptionPlain — full plain-text description
  • descriptionHtml — full HTML description when enabled
  • organization — the company's Ashby board slug
  • organizationName, organizationLogoUrl, organizationTimezone — optional company metadata
  • teamNames[] — all team names when job-page details are enabled
  • isConfidential, compensationPhilosophyHtml, remoteEligibleCountries[], directApply — optional job-page details
  • recordType: "job", scrapedAt

Output per company summary

boardSummary mode returns one record per company:

  • organization, organizationName, organizationLogoUrl, organizationTimezone, sourceUrl
  • jobsOnBoard — public jobs on the board before filters
  • jobsMatched — jobs after the filters you set
  • departments[], teams[], locations[] — up to 50 values each, with counts
  • workplaceTypes, employmentTypes — counts by value, including Unknown where the board omits it
  • jobsWithCompensation, jobsWithSalary — pay coverage
  • salaryCurrencies[]
  • publishedAtMin, publishedAtMax
  • recordType: "boardSummary", scrapedAt

Input

FieldTypeDefaultDescription
modestringbyOrgbyOrg / jobDetail / boardSummary
orgSlugsarray["Ramp"]Slugs, company names, or board URLs (mode=byOrg, boardSummary)
jobUrlsarray[]Public job URLs (mode=jobDetail)
orgSlugstring–Company slug for orgSlug + jobId lookups (mode=jobDetail)
jobIdstring–Posting UUID or full job URL (mode=jobDetail)
searchQuerystring–Text match over title, department, team, location, description (descriptions are searched even when their output is off and in boardSummary)
departmentstring–Text match over department and team
locationstring–Text match over primary/secondary location and address
workplaceTypestringanyany / Remote / Hybrid / OnSite
employmentTypestringanyany / FullTime / PartTime / Contract / Intern / Temporary
isRemoteOnlyboolfalseRemote-friendly jobs (Remote and Hybrid)
publishedAfterstring–ISO date/datetime or 24h / 7d / 2w
publishedBeforestring–ISO date/datetime or relative window
minAnnualSalaryint–Minimum annualized salary (0–10,000,000)
maxAnnualSalaryint–Maximum annualized salary (0–10,000,000)
salaryCurrencystringanyCompare salaries in one currency
hasSalaryOnlyboolfalseDrop jobs without a published salary
sortBystringdefaultdefault / newest / oldest / title
includeUnlistedboolfalseInclude direct-link-only jobs in every mode; jobDetail returns job_not_listed unless enabled
includeCompanyInfobooltrueAdd company name, logo, timezone
includeDetailsboolfalseAdd all team names, confidentiality, compensation philosophy, remote-eligible countries, direct-apply
includeDescriptionPlainbooltrueInclude the plain-text description
includeDescriptionHtmlboolfalseInclude the HTML description
maxItemsPerOrgint0Per-company cap after filters (0 = no cap)
maxItemsint100Cap on job/summary records (1–5000); error diagnostics are extra

Example: every open role at one company

{
"mode": "byOrg",
"orgSlugs": ["Ramp"],
"maxItems": 500
}

Example: engineering roles across several companies

{
"mode": "byOrg",
"orgSlugs": ["Ramp", "Notion", "Linear"],
"department": "Engineering",
"includeCompanyInfo": true,
"maxItems": 200
}

Example: fully remote roles published in the last two weeks

{
"mode": "byOrg",
"orgSlugs": ["Notion", "Linear", "Supabase"],
"workplaceType": "Remote",
"publishedAfter": "2w",
"hasSalaryOnly": true,
"maxItems": 100
}

Example: well-paid product roles in US dollars

{
"mode": "byOrg",
"orgSlugs": ["Ramp", "Plaid", "Cohere"],
"searchQuery": "product",
"minAnnualSalary": 150000,
"salaryCurrency": "USD",
"sortBy": "newest",
"maxItems": 50
}

Example: specific postings by URL

{
"mode": "jobDetail",
"jobUrls": [
"https://jobs.ashbyhq.com/Ramp/09a9381c-677b-40a5-9ff1-027bd4302c13",
"https://jobs.ashbyhq.com/Linear/453f1ba0-a35e-4ed2-8215-1514e0a30b92"
],
"includeDetails": true
}

Example: compare hiring across companies

{
"mode": "boardSummary",
"orgSlugs": ["Ramp", "Notion", "Linear", "Harvey"]
}

Use cases

  • Job boards and aggregators — keep a live feed of openings from every Ashby-powered company you track.
  • Recruiting and sourcing — find engineering, design, sales, or operations roles by team, location, and workplace type.
  • Compensation benchmarking — collect the employer's own salary ranges as numbers, with currency and pay period.
  • Remote-work feeds — build a daily feed of fully remote roles with remote-eligible countries.
  • Hiring intelligence — compare departments, teams, locations, and pay coverage across competitors.
  • Market research — track which companies are hiring and where over time.

FAQ

What is Ashby? Ashby is an applicant-tracking and recruiting platform. Many companies host their public careers page at jobs.ashbyhq.com/{company}. This actor reads the public job-board data behind those pages.

How do I find a company's slug? It is the path segment in the board URL. For https://jobs.ashbyhq.com/Ramp, the slug is Ramp. You can also paste the board URL or the company name, and the actor matches it to the closest live board.

Do I need an API key, login, or proxy? No. The Ashby job-board endpoint is public. No credentials, cookies, or proxy setup are needed.

Why is isRemote true for a hybrid job? Ashby's remote flag means "remote-friendly", not "fully remote". Use workplaceType: "Remote" for fully remote roles and workplaceType: "Hybrid" for hybrid roles.

Why do some jobs have no salary? Companies choose whether to publish compensation. When they do not, the salary fields are omitted. This actor never guesses or fabricates a range.

What do salaryMin and salaryMax mean when a job has several pay tiers? They are the lowest and highest values across every published salary component, so a multi-location or multi-level posting reports its full range. compensationTiers keeps the individual tiers.

What is the difference between salaryMin and annualSalaryMin? salaryMin is the number exactly as published, with salaryInterval telling you whether it is yearly, monthly, weekly, or hourly. annualSalaryMin converts it to a yearly figure so you can compare roles with different pay periods.

Why are unlisted jobs missing? Ashby can return jobs marked isListed:false, which are reachable by direct link but are not shown on the public board. They are excluded by default in byOrg, boardSummary, and jobDetail. Set includeUnlisted: true to include them; a jobDetail lookup for an unlisted job otherwise emits a job_not_listed error with the fix in its message.

Can I get only new postings? Yes. Set publishedAfter to 24h, 7d, 2w, or an ISO date. No saved state is needed between runs.

Why does the run finish with fewer records than the board has? maxItems is a hard cap and filters run first. Ashby returns a company's whole board at once, so a large board is downloaded even when you save fewer records. Raise maxItems or narrow the filters to control the result size.

Are company websites included? No. Company names, logos, and timezones are included, but website links are omitted because some employers block automated access to them.

Is this affiliated with Ashby? No. This is a third-party actor that reads Ashby's public job-board data.

Limitations

  • Ashby does not publish a directory of every company on its platform. You need a board slug, board URL, job URL, or a company name that resolves to a live board.
  • Salary ranges are shown only when the employer publishes them; equity and bonus details follow the same rule.
  • Currencies are not converted. Use salaryCurrency to compare one currency at a time.
  • A board larger than 5,000 jobs would be truncated by the maxItems ceiling.
  • Markdown descriptions, seniority scores, and LinkedIn or AI enrichment are not produced. Descriptions are available as plain text and HTML.