BambooHR Jobs Scraper & API
Pricing
from $1.30 / 1,000 jobs
BambooHR Jobs Scraper & API
Scrape jobs directly from BambooHR ATS via one fast API. Deep coverage of US-heavy SMBs and mid-market employers across SaaS, e-commerce, healthcare & fintech. Zero ghost jobs, verified daily — built for job boards, AI agents & hiring research.
BambooHR Jobs Scraper & API — search 60,000+ live jobs scraped from BambooHR, the HR platform popular with North American SMBs, used by companies like Johnson Controls, Waystone, and Revere Health. One normalized JSON schema, verified daily, zero ghost jobs. Open the actor, hit Try for free, and run the default input (queries: ["Software Engineer", "Account Manager"]) — no code or API key required.
What does BambooHR Jobs Scraper do?
- Searches 60,000+ live BambooHR jobs across thousands of company boards in one call — no board tokens, no per-company setup
- Filters by work model, employment type, experience level, salary range, skills, companies, and posting date
- Excludes noise with negative keywords — prefix any query token with
-(["Software Engineer", "-staff"]) - Returns de-duplicated, verified listings — duplicates merged by company + canonical title + listing URL, expired jobs removed daily, so no ghost jobs
- Enriches every job with AI-extracted data: typed hard/soft skills, responsibilities, benefits, a 2–3 sentence summary, geocoded locations, USD-normalized salaries, and work-authorization signals (H1B sponsorship, clearance)
- Optionally attaches the full company profile — funding, leadership, ratings, tech stack, H1B history — with one switch
- Exports to JSON, CSV, or Excel, and plugs into schedules, webhooks, Zapier, Make, and the Apify API
Why scrape BambooHR jobs?
BambooHR is the HR platform popular with North American SMBs — an HR system first, with hiring built in, which means its careers pages surface employers most job-data sources never see: regional healthcare providers, colleges, contractors, fund administrators, and local service businesses. These companies rarely syndicate to the big aggregators, so their BambooHR careers pages are often the only structured source for their openings — high-value inventory precisely because it's hard to reach.
Jobo's live BambooHR index currently holds 60,000+ open roles, heavily North American — 58% in the United States and 21% in Canada, with the UK at about 12%. Companies hiring through BambooHR right now include Johnson Controls, Waystone, Revere Health, Lanes Group, and Highlands College — alongside thousands of small employers with no other structured job feed.
Can I use the official BambooHR API instead?
BambooHR has no official public jobs API — its documented ATS endpoints require the customer's own API key, and hosted careers pages are served by an unofficial, undocumented per-subdomain JSON endpoint. No ATS offers a public cross-company search API. That's the gap this actor closes: one query across every BambooHR careers page Jobo indexes, with normalized fields the raw pages don't provide — geocoded locations, USD-normalized salaries, and AI-extracted skills.
What data can you extract from BambooHR?
Every result is a structured job record in Jobo's normalized schema — the same shape across all Jobo actors, so you can mix sources freely. Highlights:
| Field | Description |
|---|---|
title / normalized_title | Raw posting title + canonical title for grouping |
company | Company preview: name, website, logo, summary, industries (+ id for enrichment) |
locations | Geocoded: city, region, country, latitude/longitude |
compensation | {min, max, currency, period}, normalized to annual USD for filtering |
employment_type / workplace_type / experience_level | e.g. "Full-time" / "Remote" / "Mid Level" |
qualifications | AI-extracted must-have & preferred skills (typed hard/soft), education, certifications |
responsibilities / benefits | Bullet lists extracted from the description |
summary / description | 2–3 sentence AI recap + full description, HTML stripped |
listing_url / apply_url | Canonical BambooHR listing + direct apply link |
is_h1b_sponsor / is_work_auth_required / is_clearance_required | Work-authorization signals |
date_posted / created_at / updated_at | Employer posting date + Jobo index/refresh timestamps |
source | Always "bamboohr" for this actor |
Set include_company_details: true to replace the company preview with the fully enriched profile: funding rounds and investors, leadership, employee ratings, tech stack, headcount and revenue bands, and H1B filing history. The complete field list is on this page's Output schema tab and at docs.jobo.world.
How much does it cost?
This actor uses pay-per-result pricing: you pay a fixed rate per job record returned — the current rate is in the pricing box on this page. There are no separate compute, proxy, or storage charges, and a run never returns more than page_size results, so spend is fully predictable. Apify's free plan includes enough credit to pull thousands of jobs, so you can evaluate the full dataset before paying anything.
How do I scrape BambooHR jobs?
- Open the actor and click Try for free — you'll need a free Apify account.
- Enter your search on the Input tab: keep the default
queries(["Software Engineer", "Account Manager"]) or add your own titles andlocations. - Narrow with filters (optional): work model, experience level, salary range, skills, or specific companies.
- Click Start. A typical run finishes in under a minute.
- Export your results from the Output tab as JSON, CSV, or Excel — or connect a schedule, webhook, or integration to make it run on autopilot.
⬇️ Input
Every field is optional — an empty input returns the newest BambooHR jobs. Up to 5 queries are OR-ed together; prefix a token with - to exclude it.
| Parameter | Type | Description |
|---|---|---|
queries | array (≤5) | Job titles or keywords, OR-ed. -token excludes. |
locations | array | Cities, regions, or countries — geocoded server-side. |
work_models | array | remote, hybrid, onsite. |
employment_types | array | full-time, part-time, contract, internship, freelance, temporary. |
experience_levels | array | intern, entry, mid, senior, lead, executive. |
skills_include / skills_exclude | array | Match against AI-extracted skills. |
companies_include / companies_exclude | array | Filter by company name (case-insensitive). |
min_salary_usd / max_salary_usd | integer | Annual USD bounds; jobs without a disclosed salary are excluded when set. |
posted_after / posted_before | string | ISO 8601 (2026-01-01) or relative (7 days ago). |
page / page_size | integer | Page 1–100 × 1–100 results per page (default 50). |
include_company_details | boolean | Attach the full enriched company profile (default false). |
The full input schema with defaults is on this page's Input schema tab.
Remote roles, biggest page
{"queries": ["Software Engineer"],"work_models": ["remote"],"page_size": 100}
Remote-friendly roles across Canada
{"queries": ["Account Manager", "-intern"],"locations": ["Canada"],"work_models": ["remote", "hybrid"],"page_size": 100}
⬆️ Output example
Results land in the dataset under two views: BambooHR Job Listings (one row per job) and Company details (populated when include_company_details is on). Export as JSON, CSV, or Excel. A typical record:
{"id": "0679fbb4-aeb9-48f1-b84b-d57952d12b00","title": "Account Manager","normalized_title": "Account Manager","summary": "The Account Manager owns a book of existing B2B customers, prioritizing retention and renewal while driving account growth…","company": {"id": "0df846ae-ed9f-4198-a4d0-37c81b917c46","name": "Skuuudle","website": "https://www.skuuudle.com/","logo_url": "https://images.jobo.world/logos/skuuudle.jpg","industries": ["Data Collection & Internet Portals", "Advertising & Marketing"],"details_url": "https://connect.jobo.world/api/companies/0df846ae-ed9f-4198-a4d0-37c81b917c46"},"locations": [{ "location": "Remote" }],"employment_type": "Full-time","workplace_type": "Remote","experience_level": "Mid Level","qualifications": {"must_have": {"skills": [{ "name": "B2B Customer Management", "type": "hard" },{ "name": "SaaS", "type": "hard" },{ "name": "Data Analytics", "type": "hard" }]},"preferred": {"skills": [{ "name": "Retail Industry Experience", "type": "hard" },{ "name": "Retail Pricing Experience", "type": "hard" }]}},"listing_url": "https://skuuudle.bamboohr.com/careers/63","apply_url": "https://skuuudle.bamboohr.com/careers/63","source": "bamboohr","date_posted": "2026-07-08T00:00:00Z","description": "…full job description, HTML stripped…"}
What can you expect from a run?
- One run returns one page — up to 100 results per call. Walk
page1→100 to reach 10,000 jobs per query; for full-inventory pulls use ATS Jobs Feed (cursor pagination, 1,000 jobs per batch). - Freshness: every listing is re-verified daily; expired jobs are removed within 24 hours of disappearing from the source board.
- Salaries are normalized to annual USD using current FX rates, so
min_salary_usdworks across currencies. - Geocoding is best-effort — loose strings like
"Worldwide"won't geocode, but the raw location string is always preserved. industriescan be empty for long-tail companies that Jobo's enrichment pipeline hasn't profiled yet.sourceis always"bamboohr"— handy for provenance when you mix datasets from several Jobo actors.
Integrations, API & MCP
Everything on the Apify platform works out of the box: schedules (hourly/daily/weekly runs), webhooks on run completion, and one-click integrations with Zapier, Make, n8n, Slack, Google Sheets, and Google Drive.
Prefer code? Call this actor as a BambooHR jobs API from Python or JavaScript with the Apify API clients — start a run, wait for it, and page through the dataset in a few lines (ready-made snippets are in the API section of this page). AI agents can run it through the Apify MCP server, which exposes this actor as a tool.
Use cases
| Who | What for |
|---|---|
| Job boards | Local and regional North American job boards built on hard-to-reach SMB inventory |
| AI agents | Career copilots and résumé-matching agents grounded in live US and Canadian openings |
| Recruiters | Sourcing intel on SMBs that never post to the big aggregators |
| HR tech | SMB hiring dashboards for the North American market |
| Salary research | Compensation benchmarks from US and Canadian SMB postings |
| Market research | Main-street hiring trends across North American regions and industries |
❓ FAQ
Should I use this actor or ATS Jobs API?
Use this actor if you only need BambooHR — simpler input, identical output schema. Use ATS Jobs API to search BambooHR together with Workday, SmartRecruiters, iCIMS, and 70+ other platforms in one call.
How do I download more than 10,000 jobs?
Use ATS Jobs Feed — it streams the full inventory with cursor pagination at 1,000 jobs per batch, built for ETL pipelines.
Are duplicate listings removed?
Yes. Jobo de-duplicates by company + canonical title + listing URL before results are returned, so cross-posted duplicates of the same role are merged.
Can I filter by salary?
Yes — min_salary_usd / max_salary_usd, matched against USD-normalized compensation. Jobs that don't disclose a salary are excluded whenever a salary filter is set.
How fresh is the data?
New BambooHR jobs are indexed within 24 hours of appearing; every listing is re-verified daily and removed within 24 hours of expiring.
Is BambooHR data US-only?
No, but it is heavily North American: roughly 79% of the live sample is in the US and Canada combined (58% US, 21% Canada), with the UK at about 12%. Most employers are SMBs — Johnson Controls is the notable enterprise outlier currently hiring through BambooHR. Use locations to scope a run to any country or city.
Does this actor cover private or unlisted BambooHR postings?
No — it indexes publicly published careers pages only, the listings employers post to be found. Internal-only or unlisted requisitions never appear.
Where can I check if the API behind this actor is up?
At jobo.world/status — the live status page for the Jobo Connect API that powers every Jobo actor.
⚖️ Is it legal to scrape BambooHR job listings?
Yes — this actor only extracts publicly posted job listings, the content employers publish specifically to be found and shared. It does not collect private user data. Note that scraped results can incidentally contain personal data (e.g., a recruiter's name in a job description); personal data is protected by the GDPR and similar regulations, so only process it with a legitimate reason and consult a lawyer if unsure. Read more in Apify's guide to the legality of web scraping.
BambooHR is a trademark of BambooHR LLC. This actor is an independent product and is not affiliated with, endorsed by, or sponsored by BambooHR LLC.
🔗 Related actors
| Actor | Best for |
|---|---|
| ATS Jobs API | Search 75+ ATS platforms in one call |
| ATS Jobs Feed | Bulk export for data pipelines — cursor pagination, 1,000 jobs/batch |
| AI Deep Job Search | Describe your ideal job in plain English, get AI-scored matches |
| JazzHR Jobs Scraper | 85,000+ jobs from US small businesses on JazzHR |
| Breezy Jobs Scraper | 45,000+ jobs from agencies and small businesses on Breezy HR |
| Crunchbase Company Lookup | Funding, leadership, and tech-stack data for any company |
About Jobo & support
Jobo builds job-data infrastructure: a normalized, daily-verified index of jobs scraped directly from company ATS boards, powering job boards, AI agents, and HR-tech products.
- Questions or bugs? Open a ticket on this actor's Issues tab — issues are answered within hours.
- Website: jobo.world · Enterprise API: jobo.world/enterprise · API status: jobo.world/status
- Email: enrico@jobo.world