Ashby Job Board Scraper avatar

Ashby Job Board Scraper

Pricing

from $0.75 / 1,000 results

Go to Apify Store
Ashby Job Board Scraper

Ashby Job Board Scraper

Collect every open job posting from any Ashby-hosted job board, with structured city, state and country.

Pricing

from $0.75 / 1,000 results

Rating

0.0

(0)

Developer

String

String

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Ashby Job Board Scraper — whole board, structured locations

Collect every open job posting from any Ashby-hosted job board on jobs.ashbyhq.com. Give this Actor an Ashby board URL or company slug, and it returns the whole board with title, company, department, employment type, remote flag, published date and apply URL.

Ashby hydrates its boards from a public posting API, and this Actor reads that API rather than the rendered page. One request returns every open posting on an Ashby board, with a second request to the board page for the company's display name — a measured run averaged 174 postings across 5.75 requests.

Because the Ashby posting API carries a structured postal address, city, state and country come back as separate fields rather than being guessed out of a display string.

No Ashby account, login, API key or cookies are used. This Actor reads the public Ashby job board that a logged-out visitor sees.

What it returns

FieldTypeNotes
jobIdstringAshby's own posting ID — stable, use it to de-duplicate
titlestring
companystringThe organisation's display name, read from the Ashby board page
tenantstringThe Ashby board slug, e.g. ramp
locationstringThe posting's display location as Ashby shows it
citystringFrom Ashby's structured addressLocality — not parsed out of the display string
statestringFrom addressRegion
countrystringFrom addressCountry
isRemotebooleanAshby's own remote flag on the posting, not inferred from text
departmentstringThe posting's department, falling back to its team
employmentTypestringAshby's own employment type, e.g. "FullTime"
postedAtstringISO 8601 timestamp — the posting's publishedAt
jobUrlstringDirect link to the posting
boardUrlstringThe board a person would open, https://jobs.ashbyhq.com/<tenant>
sourceUrl, collectedAtstringProvenance for every row

Input

{ "boards": ["https://jobs.ashbyhq.com/ramp", "linear"], "maxItems": 1000 }
FieldDescription
boardsAshby board URLs or company slugs. Required, 1–100.
maxItemsCap on dataset items. Default 1000, maximum 50,000. Free plans stop at 250 requests and 250 results — see below.
concurrencyBoards fetched in parallel. Default 2, maximum 5.

A company slug, a board URL and a deep posting or application URL all resolve to the same Ashby board and are fetched once rather than billed several times.

Use cases

  • Tracking which companies are hiring, and for which teams, across a watchlist of Ashby boards
  • Competitor hiring signals — headcount direction by department, read from the employer's own board
  • Filling an ATS, job board or talent CRM with live postings straight from the employer
  • Recruiting lead lists filtered on city, state, country or isRemote
  • Monitoring a board over time by re-running on a schedule and diffing on jobId

Reliability

The Ashby posting API is structured JSON published by Ashby itself, so there is no markup contract to break and no model in the path: a field is either present on the posting or absent.

isRemote, city, state, country, employmentType and postedAt all come from the API rather than from text parsing, so they do not drift between runs for the same posting.

The company display name is the one field the posting API omits, so it is read from the board page in a second request. If that page cannot be read, the postings are still returned and only company is null — a blocked page costs one field rather than the whole board.

A board that cannot be read is recorded in the run's SUMMARY under failures rather than silently returning fewer rows, and a run where every board failed exits with an error.

Frequently asked questions

How do I find a company's Ashby board URL? An Ashby board lives at https://jobs.ashbyhq.com/<slug>, where the slug is the company's own name — ramp, linear. You can pass the full URL or just the slug.

Do I need an Ashby account, API key or login? No. This Actor reads the public Ashby posting API and the public board page. No account, no cookies, no session.

How many job postings does one request return? The Ashby posting API returns every open posting on a board in a single response, so a board costs two requests regardless of its size. A measured run averaged 174 postings across 5.75 requests.

Does it work for any company on Ashby? Yes — any board hosted on jobs.ashbyhq.com, addressed by its slug. Nothing is hardcoded per company.

Are the city, state and country reliable? Yes, more so than on most job boards: Ashby publishes a structured postal address per posting, so city, state and country are read directly from addressLocality, addressRegion and addressCountry rather than split out of a display string.

Can I get the full job description or salary? No. This Actor returns the board's posting fields listed above; follow jobUrl for the full description.

Limitations

Board fields only: no job description body, no compensation, no application counts and no recruiter contacts. A board with zero open postings is reported as a failure rather than as an empty result, because an unknown Ashby slug is indistinguishable from one. Only jobs.ashbyhq.com boards are accepted — a URL on any other host is rejected rather than fetched.

Free plan limit

Runs started from an Apify free plan stop at 250 requests and 250 results, and the run reports that it reached the limit. Any paid plan runs the full input and maxItems you set.

The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.