Jobs — entry 004 of 18
Arbeitsamt
The Bundesagentur für Arbeit's Jobsuche API is Germany's official public job-search service, covering listings, employer details, and application document references. Every request needs the fixed public clientId sent as an X-API-Key header rather than a per-user OAuth token, and returns JSON.
The Bundesagentur fur Arbeit's Jobsuche API is Germany's official public job-search service. Its live OpenAPI spec (jobsuche.api.bund.dev/openapi.yaml, enumerated this run) documents a two-step flow: search via /pc/v6/jobs (or /pc/v4/app/jobs) to get a job's refnr, then fetch the full record via /pc/v4/jobdetails/{base64(refnr)}.
GreatAPIs Score
Auth quickstart
- Every request needs the fixed public clientId sent as an `X-API-Key: jobboerse-jobsuche` header -- confirmed live this run: the same search query returns `403` with a 1-byte body without the header and a real `200` with job data once it's supplied. This value is a documented public constant in the project's own OpenAPI spec, not a secret.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Fetch one job's full detail record by its base64-encoded reference number
GEThttps://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v4/jobdetails/MTAwMDAtMTIwNzIyMTgxNi1T
X-API-Key: jobboerse-jobsuche
{
"stellenangebotsart" : "ARBEIT",
"stellenangebotsTitel" : "Entwickler (w/m/d)",
"quereinstiegGeeignet" : false,
"stellenangebotsBeschreibung" : "## Entwickler (w/m/d)\n\n**Was du machst.**\n\n- Entwicklung moderner Websites und Webanwendungen\n- Entwicklung und Anbindung von APIs und Schnittstellen\n- Entwicklung individueller Middleware-Lösungen\n- Automatisierung von Prozessen und Datenflüssen\n- Mitarbeit an einer eigenen Mitgliederverwaltung / CRM-Lösung\n- Unterstützung bei technischen Konzepten und neuen Produktideen\n\n**Was du mitbringst.**\n\n- Sehr gute Kenntnisse in PHP, JavaScript/TypeScript und modernen Webtechnologien\n- Erfahrung mit WordPress und individuellen Entwicklungen\n- Sicherer Umgang mit REST-APIs und Webhooks\n- Erfahrung mit Datenbanken (MySQL/PostgreSQL)\n- Kenntnisse in Serveradministration (Linux, Docker, NGINX/Apache)\n- Verständnis für Softwarearchitektur und skalierbare Systeme\n- Eigenständige und strukturierte Arbeitsweise\n- Lust, neue Technologien kennenzulernen und Lösungen zu entwickeln\n\n**Was wir bieten.**\n\nWir legen größten Wert auf ein extrem freies und angenehmes Arbeitsklima. Wir sind keine „normale“ Agentur. Überstunden, Wochenendarbeit, unbezahlte Praktika usw. gibt es bei uns nicht. Selbst feste Arbeitszeiten oder Anwesenheitspflicht halten wir für überflüssig. Jede:r arbeitet so, wie es am besten passt. Wie wir das genau umsetzen, erklären wir dir gern in einem persönlichen Gespräch.",
"arbeitszeitSchichtNachtWochenende" : false,
"arbeitszeitTeilzeitAbend" : false,
"arbeitszeitTeilzeitNachmittag" : false,
"arbeitszeitTeilzeitVormittag" : false,
"arbeitszeitTeilzeitFlexibel" : false,
"arbeitszeitVollzeit" : true,
"eintrittszeitraum" : {
"von" : "2026-07-16"
},
"verguetungsangabe" : "KEINE_ANGABEN",
"vertragsdauer" : "KEINE_ANGABE",
"istGeringfuegigeBeschaeftigung" : false,
"stellenlokationen" : [ {
"adresse" : {
"strasse" : "Planckstr.",
"hausnummer" : "13",
"plz" : "22765",
"ort" : "Hamburg",
"region" : "HAMBURG",
"land" : "DEUTSCHLAND"
},
"breite" : 53.556795,
"laenge" : 9.923274
} ],
"homeofficemoeglich" : false,
"istPrivateArbeitsvermittlung" : false,
"istArbeitnehmerUeberlassung" : false,
"veroeffentlichungszeitraum" : {
"von" : "2026-07-16"
},
"datumErsteVeroeffentlichung" : "2026-07-16",
"aenderungsdatum" : "2026-07-16T15:13:40.253",
"istBetreut" : true,
"hauptberuf" : "Entwickler/in Digitale Medien",
"firma" : "WV Workout Werbung GmbH",
"arbeitgeberKundennummerHash" : "_t9aKTDf0CkBTkqjjSZ1bShQICxRBYUXwQ2zwkICC6s=",
"allianzpartnerUrl" : "http://www.arbeitsagentur.de",
"allianzpartnerName" : "arbeitsagentur.de",
"referenznummer" : "10000-1207221816-S"
}MTAwMDAtMTIwNzIyMTgxNi1T is base64("10000-1207221816-S"), the refnr of a real live posting returned first by a size=1 search for "Entwickler" during this run's own probe -- not a curated pick. The search results themselves (30-31 KB for even a single hit, both the older /pc/v4/jobs and the documented /pc/v6/jobs shapes) are too big to embed, so this detail route was requested directly instead. Re-fetching the same URL twice in this run returned a byte-identical 2,802 B body.
Developer reference
https://rest.arbeitsagentur.de/jobboerse/jobsuche-serviceGotchas & limits
- The job-detail path takes the refnr **base64-encoded**, not raw: confirmed live, `GET .../pc/v4/jobdetails/10000-1207221816-S` (unencoded) 404s with a real JSON body `{"messages":[{"code":"STELLENANGEBOT_NICHT_GEFUNDEN"}], ...}`, while the base64 form of the identical refnr succeeds.
- The spec's own documented flow uses /pc/v6/jobs for search (richer, deeply-nested field names like `ergebnisliste`/`referenznummer`/`stellenlokationen`) and /pc/v4/jobdetails for the detail lookup -- but the older, undocumented /pc/v4/jobs search endpoint (simpler flat names: `stellenangebote`/`refnr`) still returns real 200 results too, confirmed live this run; the two search shapes are not interchangeable field-for-field.
- An older /pc/v2/jobdetails/{base64(refnr)} path (referenced in older third-party write-ups) now returns a bare `403` with a 1-byte body even with a valid key and correctly base64-encoded refnr -- it's gone, not merely deprecated-but-working. /pc/v3/jobdetails and /pc/v4/jobdetails both still work for the same refnr and return byte-identical bodies (confirmed live this run); the spec calls v4 the "recommended version."
- CORS is closed: confirmed live with no `access-control-allow-origin` header on the search endpoint, neither bare nor with an `Origin` header, and an OPTIONS preflight (`Access-Control-Request-Method: GET`) succeeds with `Allow: GET, HEAD, OPTIONS` but still no CORS header -- a preflight-shaped 200 that a browser would still block.
- No rate limit is documented anywhere in the live spec (jobsuche.api.bund.dev/openapi.yaml has zero mentions of "limit"/"throttle"/"quota") and none was observed in response headers this run -- unlike ai-dev-jobs or The Muse, there is nothing to report here.