BambooHR Jobs Scraper
Pricing
from $2.50 / 1,000 results
BambooHR Jobs Scraper
Scrape open jobs from any company's BambooHR careers site: titles, departments, locations, remote and hybrid flags, employment status, experience level, published pay, posting dates and full descriptions. Paste a careers site URL, get clean JSON. No login, no API key, no proxy.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Anyx Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

BambooHR Jobs Scraper
Every open job on any company's BambooHR careers site — with full descriptions, workplace type and published pay — as clean JSON.
Thousands of small and mid-sized companies, from Vendasta and Bitly to fast-growing startups, run their hiring on BambooHR and publish their open roles on a BambooHR careers site. This Actor reads any of those careers sites and returns every open job: title, department, employment status, city, state, postal code and country, whether the job is on-site, remote or hybrid, the minimum experience asked for, the posting date, the full description as HTML and plain text, and the pay whenever the company publishes it. Paste a careers site URL; there is no login, no API key, and no proxy to configure. Built for job aggregators, recruiting and talent-intelligence teams, salary benchmarking, and hiring-signal tracking.
⚡ Quick start
{"startUrls": [{ "url": "https://vendasta.bamboohr.com/careers" }],"maxItems": 5}
🧩 Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | yes | — | BambooHR careers site URLs (https://<company>.bamboohr.com/careers) or single job URLs from one (…/careers/<id>). |
maxItems | integer | no | — | Maximum number of jobs per start URL. The input form starts at 5; leave it empty to get the whole careers site. |
includeDescription | boolean | no | true | Include descriptions and pay: open each job to read its full description, published pay, minimum experience, posting date and office address. Turn it off for a quick list. |
proxyConfiguration | object | no | { "useApifyProxy": false } | Proxy settings. BambooHR careers sites need no proxy. |
Finding a company's careers site. Every BambooHR customer that posts jobs has a careers site at
https://<company>.bamboohr.com/careers. Many also embed those jobs on their own website; those
pages are not supported as input, so use the <company>.bamboohr.com/careers address instead. A
quick way to find it: open any job on the company's careers page and look for bamboohr.com in the
apply link or the page source, or try https://<company-name>.bamboohr.com/careers directly. Older
…/jobs/ and …/jobs/view.php?id=<id> links work too.
📤 Output
Each open job is one dataset row. With Include descriptions and pay turned off, the fields that
only the job page carries (compensation, minimumExperience, datePosted, postalCode, the
office country, descriptionHtml and descriptionText) are null.
Fields
| Field | Type | Description |
|---|---|---|
id | string | BambooHR job ID, unique within the company's careers site. |
title | string | Job title. |
company | string | Company name, as shown on its careers site. |
companySlug | string | The company's subdomain on bamboohr.com. |
careersSiteUrl | string | The company's careers site on BambooHR. |
url | string | The job's public page. |
applyUrl | string | Where candidates apply. BambooHR puts the application form on the job's page. |
department | string | Department name. |
employmentStatus | string | Employment status, such as Full-Time or Part-Time. |
location | string | City, state and country as one line. |
city | string | City of the office, or of the area a remote job is open to. |
state | string | State or province. |
postalCode | string | Postal code of the office. |
country | string | Country of the office, or the country a remote job is open to. |
workplaceType | string | on-site, remote or hybrid. |
remote | boolean | Fully remote. |
hybrid | boolean | Hybrid. |
compensation | string | Published pay exactly as the company wrote it, such as $176,000 - $242,000. null when the job lists none. |
minimumExperience | string | Minimum experience level, such as Mid-level, Experienced, Manager/Supervisor or Executive. |
datePosted | string | When the job was posted (YYYY-MM-DD). |
descriptionHtml | string | Job description as HTML. |
descriptionText | string | Job description as plain text. |
💡 Use cases
- Job aggregation — feed job boards, newsletters and niche listing sites with fresh postings from the companies you track.
- Salary benchmarking — collect published pay by title, location, experience level and company.
- Hiring signals — watch which departments a company is growing, and where, for sales prospecting or investment research.
- Recruiting intelligence — monitor competitors' open roles, their remote policy and how long they stay open.
❓ FAQ
- Do I need an API key or a BambooHR account? No. The Actor reads the same public careers sites any candidate sees.
- Do I need a proxy? No. It runs without one by default.
- The company's jobs are on its own website. Embedded job lists on a company's own domain are not supported as input. Use the company's
https://<company>.bamboohr.com/careersaddress; the jobs are the same. - Why is the pay empty? Companies choose whether to publish pay.
compensationisnullwhen the job lists none, and it is kept exactly as the company typed it, because companies write it in many formats. - Can I scrape many companies at once? Yes. Add one careers site URL per company to
startUrls;maxItemsapplies to each one separately. - Why did a run return fewer jobs than expected? The careers site may list fewer open jobs than you expected, or the company name in the URL may be wrong; the log says when a careers site is not found. Open an issue if something looks off.
🔗 More scrapers by Anyx
🤝 Anyx Solutions
We build custom scrapers and data-extraction pipelines.
- Email: tantosthor@gmail.com
🖼 Image credit
Image credit: bamboohr.com