JazzHR Jobs Scraper avatar

JazzHR Jobs Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
JazzHR Jobs Scraper

JazzHR Jobs Scraper

Scrape open jobs from any company career board on JazzHR with title, department, location, employment type, salary, full description, apply link and posting dates. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

JazzHR Jobs Scraper

JazzHR Jobs Scraper

Here is one real result, with every field the actor returns (the long descriptionHtml and descriptionText are trimmed here with a note; the AI add-on fields are populated because those add-ons were enabled on the run):

{
"title": "Dining Manager",
"company": "Fooda",
"companyWebsite": "https://www.fooda.com",
"companyLogo": "https://s3.amazonaws.com/resumator/customer_20131114185749_IYPDORMQZELVJKZX/logos/20150127172910_New_FoodaLogo_2.png",
"department": "Cafe Operations",
"location": "Tempe, AZ",
"remote": false,
"city": "Tempe",
"region": "AZ",
"postalCode": "85218",
"country": null,
"employmentType": "FULL_TIME",
"industry": null,
"experienceLevel": "Manager/Supervisor",
"descriptionHtml": "<p><strong><u>Who We Are:</u></strong><br>Our story began in 2011 ... [full HTML job description trimmed for readability]",
"descriptionText": "Who We Are:\nOur story began in 2011 ... [full plain-text job description trimmed for readability]",
"salaryCurrency": null,
"salaryMin": null,
"salaryMax": null,
"salaryPeriod": null,
"postedAt": "2026-08-07",
"validThrough": "2026-11-05",
"jobId": "job_20260807214051_P0EIH9VZR4N1SKVM",
"jobCode": "VWB4NzAQ6t",
"applyUrl": "https://fooda.applytojob.com/apply/VWB4NzAQ6t/Dining-Manager",
"board": "fooda",
"aiJdSummary": "The Dining Manager at Fooda is responsible for overseeing the daily operations of a cafeteria, ensuring a high-quality service experience for customers. This role involves managing staff, inventory, and financial accountability while maintaining Fooda's standards of service and sanitation. Ideal candidates should have a background in large food service or enterprise catering, strong organizational skills, and the ability to work independently.",
"aiSkills": ["customer service", "organizational skills", "detail-oriented", "independent judgment", "problem-solving", "inventory management", "staff recruitment and training", "accounting"],
"aiTechnologies": ["POS software"],
"aiSeniority": "mid",
"aiSalaryEstimateMin": 50000,
"aiSalaryEstimateMax": 70000,
"aiSalaryEstimateCurrency": "USD",
"aiSalaryEstimateBasis": "annual",
"aiSalaryEstimateConfidence": "medium",
"source": "JazzHR",
"observedAt": "2026-08-14T08:28:05.095Z"
}

The most complete JazzHR jobs scraper available. From any company career board hosted on JazzHR it returns every field the posting exposes: title, company and website, logo, department, location and remote flag, employment type, industry, experience level, full HTML and plain-text description, salary, posted and expiry dates, and the direct apply link, plus optional AI job summary, skills and seniority extraction, salary estimates, and contact enrichment.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Give the actor a JazzHR board handle (the part before .applytojob.com) or a full board URL. It loads that company's open positions, and when withDetails is on (the default) opens each posting to read its JobPosting structured data, then writes one normalized record per job to the run's dataset. Each record carries the title, hiring company and website, department, location with a parsed city/region/postal code and a remote flag, employment type, full HTML and plain-text description, salary when stated, posted and expiry dates, and the direct apply link. No account or key is required.

Optional filters narrow the results (keyword, remote-only, employment type, location, department). Optional paid add-ons attach an AI job summary, extracted skills/technologies/seniority, a market salary estimate for postings that omit one, and public contact enrichment.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 open jobs from the ticketmanager board.

{
"board": "ticketmanager",
"withDetails": true,
"maxJobs": 10
}

Set board to any JazzHR board handle or URL. Add searchQuery or the filter fields to narrow the postings.

Input reference

FieldTypeRequiredDefaultDescription
boardstringyesticketmanagerThe JazzHR board to scrape. Board handle (the part before .applytojob.com) or the full board URL.
withDetailsbooleannotrueOpen each posting to collect the full description, employment type, salary, and dates. Turn off for a faster title-and-location-only run.
maxJobsintegerno(all)Maximum number of jobs to collect.
searchQuerystringno(empty)Keep only jobs whose title, department, location, or description contains this text, for example manager, engineer.
remoteOnlybooleannofalseKeep only jobs flagged as remote.
employmentTypestringno(empty)Keep only jobs whose employment type contains this text, for example full, part, contract, intern.
locationFilterstringno(empty)Keep only jobs whose location contains this text, for example New York, Remote, CA.
departmentFilterstringno(empty)Keep only jobs whose department contains this text, for example engineering, sales.
enrichContactsbooleannofalsePaid add-on. For each result without an email, try to find a public business contact email and person name. Billed per attempt, plus extra when an email is found.
enrichContactsMaxintegerno50Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3.
withJdSummarybooleannofalsePaid add-on. Plain-English summary of each job description. Requires a paid plan. Billed per usable AI result.
withSkillsbooleannofalsePaid add-on. Extract required skills, technologies, and seniority. Requires a paid plan. Billed per usable AI result.
withSalaryEstimatebooleannofalsePaid add-on. Estimate market salary for postings without one. Requires a paid plan. Billed per usable AI result.

Output reference

One dataset item per job. Types: string, integer, boolean, string[], or null when the source value is absent.

FieldTypeDescription
titlestringJob title.
companystringHiring company name.
companyWebsitestringHiring company website, or null.
companyLogostringHiring company logo URL, or null.
departmentstringDepartment, or null.
locationstringJob location text, or null.
remotebooleantrue when the job is flagged remote, false when known not remote, null when unknown.
citystringCity parsed from the posting, or null.
regionstringState/region parsed from the posting, or null.
postalCodestringPostal code, or null.
countrystringCountry, or null.
employmentTypestringEmployment type, for example FULL_TIME, or null.
industrystringIndustry, or null.
experienceLevelstringExperience level / requirements, or null.
descriptionHtmlstringFull job description as HTML, or null.
descriptionTextstringFull job description as plain text, or null.
salaryCurrencystringSalary currency when stated, or null.
salaryMinintegerMinimum stated salary, or null.
salaryMaxintegerMaximum stated salary, or null.
salaryPeriodstringSalary period (for example annual/hourly) when stated, or null.
postedAtstringDate the job was posted (YYYY-MM-DD), or null.
validThroughstringDate the posting expires (YYYY-MM-DD), or null.
jobIdstringJazzHR unique job code, or the job code fallback.
jobCodestringThe board's short job code used in URLs.
applyUrlstringDirect apply link for the posting.
boardstringThe JazzHR board handle scraped.
aiJdSummarystringPaid add-on. Plain-English job summary, or null when not enabled.
aiSkillsstring[]Paid add-on. Required skills, or null.
aiTechnologiesstring[]Paid add-on. Tools/languages/frameworks, or null.
aiSenioritystringPaid add-on. intern, junior, mid, senior, lead, manager, executive, or unknown, or null.
aiSalaryEstimateMinintegerPaid add-on. Estimated minimum salary (postings with no stated salary), or null.
aiSalaryEstimateMaxintegerPaid add-on. Estimated maximum salary, or null.
aiSalaryEstimateCurrencystringPaid add-on. Estimate currency (ISO 4217), or null.
aiSalaryEstimateBasisstringPaid add-on. annual or hourly, or null.
aiSalaryEstimateConfidencestringPaid add-on. low, medium, or high, or null.
sourcestringAlways JazzHR.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on error records (board not found / source down); success records omit it.

When enrichContacts is enabled, results also carry enrichedEmail, enrichedEmailStatus, enrichedContactName, enrichedJobTitle, enrichedConfidence, and enrichedSource.

Example output record

The real Fooda Dining Manager record (from input {"board": "fooda", "maxJobs": 3, "withDetails": true, "withJdSummary": true, "withSkills": true, "withSalaryEstimate": true}) is shown in full at the top of this page. The descriptionHtml and descriptionText there are trimmed for readability; the actual fields return the complete job description.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~jazzhr-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"board":"ticketmanager","withDetails":true,"maxJobs":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~jazzhr-jobs-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"board":"fooda","searchQuery":"manager","remoteOnly":false}'

Apify CLI:

apify call scrapers_lat/jazzhr-jobs-scraper \
--input '{"board":"fooda","maxJobs":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per job record returned (result event). See the pricing tab for the current per-result price.
  • Detail enrichment billed separately. With withDetails on, each posting whose detail page is fetched charges a details event. Turn it off to skip that charge.
  • Add-ons billed separately. Contact enrichment and the AI add-ons (ai_jd_summary, ai_skills, ai_salary_estimate) are optional paid events charged only when they produce usable output; the AI add-ons require a paid Apify plan.
  • No charge on failure. If the board is not found or the source is down, the actor writes a single item with a populated error field and does not charge for it.
  • Free Apify plans are capped at 10 jobs per run (and 3 contact enrichment attempts). Upgrade for higher maxJobs.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.

FAQ and troubleshooting

Where do I find the board handle? It is the subdomain of the career page URL. For https://fooda.applytojob.com/apply/jobs/, the handle is fooda. You can paste the full URL instead and the actor extracts it.

A run returned no jobs. Why? The board has no open positions, or your filters excluded everything. Remove searchQuery/remoteOnly/location filters and try again. Empty runs are not charged.

Can I get a faster, lighter run? Yes. Set withDetails to false to return title, department, and location only, without opening each posting (and without the details charge).

Why is salary null? Many postings do not publish a salary. When withSalaryEstimate is enabled, the AI add-on fills aiSalaryEstimate* fields for postings with no stated salary. Stated salaries populate salaryMin/salaryMax directly.

Do the AI add-ons work on a free plan? No. The AI add-ons require a paid Apify plan. Contact enrichment runs on free plans but is capped at 3 attempts per run.

Is this an official JazzHR tool? No. This actor is independent and has no affiliation with JazzHR. It reads only the publicly available career boards companies host on JazzHR.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with JazzHR. Accesses only the publicly available career boards companies host on JazzHR.