JazzHR Jobs API
💼 JazzHR Jobs API: Finde jedes Unternehmen, das auf JazzHR einstellt
Ein Python- und MCP-Schnellstart für die JazzHR API auf Apify. Eine einzige Suche deckt alle Arbeitgeber auf der Plattform ab – du musst vorher also nicht die Karriere-URL eines Unternehmens zusammensuchen.
Actor: JazzHR Jobs API auf Apify
Eingabeschema: Eingabeparameter
Kostenloses API-Token besorgen: apify.com
Die meisten JazzHR-Tools möchten zuerst eine Stellenbörsen-URL eines Unternehmens haben. Dieses Tool kennt sie alle bereits. Richte es auf die gesamte Plattform aus, und es liefert dir strukturierte Jobdaten: Titel, Arbeitgeber, Standort, Anstellungsart, das echte Veröffentlichungsdatum, den Bewerbungslink und die komplette Beschreibung als Markdown, HTML oder Klartext. Du kannst dir damit außerdem ein Verzeichnis aller Unternehmen ausgeben lassen, die auf JazzHR einstellen – praktisch, bevor du entscheidest, wessen weitere Seiten sich vollständig lohnen.

Textanleitung
Die JazzHR API liest die öffentlichen Karriereseiten aus, die JazzHR auf applytojob.com betreibt. Alle Eingaben sind optional: Lässt du sie leer, bekommst du eine Stichprobe aus der gesamten Plattform. Oder du grenz sie mit keywords, location, employmentType, remoteOnly und postedAfter ein. Die Keywords werden mit der Job-URL abgeglichen, bevor eine Anzeige geöffnet wird. So wird der Lauf nicht nur treffsicherer, sondern auch günstiger. Jede Zeile enthält title, companyName, locationText, employmentType, datePosted, validThrough, applyUrl und descriptionMarkdown. Stellt outputMode auf companiesOnly um, erhältst du eine Zeile pro Arbeitgeber mit einer Live-Zahl offener Stellen – damit baust du dir eine Liste von Unternehmen auf, die JazzHR nutzen. Stelle ihn auf urlsOnly, bekommst du den ganzen Job-Index für bereits wenige Upstream-Anfragen – das ist der günstigste Weg, um zu erfahren, which was it has given. Aktiviere newJobsOnly, und jeder zeitgeplante Laufet gibt nur noch Stellen aus, die er noch nicht gesehen hat.
Schnellstart
Voraussetzungen: Python 3.11 oder neuer, uv und ein kostenloses Apify-API-Token von apify.com.
git clone https://github.com/johnisanerd/Apify-JazzHR-Jobs-API.git
cd Apify-JazzHR-Jobs-API
uv sync
cp .env.example .env # paste your token into .env
uv run python jazzhr-jobs-api-example.pyJedes Beispiel ist ein eigenes Flag:
uv run python jazzhr-jobs-api-example.py --example jobs # full job records
uv run python jazzhr-jobs-api-example.py --example companies # employer directory
uv run python jazzhr-jobs-api-example.py --example urls # job index, no descriptions
uv run python jazzhr-jobs-api-example.py --example new-jobs # delta mode
uv run python jazzhr-jobs-api-example.py --example allJedes Beispiel fragt absichtlich nur eine kleine Anzahl von Zeilen ab. Du bezahlst pro zurückgegebener Zeile; prüfe also zunächst das Format der Daten und erhöhe dann maxItems.
Warum diese API verwenden
Keine Unternehmens-URL erforderlich. Andere Tools verlangen ein Board, bevor sie etwas tun. Hier lässt du die Eingabe leer, und die Suche erfasst alle Arbeitgeber der Plattform.
Ein Verzeichnis, das sonst niemand anbietet. Der Modus companiesOnly gibt jedes Unternehmen auf JazzHR mit dann einer Live-Anzahl offener Stellen zurück. Das ist die richtige Liste, wenn du nach Firmen suchst, die JazzHR einsetzen.
Beschreibungen bereit für LLM. Frag Markdown ab und reich das Ergebnis direkt an ein Modell weiter, ohne vorher HTML zu entfernen.
Zwei Quellen pro Angebot. Rund die Hälfte aller Live-Anzeigen liefert gar keine strukturierten Jobdaten. Those become the book then instead from the page markup mach gelesen, damit sie mit Titel, Arbeitgeber, Standort und Beschreibung ankommen und nicht halb leer sind. Das Feld parseStatus verrät dir, welche Zeilenart du hast.
Abgelaufene Anzeigen werden übersprungen und nicht berechnet. Rund ein Fünftel des Plattform-Index verweist auf Stellen, die bereits geschlossen sind. Du bezahlst nur für Stellen, die du tatsächlich bekommst, nicht für tote Links.
Ein Feed statt nur einem Schnappschuss. Der Delta-Modus merkt sich, was er bereits geliefert hat; dadurch liefert ein geplanter Lauf nur wirklich neue Anzeigen.
Kochrezepte
Für diesen Actor sind noch keine Store-Beispielseiten veröffentlicht. Die vier obigen Skripte decken denn das gleiche ab: eine gefilterte Jobsuche, das Arbeitgeberverzeichnis, den günstigen Job-Index und den Delta-Feed.
Tipp zur Zeitplanung. Speichere deine Eingabe als Task in der Apify Console, aktiviere newJobsOnly und plane den Lauf täglich oder wöchentlich. Ab dann enthält der Datensatz immer nur neue Beiträge seit dem letzten Lauf – die Pipeline bleibt also aktuell, ohne das jemand Hand anlegen muss.
Verwendungsbeispiele
Basisfall, entspricht dem Standardlauf:
{
"keywords": ["nurse", "registered nurse"],
"location": "TX",
"employmentType": "FULL_TIME",
"postedAfter": "2026-01-01",
"descriptionFormat": "markdown",
"maxItems": 10
}Fortgeschritten: eine Remote-only-Suche, die Personaldienstleister überspringt und jedes Beschreibungsformat zurückgibt:
{
"keywords": ["software engineer"],
"remoteOnly": true,
"excludeCompanies": ["someagency"],
"descriptionFormat": "all",
"maxConcurrency": 25,
"maxItems": 100
}Eingabeparameter
Jeder Parameter ist optional.
Parameter | Typ | Standard | Beschreibung |
| Array | leer | Unternehmens-Boards wie |
| Array | leer | Jobtitel-Wörter die behalten werden sollen. Werden vor dem Öffnen einer Anzeige angewendet und senken dadurch die Kosten des It – Läufig. |
| String |
|
|
| String |
|
|
| Array | leer | Nur bestimmte Unternehmens-Slugs einbeziehen. Für |
| Array | leer | Diese Unternehmens-Slugs überspringen. |
| String | leer | Text-Abgleich bei Stadt, Bundesland, PLZ oder Land. |
| String |
|
|
| Boolean |
| Nur Remote-Stellen berücksichtigen. |
| String | leer |
|
| Integer |
| Obergrenze bei Zeilen. Die Plattform hält über 100.000 aktive Jobs, damit bleibt der erste Lauf klein. |
| Boolean |
| Nur Anzeigen ausgeben, die nicht schon ein früherer Lauf gesehen hat. |
| String |
| Beim ersten Delta-Lauf entweder alles ausgeben oder nur erfassen, was heute existiert. |
| String |
| Benennbarer Speicher, der die gemerkten Job-IDs enthält. |
| Integer |
| Parallele Seitenabrufe, maximal 25. |
| Object | direct | Optionale Apify Proxy-Einstellungen. |
Ausgabeformat
Ein vollständiger Jobdatensatz:
{
"id": "job_20260617184930_ZL9U2ROWTQWMZDDD",
"jobId": "vMHpWDZa3l",
"title": "Account Executive",
"companyName": "Ease Inc",
"companySlug": "easeinc",
"companyWebsite": "http://www.ease.io",
"boardUrl": "https://easeinc.applytojob.com",
"applyUrl": "https://easeinc.applytojob.com/apply/vMHpWDZa3l/Account-Executive",
"canonicalUrl": "https://careers.easeinc.com/apply/vMHpWDZa3l/Account-Executive",
"city": "Irvine",
"region": "CA",
"postalCode": "92618",
"country": "US",
"locationText": "Irvine, CA, US",
"isRemote": true,
"employmentType": "FULL_TIME",
"experienceLevel": "Mid Level",
"datePosted": "2026-06-17",
"validThrough": "2026-09-15",
"descriptionMarkdown": "Ease is hiring an Account Executive...",
"parseStatus": "full",
"scrapedAt": "2026-08-24T18:22:04Z"
}Das Arbeitgeberverzeichnis gibt eine kleinere Zeile zurück:
{
"companySlug": "10pearls",
"boardUrl": "https://10pearls.applytojob.com",
"jobCount": 21,
"sampleJobTitles": ["AI Solutions Architect", "Associate Account Executive Intern"],
"scrapedAt": "2026-08-24T18:22:04Z"
}Das wird auch gesucht
Ist das eine JazzHR-Abgreifsel?
Er liest private Seiten wie ein Scraper, aber die Rückgabe ist eine API: strukturiertes JSON, Filter, stabile Feldnamen und einer kein HTML, es sei denn du fragst danach. Wenn du selbst Jobpostings hast, hast du hier die Variante, bei der jemand anderes den Parser wartet.
Was ist applytojob.com?
Das ist die Domain, auf der JazzHR die Karriereseiten seiner Kunden hostet. Ein Unternehmen erhält ein Bewerbungsboard unter company.applytojob.com, und auch Bewerbungs-Mails kommen von dieser Domain. Das suchen viele Menschen, nachdem sie sich irgendwo beworben haben.
Wie finde ich Unternehmen, die JazzHR verwenden?
Setze outputMode auf companiesOnly. Du erhältst für jeden Arbeitgeber eine Zeile mit Board-URL und einer Live-Zahl offener Stellen. Das Skript --example companies macht genau das.
Wie nutze ich die JazzHR API in Python?
Klon das Repository, führe uv run aus, hinterlege dein Apify-Token in .env und starte das Beispiel. Der Helper rows()führt das komplette Muster vor: Actor aufrufen und dann Datensatz zitieren.
Kann ich es zeitplanmäßig oder per MCP ausführen?
Beides. Speichere die Eingabe als Task in der Apify Console und plane den Lauf ein, idealerweise mit newJobsOnly. Für MCP fügen halt die Installationsabschnitte unten diesen Actor als Tool in Claude, Cursor oder ChatGPT ein.
Installation in Claude Cowork Desktop

Cowork ist der Automationsmodus der Desktop-App. Um es um in die JazzHR Jobs API als Tool bereitzustellen, fügen Sie den Apify-MCP-Server als Connector hinzu.
Öffne die Claude-Desktop-App und geh zu Einstellungen → Connectors (oder Einstellungen → Entwickler → Edit Config für die direkte Bearbeitung von
claude_desktop_config.json).macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Füge den Apify-MCP-Server hinzu, der nur mit diesem Actor vorbeladen ist:
{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"
]
}
}
}Starte die App neu. Beim ersten Werkzeugaufruf in „Save" Cowork hast du den OAuth-Prompt im Browser abzuschliessen; alternativ trägst du dein Apify-API-Token in den Connector-Einstellungen ein, um OAuth zu überspringen.
Bestätige in einem Cowork-Chat, dass das Tool verfügbar ist, und lass den die JazzHR Jobs API starten.
Lade die Desktop-App herunter und starte eine kostenlose Testversion: https://claude.ai/referral/uIlpa7nPLg Weitere Hilfe: https://docs.apify.com/platform/integrations/claude-desktop
Installation in Claude Code

Claude Code ist das CLI. Denk MCP-Server des Actors mit einem Befehl hinzu:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"Um ein Token fast statt Browser-OAuth zu nutzen:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api" \
--header "Authorization: Bearer YOUR_APIFY_TOKEN"Prüf danach mit claude mcp list oder dem Aufruf /mcp innerhalb einer Sitzung. Lass Claude Code die JazzHR Jobs API aufrufen.
Claude Code kostenlos testen: https://claude.ai/referral/uIlpa7nPLg MCP-Dokumentation von Claude Code: https://code.claude.com/docs/en/mcp
Installation in Claude (Website)

Auf claude.ai fügst du Apify als Connector hinzu und aktivierst dann genau das Tool dieses Actors.
Gehe zu Einstellungen → Connectors → Weitere Connectors und such nach Apify MCP Server. Installiere ihn (und aktiviere oder aktualstelle, falls ergebunden wird).
Bekräftige beim Verbinden dich mit deinem Apify-API-Token und aktiviere das Tool
johnvc/jazzhr-jobs-api.In einem Chat öffnest du + → Connectors und aktivierst bei Apify an.
Alternativ wählst du Add custom connector und fügst die vollständige MCP-URL
https://mcp.apify.com/?tools=actors,docs,johann/jazzhr-jobs-apiein, Anmeldung per OAuth, wenn angeboten.Bitte Claude, die JazzHR Jobs API auszuführen.
Claude im Web öffnen: https://claude.ai
Installation in Cursor

Cursor liest MCP-Server aus einer Projektdatei namens .cursor/mcp.json.
Erstelle in deinem Projekt die Datei
.cursor/mcp.json:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api"
}
}
}Wenn du Token-Auth statt Browser-OAuth bevorzugst, füg einen Header hinzu:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-api",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}Öffne Cursor → Einstellungen → MCP und bestätige, dass der Server apify verbunden ist ( grüner Punkt ).
Bitte Cursor in Composer oder Chat, die JazzHR Jobs API aufzurufen.
Neu bei Cursor? Hier kannst du es dir holen: https://cursor.com/referral?code=XQP4VBLI3NNX
Installation in ChatGPT

ChatGPT verbindet sich über den Entwicklermodus (verfügbar in den Plänen ChatGPT Pro, Plus, Business, Enterprise und Education) mit dem Apify-MCP-Server.
Klicken Sie auf Ihr Profilsymbol und gehen Sie dann zu Einstellungen > Apps. Wenn Sie keine Schaltfläche App erstellen sehen, öffnen Sie Erweiterte Einstellungen und aktivieren Sie den Entwicklermodus.
Klicken Sie auf App erstellen und füllen Sie das Formular aus:
Name: Apify
MCP-Server-URL:
https://mcp.apify.com/?tools=actors,docs,johnvc/jazzhr-jobs-apiAuthentifizierung: OAuth
Klicken Sie auf Erstellen und autorisieren Sie die Verbindung mit Apify.
Um die App in einem Chat zu verwenden, klicken Sie im Chat auf +, wählen Sie Entwicklermodus und wählen Sie Apify aus.
Weitere Hilfe: https://docs.apify.com/platform/integrations/mcp
Mit Sorgfalt erstellt von johnvc auf Apify.
Zuletzt aktualisiert: 2026.08.24
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.
Live job postings from 30+ ATS feeds and job boards, one schema. Live results need a Bearer key.
Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnisanerd/Apify-JazzHR-Jobs-API'
If you have feedback or need assistance with the MCP directory API, please join our Discord server