https://github.com/andreasfischer1985/berufssprachkurssuche-api
API zur Berufssprachkurssuche der Bundesagentur für Arbeit
https://github.com/andreasfischer1985/berufssprachkurssuche-api
Last synced: 2 months ago
JSON representation
API zur Berufssprachkurssuche der Bundesagentur für Arbeit
- Host: GitHub
- URL: https://github.com/andreasfischer1985/berufssprachkurssuche-api
- Owner: AndreasFischer1985
- Created: 2022-03-30T13:15:44.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-01T13:01:54.000Z (almost 2 years ago)
- Last Synced: 2025-01-17T21:43:49.587Z (4 months ago)
- Language: Python
- Size: 156 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arbeitsagentur Berufssprachkurssuche API
Die Bundesagentur für Arbeit verfügt über eine der größten Datenbanken für Berufssprachkurse. Obwohl sie vollständig staatlich ist und es sich dabei um einen sehr spannenden Basisdatensatz handelt, mit dem viele Analysen möglich wären, bietet die Bundesagentur für Arbeit dafür bis heute keine offizielle API an.
## Authentifizierung
Die Authentifizierung funktioniert per OAuth 2 Client Credentials mit JWTs.
Client Credentials sind, wie sich z.B. einem GET-request an https://web.arbeitsagentur.de/sprachfoerderung/suche/berufssprachkurse entnehmen lässt (oder an https://web.arbeitsagentur.de/sprachfoerderung/suche/integrationskurse, an https://web.arbeitsagentur.de/sprachfoerderung/suche/anerkennungen, oder an https://web.arbeitsagentur.de/sprachfoerderung/suche/sonstige-kurse), folgende:**client_id:** bd24f42e-ad0b-4005-b834-23bb6800dc6c
**client_secret:** 6776b89e-5728-4643-8cd5-c93aefb5314b
**grant_type:** client_credentials
Die Credentials sind im body eines POST-request an https://rest.arbeitsagentur.de/oauth/gettoken_cc zu senden.
```bash
token=$(curl \
-d "client_id=bd24f42e-ad0b-4005-b834-23bb6800dc6c&client_secret=6776b89e-5728-4643-8cd5-c93aefb5314b&grant_type=client_credentials" \
-X POST 'https://rest.arbeitsagentur.de/oauth/gettoken_cc' |grep -Eo '[^"]{500,}'|head -n 1)
```Der generierte Token sollte bei folgenden GET-requests an https://rest.arbeitsagentur.de/infosysbub/sprachfoerderung/pc/v1/bildungsangebot im header als 'OAuthAccessToken' inkludiert werden.
**Hinweis:** Alternativ kann man bei folgenden GET-requests auch direkt die *client_id* als Header-Parameter *'X-API-Key'* übergeben - *'OAuthAccessToken'* ist in diesem Fall nicht erforderlich. 🚀
## Berufssprachkurssuche
**URL:** https://rest.arbeitsagentur.de/infosysbub/sprachfoerderung/pc/v1/bildungsangebot
Die Berufssprachkurssuche ermöglicht verfügbare Berufssprachkursangebote und andere Kursarten (z..B. Bildungsangebote Migration oder Angebote in Zusammenhang mit der Anerkennung ausländischer Berufsabschlüsse) mit verschiedenen GET-Parametern zu filtern:
### Filter
**Parameter:** systematiken (Optional)
- MC
- MB
- A8
- MQKursart: MC=Berufssprachkurse; MB=Integrationskurse; A8 = Bildungsangebote Migration; MQ = Anerkennung ausländischer Berufsabschlüsse.
**Parameter:** suchworte (Optional)
Suchworte (z.B. Deutschsprachf%25C3%25B6rderung,Berufsbezogener%2520Englischkurs). Mehrere Komma-getrennte Angaben möglich.
**Parameter:** *orte* (Optional)
Ortsangabe nebst Postleitzahl und Koordinaten (longitude und latitude) jeweils durch Unterstriche getrennt (z.B. Feucht_90537_11.224918_49.376701,N%C3%BCrnberg;%20Mittelfranken_11.0753_49.4508). Mehrere Komma-getrennte Angaben möglich.
**Parameter:** *systematiken* (Optional)
Systematiken (z.B. MC)
**Parameter:** *page* (Optional)
Seite (beginnend mit 0 für die erste Seite).
**Parameter:** *sort* (Optional)
Sortierungskriterium (z.B. basc)
**Parameter:** *umkreis* (Optional)
- Bundesweit
- 25
- 50
- 100
- 150
- 200**Parameter:** *sprachniveau* (Optional)
- MC%2001%201
- MC%2001%202
- MC%2001%203
- MC%2001%204
- MC%2001%205
- MC%2002
- MC%2003Sprachzielniveau: MC%2001%201=A2, MC%2001%202=B1, MC%2001%203=B2, MC%2001%204=C1, MC%2001%205=C2, MC%2002=Spezialberufskurs, MC%2003=Berufsanerkennung. Mehrere Komma-getrennte Angaben möglich.
**Parameter:** *beginntermine* (Optional)
- 0
- 1
- 2
- 3
- 4
- 5
- 6Beginntermin: 0=regelmäßiger Start, 1=diesen Monat, 2=nächster Monat, 3=übernächster Monat, 4=überübernächster Monat, 5=spätere Termine, 6=frühere Termine. Mehrere Komma-getrennte Angaben möglich.
**Parameter:** *unterrichtsformen* (Optional)
- 1
- 2
- 3
- 4
- 5
- 6
- 0Lernform: 1=Vollzeit, 2=Teilzeit, 3=Wochenendveranstaltung, 4=Fernunterricht, 5=E-Learning, 6=Blockunterricht, 0=Auf Anfrage. Mehrere Komma-getrennte Angaben möglich.
**Parameter:** *anbieter* (Optional)
Anbieter-ID: numerische ID (z.B. 16574). Mehrere Komma-getrennte Angaben möglich.
Bei größeren Treffermengen ist für die Verwendung des Filters nach Anbietern eine Einschränkung auf Ort, Suchbegriff oder Umkreis erforderlich.### Beispiel:
```bash
bs=$(curl -m 60 \
-H "OAuthAccessToken: $token" \
'https://rest.arbeitsagentur.de/infosysbub/sprachfoerderung/pc/v1/bildungsangebot?systematiken=MC&page=0&umkreis=50&orte=Feucht_11.2147_49.375&sort=basc')
```