BambooHR Jobs Scraper & API avatar

BambooHR Jobs Scraper & API

Pricing

from $1.30 / 1,000 jobs

Go to Apify Store
BambooHR Jobs Scraper & API

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.

Pricing

from $1.30 / 1,000 jobs

Rating

0.0

(0)

Developer

Jobo

Jobo

Maintained by Community

Actor stats

1

Bookmarked

17

Total users

4

Monthly active users

14 days ago

Last modified

Categories

Share

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, career sites checked daily for new and expired listings. Open the actor, hit Try for free, and run the default input (queries: ["Software Engineer", "Account Manager"]) — no code or API key required.

Service Status

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 listings — one record per posting, keyed on the ATS's native job ID; repeats across an employer's boards are merged, and expired jobs drop out through the daily career-site checks
  • Processes every job with Jobo's AI extraction: typed hard/soft skills, responsibilities and benefits when the posting states them, a short summary, geocoded locations, annual-USD salaries when pay is disclosed, and work-authorization signals (H1B sponsorship, clearance) when the posting mentions them
  • Optionally attaches the full company profile — funding, ratings, tech stack, H1B history where available — 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:

FieldDescription
title / normalized_titleRaw posting title + canonical title for grouping
companyCompany preview: name, website, logo, summary, industries (+ id for enrichment)
locationsGeocoded: city, region, country, latitude/longitude
compensation{min, max, currency, period}, normalized to annual USD for filtering
employment_type / workplace_type / experience_levele.g. "Full-time" / "Remote" / "Mid Level"
qualificationsAI-extracted must-have & preferred skills (typed hard/soft), education, certifications
responsibilities / benefitsBullet lists extracted from the description
summary / descriptionShort AI summary + full description, HTML stripped
listing_url / apply_urlCanonical BambooHR listing + the employer's ATS application page, or the listing itself when there is no separate form
is_h1b_sponsor / is_work_auth_required / is_clearance_requiredWork-authorization signals
date_posted / created_at / updated_atEmployer posting date + Jobo index/refresh timestamps
sourceAlways "bamboohr" for this actor

Set include_company_details: true to replace the company preview with the fully enriched profile: where available, funding rounds and investors, 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 jobo.world/docs.

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?

  1. Open the actor and click Try for free — you'll need a free Apify account.
  2. Enter your search on the Input tab: keep the default queries (["Software Engineer", "Account Manager"]) or add your own titles and locations.
  3. Narrow with filters (optional): work model, experience level, salary range, skills, or specific companies.
  4. Click Start. A typical run finishes in under a minute.
  5. 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.

ParameterTypeDescription
queriesarray (≤5)Job titles or keywords, OR-ed. -token excludes.
locationsarrayCities, regions, or countries — geocoded server-side.
work_modelsarrayremote, hybrid, onsite.
employment_typesarrayfull-time, part-time, contract, internship, freelance, temporary.
experience_levelsarrayintern, entry, mid, senior, lead, executive.
skills_include / skills_excludearrayMatch against AI-extracted skills.
companies_include / companies_excludearrayCompany name (whole-name match, case-insensitive), website domain, or Jobo company id. See the FAQ.
min_salary_usd / max_salary_usdintegerAnnual USD bounds; jobs without a disclosed salary are excluded when set.
posted_after / posted_beforestringISO 8601 (2026-01-01) or relative (7 days ago).
page / page_sizeintegerPage 1–100 × 1–100 results per page (default 50).
include_company_detailsbooleanAttach 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 page 1→100 to reach 10,000 jobs per query; for full-inventory pulls use Career Site Jobs Feed (cursor pagination, 1,000 jobs per batch).
  • Freshness: Jobo checks every tracked BambooHR career site daily for new and expired listings; jobs removed from the employer's site drop out of the feed.
  • Salaries: disclosed salaries are converted to annual USD using a fixed exchange-rate table, so min_salary_usd works across currencies (values are approximate).
  • Geocoding is best-effort — loose strings like "Worldwide" won't geocode, but the raw location string is always preserved.
  • industries can be empty for long-tail companies that Jobo's enrichment pipeline hasn't profiled yet.
  • source is 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

WhoWhat for
Job boardsLocal and regional North American job boards built on hard-to-reach SMB inventory
AI agentsCareer copilots and résumé-matching agents grounded in live US and Canadian openings
RecruitersSourcing intel on SMBs that never post to the big aggregators
HR techSMB hiring dashboards for the North American market
Salary researchCompensation benchmarks from US and Canadian SMB postings
Market researchMain-street hiring trends across North American regions and industries

❓ FAQ

My company filter returned zero jobs — why?

One of three causes — the Company match report in the run's Output tab gives a per-name answer:

  1. Not the full stored name. Matching is whole-name, case-insensitive: Glenmark won't find Glenmark Pharmaceuticals. Passing the company's website domain (glenmark.com) or Jobo company id works too and sidesteps spelling entirely.
  2. The company is on a different ATS. This actor only covers BambooHR — use ATS Jobs API for cross-platform coverage.
  3. Another filter excluded everything. queries is pre-filled with example job titles — clear it to search a company's whole job list.

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 150+ other platforms in one call.

How do I download more than 10,000 jobs?

Use Career Site 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. Listings are de-duplicated by the source ATS's native job ID within each employer.

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 picked up on the next daily check. Jobo checks every tracked BambooHR career site daily for new and expired listings, and jobs removed from the employer's site drop out of the feed.

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.

Jobo only collects job postings employers publish publicly on their career sites, and returns no personal data about candidates. Postings can still incidentally contain personal data (e.g., a recruiter's name in a job description), which the GDPR and similar regulations protect, so only process it with a legitimate reason. Whether a use is lawful depends on your jurisdiction and use case, so check with your counsel for anything sensitive. 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.

ActorBest for
ATS Jobs APISearch 150+ ATS platforms in one call
Career Site Jobs FeedBulk export for data pipelines — cursor pagination, 1,000 jobs/batch
AI Deep Job SearchDescribe your ideal job in plain English, get AI-scored matches
JazzHR Jobs Scraper85,000+ jobs from US small businesses on JazzHR
Breezy Jobs ScraperLive jobs from agencies and small businesses on Breezy HR

About Jobo & support

Jobo builds job-data infrastructure: a normalized index of jobs built from daily checks of company ATS career sites, powering job boards, AI agents, and HR-tech products.