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/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/v4/app/jobs: get: summary: Jobsuche via App description: "Die Jobsuche via App 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' /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: stellenangebote: type: array items: type: object properties: hashId: type: string example: WBTAiM10b25rJgZqiLhVIHzAF9e0rnV_DXdsRZtlb54= beruf: type: string example: Elektroinstallateur/in refnr: type: string example: 10000-1184867112-S arbeitgeber: type: string example: Gröger & Oltermann Sicherheits- und Elektrotechnik GmbH aktuelleVeroeffentlichungsdatum: type: string format: date example: 2021-07-25 eintrittsdatum: type: string format: date example: 2021-07-26 arbeitsort: type: object properties: plz: type: string example: 90537 ort: type: string example: Berlin strasse: type: string example: Altdorfer Straße 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 modifikationsTimestamp: type: string maxErgebnisse: type: string page: type: string size: type: string facetten: type: array items: type: object properties: befristung: type: object properties: counts: type: object maxCount: type: integer behinderung: type: object properties: counts: type: object maxCount: type: integer pav: type: object properties: counts: type: object maxCount: type: integer berufsfeld: type: object properties: counts: type: object maxCount: type: integer arbeitsort: type: object properties: counts: type: object maxCount: type: integer ausbildungsart: type: object properties: counts: type: object maxCount: type: integer veroeffentlichtseit: type: object properties: counts: type: object maxCount: type: integer schulbildung: type: object properties: counts: type: object maxCount: type: integer arbeitsort_plz: type: object properties: counts: type: object maxCount: type: integer arbeitgeber: type: object properties: counts: type: object maxCount: type: integer beruf: type: object properties: counts: type: object maxCount: type: integer branche: type: object properties: counts: type: object maxCount: type: integer arbeitszeit: type: object properties: counts: type: object maxCount: type: integer eintrittsdatum: type: object properties: counts: type: object maxCount: type: integer zeitarbeit: type: object properties: counts: type: object maxCount: type: integer corona: type: object properties: counts: type: object maxCount: type: integer 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"