openapi: "3.0.0" info: description: "Die größte Stellendatenbank Deutschlands durchsuchen, Details zu Stellenanzeigen und Informationen über Arbeitgeber abrufen.

Die Authentifizierung funktioniert per OAuth 2 Client Credentials mit JWTs. Folgende Client-Credentials können dafür verwendet werden:

**ClientID:** c003a37f-024f-462a-b36d-b001be4cd24a
**ClientSecret:** 32a39620-32b3-4307-9aa1-511e3d7f48a8. **Achtung**: der OAuth header muss 'OAuthAccessToken' heißen.

Die API verfügt außerdem nicht über ein gültiges TLS Zertifikat. Deswegen sollte die TLS-Validierung deaktiviert werden." version: "2.0.0" title: "Arbeitsagentur Jobsuche API" servers: - url: "https://rest.arbeitsagentur.de/jobboerse/jobsuche-service" paths: /pc/v4/app/jobs: get: summary: Jobsuche description: "Die Jobsuche ermöglicht verfügbare Jobangebote mit verschiedenen get Parametern zu filtern." responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JobSearchResponse' parameters: - in: query name: was schema: type: string description: Freitext suche Jobtitel example: Referatsleiter required: false - in: query name: wo schema: type: string description: Freitext suche Beschäftigungsort example: Berlin required: false - in: query name: berufsfeld schema: type: string description: Freitext suche Berufsfeld example: Informatik required: false - in: query name: page schema: type: integer description: Ergebnissseite example: 1 required: false - in: query name: size schema: type: integer example: 50 description: Anzahl von Ergebnissen required: false - in: query name: arbeitgeber schema: type: string example: Deutsche%20Bahn%20AG description: Arbeitgeber der Stelle required: false - in: query name: veroeffentlichtseit schema: type: integer example: 30 description: Anzahl der Tage, seit der Job veröffentlicht wurde. Kann zwischen 0 und 100 Tagen liegen. required: false - in: query name: zeitarbeit schema: type: boolean example: true description: Gibt an, ob Jobs von Zeitarbeitsfirmen in die Suchergebnisse einbezogen werden sollen (default true). required: false - in: query name: angebotsart schema: type: integer enum: - 1 - 2 - 4 - 34 example: 1 description: 1=ARBEIT; 2=SELBSTAENDIGKEIT, 4=AUSBILDUNG/Duales Studium, 34=Praktikum/Trainee required: false - in: query name: befristung schema: type: integer enum: - 1 - 2 example: 1 required: false description: Semikolon-separierte mehrere Werte möglich (z.B. befristung=1;2) 1 = befristet; 2 = unbefristet - in: query name: arbeitszeit schema: type: string enum: - vz - tz - snw - ho - mj description: Semikolon-separierte mehrere Werte möglich (z.B. arbeitszeit=vz;tz) vz=VOLLZEIT, tz=TEILZEIT, snw=SCHICHT_NACHTARBEIT_WOCHENENDE, ho=HEIM_TELEARBEIT, mj=MINIJOB example: vz required: false - in: query name: behinderung schema: type: boolean example: true required: false - in: query name: corona schema: type: boolean example: true description: Wenn true, werden nur Jobs die im Kontext von Corona angeboten werden angezeigt. required: false - in: query name: umkreis schema: type: integer description: Umkreis in Kilometern von Wo-Parameter. (z.B. 25 oder 200) example: 25 required: false /pc/v2/jobdetails/{hashID}: get: summary: Jobdetail description: "Abrufen von Details zu einem Job." parameters: - name: hashID in: path required: true schema: type: string example: VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo= responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JobDetails' /pc/v2/app/jobs/{hashID}/bewerbung: get: summary: Bewerbung Kontaktdaten description: "Abrufen von Kontaktdaten zu einem Job. Dieser Endpunkt benötigt Captcha-Headers." parameters: - name: hashID in: path required: true schema: type: string example: VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo= responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/JobApplicationDetails' /ed/v1/arbeitgeberlogo/{hashID}: get: summary: Unternehmen Logo description: "Abrufen des Logos eines Unternehmens" parameters: - name: hashID in: path required: true schema: type: string example: VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo= responses: '200': description: OK content: image/png: schema: type: string format: binary security: - clientCredAuth: - "read" components: securitySchemes: clientCredAuth: # <---- arbitrary name type: oauth2 description: "Die Authentifizierung funktioniert per OAuth-2-Client Credentials mit JWTs. Die Client Credentials sind z.B. in der App hinterlegt:

**ClientID:** c003a37f-024f-462a-b36d-b001be4cd24a
**ClientSecret:** 32a39620-32b3-4307-9aa1-511e3d7f48a8" flows: clientCredentials: tokenUrl: https://api-con.arbeitsagentur.de/oauth/gettoken_cc scopes: {} schemas: JobSearchResponse: type: "object" properties: _embedded: type: object properties: jobs: type: array items: type: object properties: hashId: type: string example: WBTAiM10b25rJgZqiLhVIHzAF9e0rnV_DXdsRZtlb54= hauptberuf: type: string example: Elektroinstallateur/in freieBezeichnung: type: string example: 20€/h für Ihr Können - Elektroniker (m/w/d) referenznummer: type: string example: 10000-1184867112-S mehrereArbeitsorteVorhanden: type: boolean arbeitgeber: type: string example: Gröger & Oltermann Sicherheits- und Elektrotechnik GmbH arbeitgeberHashId: type: string example: 0X2pzFXb4cWYH9YFQ1_nXg2u-eiDTRVOv0YCqcBh7_s= aktuelleVeroeffentlichungsdatum: type: string format: date example: 2021-07-25 eintrittsdatum: type: string format: date example: 2021-07-26 logoHashId: type: string example: KlOzPpaXv_UCBnWH0KKLHeFQ-aFnSfi8ryVJ4OK2SZE= angebotsart: type: string example: ARBEIT hauptDkz: type: string example: "2728" anzeigeAnonym: type: boolean angebotsartGruppe: type: string example: ARBEIT arbeitsort: type: object properties: ort: type: string example: Berlin region: type: string example: Berlin land: type: string example: Deutschland koordinaten: type: object properties: lat: type: number example: 52.4926832 lon: type: number example: 13.4025753 entfernung: type: string example: "3" _links: type: object properties: details: type: object properties: href: type: string example: http://jobboerse.arbeitsagentur.de/vamJB/stellenangebotAnzeigen.html?bencs=fvRY6ISnOfNcyi9cFHucsd2Qi8eRvpdwYRrRI8jerkUogoTZxPEl60aKIvpVWh0DK42lMRBgOhAEHkCHOI4M6w%3D%3D arbeitgeberlogo: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/ed/v1/arbeitgeberlogo/KlOzPpaXv_UCBnWH0KKLHeFQ-aFnSfi8ryVJ4OK2SZE= jobdetails: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v1/jobdetails/WBTAiM10b25rJgZqiLhVIHzAF9e0rnV_DXdsRZtlb54= _links: type: object properties: first: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v2/app/jobs?wo=Berlin&aktualitaet=100&FCT.ANGEBOTSART=ARBEIT&FCT.BEHINDERUNG=AUS&FCT.UMKREIS=200&page=0&size=3 self: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v2/app/jobs?wo=Berlin&aktualitaet=100&FCT.ANGEBOTSART=ARBEIT&FCT.BEHINDERUNG=AUS&sort=RELEVANZdesc&FCT.UMKREIS=200 next: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v2/app/jobs?wo=Berlin&aktualitaet=100&FCT.ANGEBOTSART=ARBEIT&FCT.BEHINDERUNG=AUS&FCT.UMKREIS=200&page=1&size=3 last: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v2/app/jobs?wo=Berlin&aktualitaet=100&FCT.ANGEBOTSART=ARBEIT&FCT.BEHINDERUNG=AUS&FCT.UMKREIS=200&page=44584&size=3 page: type: object properties: size: type: integer format: int32 example: 3 totalElements: type: integer format: int32 example: 133753 totalPages: type: integer format: int32 example: 44585 number: type: integer format: int32 example: 0 facetten: type: array items: type: object properties: id: type: string example: FCT.ANGEBOTSART typ: type: string example: SINGLE auswahl: type: array items: type: object properties: trefferAnzahl: type: integer format: int32 example: 133753 preset: type: boolean name: type: string example: ARBEIT aggregierungen: type: object properties: bundesland: type: object properties: Baden-Württemberg: type: integer format: int32 example: 1997 Bayern: type: integer format: int32 example: 2455 Berlin: type: integer format: int32 example: 29282 Brandenburg: type: integer format: int32 example: 23286 Bremen: type: integer format: int32 example: 638 Hamburg: type: integer format: int32 example: 1681 Hessen: type: integer format: int32 example: 1946 Mecklenburg-Vorpommern: type: integer format: int32 example: 11754 Niedersachsen: type: integer format: int32 example: 8643 Nordrhein-Westfalen: type: integer format: int32 example: 2583 Rheinland-Pfalz: type: integer format: int32 example: 556 Saarland: type: integer format: int32 example: 135 Sachsen: type: integer format: int32 example: 42687 Sachsen-Anhalt: type: integer format: int32 example: 23241 Schleswig-Holstein: type: integer format: int32 example: 699 Thüringen: type: integer format: int32 example: 2503 plzebene2: type: object properties: "10": type: integer format: int32 example: 14790 "12": type: integer format: int32 example: 6136 "13": type: integer format: int32 example: 4656 "14": type: integer format: int32 example: 8733 "15": type: integer format: int32 example: 5145 "16": type: integer format: int32 example: 4689 "17": type: integer format: int32 example: 5081 "18": type: integer format: int32 example: 3319 "19": type: integer format: int32 example: 4039 "20": type: integer format: int32 example: 703 "21": type: integer format: int32 example: 286 "22": type: integer format: int32 example: 495 "23": type: integer format: int32 example: 271 "24": type: integer format: int32 example: 401 "25": type: integer format: int32 example: 37 "26": type: integer format: int32 example: 163 "27": type: integer format: int32 example: 77 "28": type: integer format: int32 example: 432 "29": type: integer format: int32 example: 1412 "30": type: integer format: int32 example: 598 "31": type: integer format: int32 example: 203 "32": type: integer format: int32 example: 57 "33": type: integer format: int32 example: 189 "34": type: integer format: int32 example: 103 "35": type: integer format: int32 example: 68 "36": type: integer format: int32 example: 55 "37": type: integer format: int32 example: 169 "38": type: integer format: int32 example: 6735 "39": type: integer format: int32 example: 7725 "40": type: integer format: int32 example: 569 "41": type: integer format: int32 example: 20 "42": type: integer format: int32 example: 81 "44": type: integer format: int32 example: 436 "45": type: integer format: int32 example: 239 "46": type: integer format: int32 example: 53 "47": type: integer format: int32 example: 85 "48": type: integer format: int32 example: 150 "49": type: integer format: int32 example: 147 "50": type: integer format: int32 example: 634 "51": type: integer format: int32 example: 46 "52": type: integer format: int32 example: 92 "53": type: integer format: int32 example: 196 "54": type: integer format: int32 example: 16 "55": type: integer format: int32 example: 230 "56": type: integer format: int32 example: 63 "57": type: integer format: int32 example: 29 "58": type: integer format: int32 example: 36 "59": type: integer format: int32 example: 44 "60": type: integer format: int32 example: 933 "61": type: integer format: int32 example: 22 "63": type: integer format: int32 example: 100 "64": type: integer format: int32 example: 164 "65": type: integer format: int32 example: 229 "66": type: integer format: int32 example: 87 "67": type: integer format: int32 example: 74 "68": type: integer format: int32 example: 117 "69": type: integer format: int32 example: 133 "70": type: integer format: int32 example: 814 "71": type: integer format: int32 example: 134 "72": type: integer format: int32 example: 40 "73": type: integer format: int32 example: 48 "74": type: integer format: int32 example: 69 "75": type: integer format: int32 example: 71 "76": type: integer format: int32 example: 135 "77": type: integer format: int32 example: 18 "78": type: integer format: int32 example: 57 "79": type: integer format: int32 example: 70 "80": type: integer format: int32 example: 901 "81": type: integer format: int32 example: 252 "82": type: integer format: int32 example: 69 "83": type: integer format: int32 example: 34 "84": type: integer format: int32 example: 50 "85": type: integer format: int32 example: 240 "86": type: integer format: int32 example: 110 "87": type: integer format: int32 example: 29 "88": type: integer format: int32 example: 48 "89": type: integer format: int32 example: 43 "90": type: integer format: int32 example: 318 "91": type: integer format: int32 example: 90 "92": type: integer format: int32 example: 52 "93": type: integer format: int32 example: 51 "94": type: integer format: int32 example: 43 "95": type: integer format: int32 example: 48 "96": type: integer format: int32 example: 90 "97": type: integer format: int32 example: 82 "98": type: integer format: int32 example: 37 "99": type: integer format: int32 example: 553 "01": type: integer format: int32 example: 16078 "02": type: integer format: int32 example: 3530 "03": type: integer format: int32 example: 2456 "04": type: integer format: int32 example: 15565 "06": type: integer format: int32 example: 12311 "07": type: integer format: int32 example: 610 "08": type: integer format: int32 example: 1064 "09": type: integer format: int32 example: 6326 parserResult: type: object properties: result: type: string example: Berlin koordinaten: type: array items: type: object properties: lat: type: number example: 52.51079045 lon: type: number example: 13.42550815 suchmodus: type: string example: UMKREISSUCHE JobApplicationDetails: type: object properties: angebotskontakt: type: object properties: anrede: type: string example: HERR nachname: type: string example: Markus vorname: type: string example: Richter strasse: type: string example: Bundesplatz. 1a ort: type: string example: Berlin plz: type: string example: "13597" region: type: string example: Berlin land: type: string example: Deutschland email: type: string example: StR@bmi.bund.de firma: type: string example: Markus Richter Beratung festnetznummer: type: object properties: laendervorwahl: type: string example: "+49" vorwahl: type: string example: "30" rufnummer: type: string example: "2345654" mobilnummer: type: object properties: laendervorwahl: type: string example: "+49" vorwahl: type: string example: "1222" rufnummer: type: string example: "0050005" url: type: string example: https://bmi.bund.de bewerbungsarten: type: array items: type: string example: SCHRIFTLICH zeitraumVon: type: string format: date example: 2021-07-25 zeitraumBis: type: string format: date example: 2021-12-31 geforderteAnlagen: type: string example: "Geforderte Anlagen: Lebenslauf Zeugnisse" JobDetails: type: object properties: aktuelleVeroeffentlichungsdatum: type: string format: date example: 2021-07-25 laufzeitBis: type: string format: date example: 2021-12-31 angebotsart: type: string example: ARBEIT arbeitgeber: type: string example: Kerstin Nickel Frisör branchenbezeichnung: type: string example: Frisörsalons arbeitgeberHashId: type: string example: dj32HpGiU3tdrYi6ohcMOtUhtBLPvwGIRiRlcvDsebg= arbeitsorte: type: array items: type: object properties: land: type: string example: Deutschland region: type: string example: Berlin plz: type: string example: "13597" ort: type: string example: Berlin strasse: type: string example: Jüdenstr. 31 koordinaten: type: object properties: lat: type: number example: 52.5383857 lon: type: number example: 13.2029692 arbeitszeitmodelle: type: array items: type: string example: TEILZEIT befristung: type: string example: UNBEFRISTET betriebsgroesse: type: string example: VON_6_BIS_50 eintrittsdatum: type: string format: date example: 2021-07-25 ersteVeroeffentlichungsdatum: type: string format: date example: 2021-05-23 freieBezeichnung: type: string example: Friseur/in (m/w/d) im TOP-Salon in Berlin Spandau -1- hashId: type: string example: VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo= hauptberuf: type: string example: Friseur/in modifikationsTimestamp: type: string example: 2021-07-25T13:12:33.913 stellenbeschreibung: type: string example: kded referenznummer: type: string example: 10000-1183999289-S fuerFluechtlingeGeeignet: type: boolean nurFuerSchwerbehinderte: type: boolean anzahlOffeneStellen: type: integer format: int32 example: 1 arbeitgeberAdresse: type: object properties: land: type: string example: Deutschland region: type: string example: Berlin plz: type: string example: "13597" ort: type: string example: Berlin strasse: type: string example: Jüdenstr. 31 strasseHausnummer: type: string example: Jüdenstr. 31 fertigkeiten: type: array items: type: object properties: bezeichnung: type: string example: Kundenberatung -betreuung auspraegung: type: string example: ERWEITERTE_KENNTNISSE sprachkenntnisse: type: array items: type: object properties: bezeichnung: type: string example: Deutsch auspraegung: type: string example: EXPERTENKENNTNISSE staerken: type: array items: type: string example: Auffassungsfähigkeit/-gabe mobilitaet: type: object properties: reisebereitschaft: type: string example: NICHT_ERFORDERLICH berufserfahrung: type: string example: MIT_BERUFSERFAHRUNG fuehrungskompetenzen: type: object properties: fuehrungsverantwortung: type: string example: KEINE_FUEHRUNGSVERANTWORTUNG ausbildungen: type: array items: type: object properties: bezeichnung: type: string example: Friseur/in arbeitgeberdarstellungUrl: type: string example: http://www.friseur-nickel.de hauptDkz: type: string example: "9907" istBetreut: type: boolean istGoogleJobsRelevant: type: boolean angebotsartGruppe: type: string example: ARBEIT anzeigeAnonym: type: boolean _links: type: object properties: self: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v1/jobdetails/VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo= arbeitgeberlogo: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/ed/v1/arbeitgeberlogo/c2bGR3XF4cN4A0TIft0f1uegmBYlLIfRujFUeAtcaA8= bewerbung: type: object properties: href: type: string example: https://api-con.arbeitsagentur.de/prod/jobboerse/jobsuche-service/pc/v1/jobs/VK2qoXBe0s-UAdH_qxLDRrZrY5iY8a1PJt3MjJCXsdo=/bewerbung details: type: object properties: href: type: string example: http://jobboerse.arbeitsagentur.de/vamJB/stellenangebotAnzeigen.html?bencs=EBsSdF%2Ff5cSNZGzMtdpkxBTiwFIMjlnTaMsYhhxLfpdNtz7aagMVmZpmqq65g0a6lHiLT9GUPN0tncIm7LLUhw%3D%3D externalDocs: description: "Weiterführende Dokumentation" url: "https://github.com/bundesAPI/jobsuche-api/blob/main/README.md"