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"