Company Career Site Jobs Scraper (ATS)
Pricing
$1.50 / 1,000 jobs
Company Career Site Jobs Scraper (ATS)
Collects every open job from company career sites on Workday, Greenhouse, Lever, Ashby, SmartRecruiters and Workable, with salary, location, remote status and full description in one clean format.
Pricing
$1.50 / 1,000 jobs
Rating
0.0
(0)
Developer
Mina
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
What does Company Career Site Jobs Scraper do?
Company Career Site Jobs Scraper collects every open job straight from a company's own career site, on the six applicant tracking systems most companies use: Workday, Greenhouse, Lever, Ashby, SmartRecruiters and Workable. Paste a company's job board or careers page link and get each job's title, locations, country, remote status, employment type, department, posting date, salary range and full description in one clean, consistent format, whichever system the company runs.
Try it with the two prefilled companies: open the Actor, click Start, and the jobs are ready in a few seconds. Because it runs on the Apify platform, you also get API access, scheduled runs, integrations (Google Sheets, Make, Zapier, Slack, webhooks) and run monitoring.
Why scrape company career sites?
- Fresher than job boards. A company's own career site is where a job appears first and where it disappears when filled, so you never chase stale reposts.
- Salary benchmarking. Pay ranges are read from the board's own pay fields where it has them, and from the posting text otherwise, then normalized to minimum, maximum, currency and period.
- Competitor and hiring intelligence. Track which teams a company is growing, where it is hiring, and how fast, by running the same list on a schedule.
- Job aggregation. Feed a niche job board, a newsletter or an internal tool with clean rows from hundreds of companies.
- Recruiting and sales leads. A company hiring for a role is often a company that needs your product or your candidates.
How to scrape jobs from a company career site
- Open the company's careers page and click through to its list of open jobs.
- Copy the link from your browser's address bar. Links like
boards.greenhouse.io/airbnb,jobs.lever.co/zoox,jobs.ashbyhq.com/ramp,nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite,careers.smartrecruiters.com/ServiceNowandapply.workable.com/huggingfaceall work, and so does a link to any single job on those boards. - Paste it into Company job board or careers page links, one company per line. Mix systems freely.
- Optionally narrow the results with keywords, locations, remote only or posted within (days).
- Click Start, then download the results when the run finishes.
Only have the company's own careers page? Paste it (for example https://www.figma.com/careers/). The Actor looks for the job board the page links to or embeds, and otherwise checks whether a board under the company's name exists, keeping it only when its jobs really are that company's.
Filters in the link are kept. On Workday, filter the career site by job family, location or search term, then copy the link: the same filters apply. Lever's team, location and commitment filters are kept the same way.
Input
Everything is set on the Input tab. In JSON, the input looks like this:
{"startUrls": ["https://job-boards.greenhouse.io/airbnb","https://jobs.ashbyhq.com/ramp","https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"],"keywords": ["engineer"],"locations": ["US", "London"],"remoteOnly": false,"postedWithinDays": 30,"maxJobsPerCompany": 100,"includeDescription": true}
| Field | What it does |
|---|---|
startUrls | Company job board or careers page links, one per company. |
keywords | Keeps jobs whose title contains one of these words. Words match where a word starts, so engineer also finds "Engineering Manager". Words of three letters or fewer must match whole, so Go skips "Government", and terms such as .NET, C++ or R&D work as written. |
locations | Keeps jobs in one of these places: a city, region, country name or two-letter country code. A two-letter code is always a country: FR keeps jobs in France, never San Francisco, and US also keeps US jobs listed as "City, ST". To narrow to a US state, list its cities (boards write "San Francisco, CA"), as a state code would read as a country. |
remoteOnly | Keeps only jobs marked remote, or whose location says remote. |
postedWithinDays | Keeps jobs posted in the last N days. 0 keeps all. |
maxJobsPerCompany | Stops after this many matching jobs per link. Default: 1,000. |
includeDescription | Adds the full job description as plain text. Default: on. |
proxyConfiguration | Usually not needed. If a board refuses, the Actor retries through Apify's residential proxy on its own when your plan includes it. |
Output
Each job becomes one row. Here is a real example, with its description shortened:
{"jobId": "f564dcf9-9390-4a3f-896f-8047a5086040","title": "Mobile Engineer, Android","company": "ramp","ats": "ashby","url": "https://jobs.ashbyhq.com/ramp/f564dcf9-9390-4a3f-896f-8047a5086040","applyUrl": "https://jobs.ashbyhq.com/ramp/f564dcf9-9390-4a3f-896f-8047a5086040/application","locations": ["New York, NY (HQ)", "Remote (Canada)", "San Francisco, CA", "Remote (US)"],"country": "US","isRemote": true,"workplaceType": "hybrid","employmentType": "full-time","department": "Engineering","postedAt": "2025-07-31T21:58:34Z","salaryMin": 189000,"salaryMax": 330000,"salaryCurrency": "USD","salaryPeriod": "year","salarySource": "structured","requisitionId": null,"descriptionText": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams...","sourceUrl": "https://jobs.ashbyhq.com/ramp","scrapedAt": "2026-10-01T18:17:13Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has two views: Jobs (the main columns) and Full details (IDs, apply link and description).
Data fields
| Field | Description |
|---|---|
jobId | The job's ID on its board. |
title | Job title. |
company | Company name as the board shows it; for Lever, Ashby and Workday boards, the company's name in the link (such as ramp). |
ats | The system the board runs on: workday, greenhouse, lever, ashby, smartrecruiters or workable. |
url | Link to the job posting. |
applyUrl | Link to the application form. Missing for SmartRecruiters jobs when descriptions are off. |
locations | Every location the job lists. |
country | ISO two-letter country code, when the board gives a country or the location ends with one. |
isRemote | true when the board marks the job remote or a location says remote. |
workplaceType | remote, hybrid or onsite, when the board says. |
employmentType | full-time, part-time, contract, temporary or internship, when the board says. |
department | Department or team. Workday boards do not publish one. |
postedAt | When the job was posted, in UTC. |
salaryMin, salaryMax | The pay range. When a posting lists several ranges in one currency (by region or level), the range spans all of them. |
salaryCurrency | ISO currency code, such as USD or EUR. |
salaryPeriod | year, month, week, day or hour. |
salarySource | structured when the board has its own pay fields, text when the range was read from the posting. |
requisitionId | The company's internal requisition number, when published. |
descriptionText | The full job description as plain text. |
sourceUrl | The link you pasted that led to this job. |
scrapedAt | When the job was collected, in UTC. |
How much does it cost to scrape company career sites?
The Actor uses pay-per-event pricing, so you pay only for jobs saved:
- $0.0015 per job, which is $1.50 per 1,000 jobs, with the full description and parsed salary included. There is no start fee.
For example, all 157 open jobs at Airbnb cost about $0.24. Apify's free plan includes $5 of monthly credit, which covers roughly 3,300 jobs. Links that return nothing are never charged as results, and if you set a maximum cost for a run, the Actor stops as soon as it is reached.
Tips for scraping career sites
- Filter on the board first. On Workday, filtering the career site by job family or location before copying the link means fewer jobs are read, so runs are faster.
- Use keywords and locations to keep only the jobs you need; you only pay for jobs that match.
- Set
maxJobsPerCompanyto cap very large employers. - Schedule runs (for example daily, with
postedWithinDays: 1) to monitor new openings. - Turn off
includeDescriptionif you only need titles, locations and pay. Pay ranges are still read on every board except SmartRecruiters, where the description is what holds them. - Pasting the same board twice, or two links to the same board, scrapes it once.
FAQ, disclaimers and support
Which career sites are supported? Company boards on Workday (myworkdayjobs.com and myworkdaysite.com), Greenhouse, Lever, Ashby, SmartRecruiters and Workable, plus companies' own careers pages that lead to one of them. Workable's cross-company job search is not supported; paste a company's own Workable page instead.
Why do some jobs have no salary? Many companies don't publish pay. Where they do, the Actor reads it; Greenhouse, Lever and Ashby often have dedicated pay fields, while Workday, SmartRecruiters and Workable pay ranges are read from the posting text.
What happens to links that return nothing? They are not saved as rows, so you are not charged for them. Each is listed with its reason (board doesn't exist, no open jobs, no jobs matching your filters, unusable link) in the FAILED_INPUTS record of the run's key-value store, and the run's status message gives the counts. A run fails only when every board refused or could not be read.
Is it legal to scrape company career sites? This Actor collects publicly posted job listings that companies publish so that people can find and apply for them. It collects no personal data. You are still responsible for making sure your use complies with each site's terms and with the laws that apply to you, such as data protection and copyright rules for republishing descriptions. If in doubt, ask a lawyer.
Found a problem or need a custom solution? Open an issue on the Issues tab and we will look into it. Custom scrapers and job data feeds are available on request.