BambooHR Jobs Scraper avatar

BambooHR Jobs Scraper

Pricing

from $0.90 / 1,000 jobs

Go to Apify Store
BambooHR Jobs Scraper

BambooHR Jobs Scraper

Open jobs from any BambooHR careers page with department, employment status, location, posting date and the pay the employer enters. List board names, links or company domains, or leave the list empty to search more than 40,000 open BambooHR jobs in our daily index.

Pricing

from $0.90 / 1,000 jobs

Rating

0.0

(0)

Developer

deriverge s.r.o.

deriverge s.r.o.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

BambooHR Jobs Scraper returns the open jobs from the BambooHR careers pages you list, one row per job: title, department, employment status, location, posting date and the pay the employer typed into BambooHR's compensation field. Enter board names such as atlas or links such as https://atlas.bamboohr.com/careers in Career sites and click Start. Leave the list empty to search our daily index of more than 40,000 open BambooHR jobs instead. BambooHR boards publish no team, workplace type or update date. It costs $1.80 per 1,000 jobs on the Free plan ($0.90 on Business), and the $5 of monthly credit in Apify's Free plan covers about 2,700 jobs.

What data does it return?

FieldDescription
title, departmentJob title and the BambooHR department, such as Corporate or Engineering - R&D.
employmentType, employmentTypesThe employment status in the company's own words (FT, Full-Time, India - Salaried) and the normalized full-time, part-time, contract or internship.
locations, countriesCity and state as BambooHR lists them, such as Clovis, California, and the country codes read from them. A location that names no country, such as Tokoroa, Waikato, leaves countries empty.
salaryTextThe compensation field as the employer wrote it: $90,000 - $120,000, $37-48 or $22 - $25 Hourly DOE.
salaryMin, salaryMax, salaryCurrency, salaryPeriodThe same pay as numbers, with the currency and a period such as year or hour. When the text names no period, the size of the amount decides: $37-48 is read as hourly, $90,000 - $120,000 as yearly.
salaryYearlyMin, salaryYearlyMaxThe pay converted to a year (hourly times 2,080), to compare hourly and salaried jobs.
postedAtThe day the job was posted on BambooHR, as midnight UTC.
companyNameThe company name from the careers page, such as Provost & Pritchard.
urlThe job page, https://<board>.bamboohr.com/careers/<id>, which also holds the application form.
remote, workArrangementremote is true only when BambooHR flags the job as remote, otherwise null. workArrangement is remote, hybrid or onsite, read from the location and from clear sentences in the ad.
description, languageThe ad as plain text and its language code, with Include the full job description on.
skills, experienceYearsMin, experienceYearsMax, educationLevel, visaSponsorshipRead from the ad: tools and certifications such as GAAP or QuickBooks, years of experience asked for, the lowest degree mentioned and any statement on visa sponsorship.
seniority, jobCategoryLevel and category read from the title, such as mid and finance.
key, jobId, company, input, reference, firstSeenAtStable key bamboohr:<board>:<id>, BambooHR's job number, the board name, your input line, your own label for the company and when this run read the job.
team, workplaceType, updatedAt, companyWebsite, applyUrlAlways empty when you list boards: BambooHR does not publish the first four, and the form is on the page in url.

How to scrape BambooHR jobs

  1. Put each company on its own line in Career sites: the board name (atlas), the board link (https://atlas.bamboohr.com/careers) or the company's domain. A domain works when the company's careers page links to its BambooHR board. Lines that lead to another applicant tracking system are skipped and listed in SUMMARY.
  2. Filter if you need to: Title keywords (any of) and Exclude title keywords look at the title, department and team, Countries takes names or codes such as US or Canada, and Seniority, Job category, Work arrangement, Minimum yearly salary and Posted within the last N days narrow it further.
  3. Turn on Include the full job description for the ad text and the skills, experience and education read from it. The actor opens every job's detail page anyway to get its date and pay, so this adds no requests.
  4. Click Start. The Output tab lists the jobs for export as CSV, Excel or JSON, and SUMMARY in the key-value store gives the number of jobs per board.

From the API, US jobs at three companies with their descriptions, paying at least $80,000 a year:

{
"companies": ["ppeng", "https://sunayu.bamboohr.com/careers", "alkira"],
"countries": ["US"],
"minYearlySalary": 80000,
"includeDescription": true
}

Example output

A job from a run on 11 October 2026 over four boards with descriptions on. The description is cut after its first sentence here, marked ....

{
"key": "bamboohr:ppeng:119",
"ats": "bamboohr",
"company": "ppeng",
"companyName": "Provost & Pritchard",
"jobId": "119",
"title": "Assistant Controller",
"locations": [
"Clovis, California"
],
"remote": null,
"department": "Corporate",
"team": null,
"employmentType": "FT",
"workplaceType": null,
"salaryText": "$90,000 - $120,000",
"postedAt": "2026-10-08T00:00:00.000Z",
"updatedAt": null,
"url": "https://ppeng.bamboohr.com/careers/119",
"applyUrl": null,
"description": "Summary\n\nProvost & Pritchard is looking for an Assistant Controller to play a key role in protecting the financial integrity and supporting the operational efficiency of the organization. ...",
"language": "en",
"reference": null,
"input": "bamboohr:ppeng",
"firstSeenAt": "2026-10-11T16:32:22.334Z",
"seniority": "mid",
"jobCategory": "finance",
"employmentTypes": [
"full-time"
],
"workArrangement": "onsite",
"countries": [
"US"
],
"salaryMin": 90000,
"salaryMax": 120000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryYearlyMin": 90000,
"salaryYearlyMax": 120000,
"visaSponsorship": null,
"skills": [
"GAAP",
"CPA",
"Excel",
"QuickBooks",
"Power BI"
],
"experienceYearsMin": null,
"experienceYearsMax": null,
"educationLevel": "bachelor"
}

How much does it cost to scrape BambooHR jobs?

Free planStarterScaleBusiness
1,000 jobs$1.80$1.44$1.17$0.90

You pay only for the events in the table. There is no start fee, and compute time and proxies are included.

Four boards (Provost & Pritchard, Sunayu, Alkira and Gold Coast Dental) had 126 open jobs on 11 October 2026, which cost $0.2268 on the Free plan and $0.1134 on Business. Jobs your filters remove, jobs the new-only mode has already sent and inputs that turn out to be on another system cost nothing.

Limits

  • Detail pages are read 5 at a time, for up to 300 jobs per board. The four boards above took 27 seconds with descriptions, and the two prefilled boards, 31 jobs, 5 seconds.
  • Pay is free text. 108 of the 126 jobs above had it. Entries without a currency sign (80,000-150,000), shares such as 42% of collections and words such as DOE stay in salaryText without numbers, and $800 for a weekend dentist shift is read as a monthly amount.
  • Some employers enter no office address for remote jobs, and those jobs come with empty locations: 18 of 27 jobs on Alkira's board in October 2026.
  • A company domain is matched only through a link on its careers page. If that fails, as it did for anchorqea.com, enter the board name from the BambooHR link.
  • A board that its owner has closed to the public answers HTTP 401, and SUMMARY names it with no jobs.

Searching all BambooHR jobs

With Career sites empty, the actor searches our index of BambooHR boards, rebuilt every night: on 11 October 2026 it held 42,467 open jobs from 5,923 companies. Title keywords then match the title only, the newest jobs come first and Maximum jobs (index search) stops the run at 1,000 unless you change it. Index rows name the company in company and the board in companySlug and careerSiteUrl.

The index has no posting dates or pay for BambooHR, so without descriptions those fields are empty and Posted within the last N days cannot remove anything. With Include the full job description on, every board in the result is read again during the run, which fills dates, pay and applyUrl and leaves out jobs closed since the night before. In our runs, engineer or developer in US jobs returned 300 rows from the index in 11 seconds, and 100 healthcare jobs read live from 68 boards took 29 seconds.

FAQ

Companies publish these job boards so that anyone can read and apply, and the actor reads the same public job data the pages load, as their robots.txt allows. It collects nothing about applicants or employees. You are responsible for how you use the jobs, including any republishing.

Can I get alerts when a company posts a new job?

Yes. Save the boards as a task, turn on Return only jobs posted since the last run and schedule it daily. Every run then returns only jobs that were not on the boards the time before, and the CHANGES record counts the ones that closed. A task keeps its own snapshot; for runs started from the API, give a Watch name.

Support

This actor is built and maintained by deriverge s.r.o., a software company based in the Czech Republic. If a run fails or a field you need is missing, please open an issue in the Issues tab or write to us at info@deriverge.com. We respond in English and Czech. Runs can be scheduled in Apify Console or started from the API tab, which has examples for Python, JavaScript and cURL and works with Make, Zapier, n8n and the Apify MCP server. If the actor saves you time, a short review helps other people find it.