Ashby Jobs & Salary Scraper avatar

Ashby Jobs & Salary Scraper

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Ashby Jobs & Salary Scraper

Ashby Jobs & Salary Scraper

Scrape Ashby job board listings by company. Extract job title, location, department, team, employment type, salary range, equity, posting date, apply URL and full job description. Filter by keyword. Export JSON, CSV or Excel. No login or API key.

Pricing

from $6.15 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Ashby Jobs & Salary Scraper

Ashby Jobs & Salary Scraper

Here is one real result, with every field the actor returns (the descriptionHtml, descriptionText, and compensationTiers are trimmed here for readability):

{
"title": "Security Engineer, Cloud",
"company": "Ramp",
"location": "New York, NY (HQ)",
"isRemote": true,
"isListed": true,
"showCompensation": true,
"workplaceType": "Hybrid",
"employmentType": "FullTime",
"department": "Engineering",
"team": "Backend",
"salaryRange": "$211.4K - $290.6K",
"salarySummary": "$211.4K - $290.6K • Offers Equity",
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryInterval": "1 YEAR",
"offersEquity": true,
"addressLocality": "New York City",
"addressRegion": "NY",
"addressCountry": "USA",
"secondaryLocations": ["Remote (Canada)", "Remote (US)", "Miami, FL"],
"url": "https://jobs.ashbyhq.com/Ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/Ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"publishedAt": "2026-04-07T17:12:35.753+00:00",
"compensationTiers": [
{
"title": null,
"tierSummary": "$211.4K - $290.6K • Offers Equity",
"additionalInformation": null,
"components": [
{ "summary": "$211.4K - $290.6K", "compensationType": "Salary", "interval": "1 YEAR", "currencyCode": "USD", "minValue": 211400, "maxValue": 290600 }
]
}
],
"descriptionHtml": "<h1><strong>About Ramp</strong></h1><p>Ramp is building the smart infrastructure for finance teams...</p>",
"descriptionText": "ABOUT RAMP Ramp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends...",
"observedAt": "2026-08-14T05:38:13.406Z",
"error": null,
"aiJdSummary": null,
"aiSkills": null,
"aiTechnologies": null,
"aiSeniority": null,
"aiSalaryEstimateMin": null,
"aiSalaryEstimateMax": null,
"aiSalaryEstimateCurrency": null,
"aiSalaryEstimateBasis": null,
"aiSalaryEstimateConfidence": null,
"enrichedEmail": null,
"enrichedContactName": null,
"enrichedJobTitle": null,
"enrichedEmailStatus": null,
"enrichedSource": null,
"enrichedConfidence": null
}

The most complete Ashby job board scraper available. It returns every field an Ashby careers page exposes per job (title, location, workplace type, department, team, employment type, published salary range with min/max/currency/interval, equity, structured compensation tiers, apply URL, publish date, and the full HTML and plain-text description), plus optional AI add-ons for a summary, skills and seniority, and a market salary estimate, and gives you six filters to target exactly the jobs you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor reads one or more Ashby company job boards, applies your keyword, remote, employment-type, department, salary, and date filters, and writes one normalized record per open job to the run's dataset. Each record includes the title, location, workplace type, department and team, published salary range broken into min, max, currency, and interval, equity, structured compensation tiers, and the apply URL. With withDetails on (the default), each job also includes the full HTML and plain-text description. Missing source values are returned as null. Three optional AI add-ons (paid plans only) can add a job summary, structured skills and seniority, and a market salary estimate for jobs without a published salary, and a contact-enrichment add-on can find a public business email.

Quickstart

Open the actor, paste this into the input, and press Run. It returns open jobs from three Ashby boards with full descriptions.

{
"organizations": ["Ramp", "Notion", "Linear"],
"maxJobs": 10,
"withDetails": true
}

Use the company identifier from its careers URL (jobs.ashbyhq.com/Ramp means Ramp), or paste the full URL. Add one entry per company.

Input reference

FieldTypeRequiredDefaultDescription
organizationsstring[]yes["Ramp","Notion","Linear"]Ashby company identifiers or full jobs.ashbyhq.com URLs. One entry per company.
maxJobsintegerno10Maximum jobs to collect across all companies. Free Apify plans are capped at 10 per run.
withDetailsbooleannotrueInclude the full HTML description, plain-text description, and detailed compensation tiers per job.
searchQuerystringno(none)Keyword filter matched against title, department, team, location, and description (case-insensitive).
remoteOnlybooleannofalseOnly return jobs flagged remote by the company.
employmentTypestringno(any)Keep only jobs whose employment type contains this text, for example FullTime, Intern, Contract.
departmentstringno(any)Keep only jobs whose department or team contains this text, for example Engineering, Sales.
salaryMinintegerno(none)Keep only jobs whose published salary (top of range) is at least this amount. Jobs without a published salary are excluded when set.
publishedAfterstringno(none)Keep only jobs published on or after this date (YYYY-MM-DD). Jobs without a publish date are excluded when set.
withJdSummarybooleannofalseAI add-on (paid plans only). 2 to 3 sentence summary of each description. Billed only when produced.
withSkillsbooleannofalseAI add-on (paid plans only). Extract skills, technologies, and seniority as tags. Billed only when produced.
withSalaryEstimatebooleannofalseAI add-on (paid plans only). Estimate a market salary range for jobs without a published salary. Billed only when produced.
enrichContactsbooleannofalseContact add-on (paid). Try to find a public business email and contact name. Billed per attempt, plus extra only when an email is found.
enrichContactsMaxintegerno50Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3.

Output reference

One dataset item per open job. Types: string, number, integer, boolean, string[], object[], or null when the source value is absent.

FieldTypeDescription
titlestringJob title.
companystringCompany identifier from the Ashby board.
locationstringPrimary location label.
isRemotebooleantrue when the job is flagged remote.
isListedbooleantrue when the job is publicly listed.
showCompensationbooleantrue when the company publishes compensation.
workplaceTypestringWorkplace type, for example Hybrid, Remote, On-site.
employmentTypestringEmployment type, for example FullTime.
departmentstringDepartment.
teamstringTeam within the department.
salaryRangestringPublished salary range as text, or null.
salarySummarystringFull compensation summary including equity note, or null.
salaryMinnumberBottom of the published salary range, or null.
salaryMaxnumberTop of the published salary range, or null.
salaryCurrencystringSalary currency code, or null.
salaryIntervalstringSalary interval, for example 1 YEAR, or null.
offersEquitybooleantrue when the role offers equity.
addressLocalitystringCity of the primary address, or null.
addressRegionstringState or region of the primary address, or null.
addressCountrystringCountry of the primary address, or null.
secondaryLocationsstring[]Additional locations for the role.
urlstringJob posting URL.
applyUrlstringDirect application URL.
jobIdstringAshby job ID.
publishedAtstringISO 8601 publish timestamp, or null.
compensationTiersobject[]Structured compensation tiers with components (details only).
descriptionHtmlstringFull job description as HTML (details only).
descriptionTextstringFull job description as plain text (details only).
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.
aiJdSummarystringJob summary from the AI add-on, or null.
aiSkillsstring[]Required skills from the AI add-on, or null.
aiTechnologiesstring[]Technologies/tools from the AI add-on, or null.
aiSenioritystringSeniority level from the AI add-on, or null.
aiSalaryEstimateMinnumberEstimated minimum salary from the AI add-on, or null.
aiSalaryEstimateMaxnumberEstimated maximum salary from the AI add-on, or null.
aiSalaryEstimateCurrencystringEstimate currency from the AI add-on, or null.
aiSalaryEstimateBasisstringBasis of the estimate from the AI add-on, or null.
aiSalaryEstimateConfidencenumberEstimate confidence from the AI add-on, or null.
enrichedEmailstringPublic business email from the contact add-on, or null.
enrichedContactNamestringContact person name from the contact add-on, or null.
enrichedJobTitlestringContact job title from the contact add-on, or null.
enrichedEmailStatusstringEmail verification status from the contact add-on, or null.
enrichedSourcestringSource of the enriched contact, or null.
enrichedConfidencenumberConfidence of the enriched contact, or null.

Example output record

Real record from a live run (input {"organizations": ["Ramp"], "maxJobs": 2, "withDetails": true}):

{
"title": "Security Engineer, Cloud",
"company": "Ramp",
"location": "New York, NY (HQ)",
"isRemote": true,
"workplaceType": "Hybrid",
"employmentType": "FullTime",
"department": "Engineering",
"team": "Backend",
"salaryRange": "$211.4K - $290.6K",
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryInterval": "1 YEAR",
"offersEquity": true,
"addressLocality": "New York City",
"addressRegion": "NY",
"addressCountry": "USA",
"secondaryLocations": ["Remote (Canada)", "Remote (US)", "Miami, FL"],
"url": "https://jobs.ashbyhq.com/Ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/Ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"publishedAt": "2026-04-07T17:12:35.753+00:00",
"observedAt": "2026-08-14T05:38:13.406Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ashby-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"organizations":["Ramp"],"department":"Engineering","salaryMin":150000,"maxJobs":50}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ashby-jobs-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"organizations":["Notion","Linear"],"remoteOnly":true,"searchQuery":"designer","maxJobs":100}'

Apify CLI:

apify call scrapers_lat/ashby-jobs-scraper \
--input '{"organizations":["Ramp"],"employmentType":"Intern","maxJobs":25}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per job returned (result event). The detail read charges via the details event only when the description was actually fetched. See the pricing tab for current prices.
  • No charge on failure. If a run errors or matches nothing, the actor writes a single item with a populated error field and does not charge for it.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 jobs per run. Upgrade for higher maxJobs.
  • AI add-ons (withJdSummary, withSkills, withSalaryEstimate) require a paid plan and are charged per job only when the model returns usable output.
  • Contact add-on is billed per attempt, plus an extra charge only when an email is found. Free Apify accounts enrich at most 3 results.

FAQ and troubleshooting

A company returned 0 jobs. Why? The board has no open jobs, or your filters excluded them all. Check the identifier matches the careers URL. Zero-result runs are not charged.

What is the company identifier? The path segment in the careers URL. For jobs.ashbyhq.com/Ramp, the identifier is Ramp. You can paste either the identifier or the full URL.

How do I get salary numbers? Salaries are returned as salaryMin, salaryMax, salaryCurrency, and salaryInterval whenever the company publishes them. For jobs without a published salary, enable withSalaryEstimate on a paid plan.

How do I filter to remote engineering roles above a salary? Set remoteOnly to true, department to Engineering, and salaryMin to your threshold.

Why are the AI and contact fields null? Those add-ons are off by default and (for AI) require a paid plan. Enable them to populate the ai* and enriched* fields.

Is this an official Ashby tool? No. This actor is independent and has no affiliation with Ashby. It reads only data that is publicly visible on Ashby company job boards.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Ashby. Accesses only publicly available job board data.