{"description":"Searches the Federal Employment Agency's job board (Jobsuche der BA), Germany's largest: title, employer, occupation, salary range when given, work location with distance, full/part time and shift flags, home office, start date, when it was published and the job link. Jobs or apprenticeships, radius, published within the last N days; recruitment agencies can be excluded.","effect":"read","id":"arbeitsagentur.de/search-jobs","keywords":["arbeitsagentur","jobsuche","jobbörse","stellenangebote","ausbildung","ausbildungsplatz","arbeit","jobs","stellen","bundesagentur","job search","apprenticeship","germany"],"output":{"schema":{"properties":{"jobs":{"items":{"properties":{"career_changers_welcome":{"type":"boolean"},"city":{"type":["string","null"]},"distance_km":{"type":["number","null"]},"employer":{"type":["string","null"]},"full_time":{"type":"boolean"},"home_office":{"type":["boolean","null"]},"id":{"description":"BA reference number","type":"string"},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"occupation":{"type":["string","null"]},"part_time":{"type":"boolean"},"postcode":{"type":["string","null"]},"published":{"type":["string","null"]},"salary_from":{"type":["number","null"]},"salary_period":{"description":"e.g. JAHRESGEHALT, MONATSGEHALT, STUNDENLOHN","type":["string","null"]},"salary_to":{"type":["number","null"]},"shifts_nights_weekends":{"type":"boolean"},"start":{"type":["string","null"]},"street":{"type":["string","null"]},"title":{"type":"string"},"type":{"description":"ARBEIT, AUSBILDUNG, …","type":["string","null"]},"url":{"type":"string"}},"type":"object"},"type":"array"},"location":{"type":["string","null"]},"page":{"type":"integer"},"query":{"type":"string"},"total":{"type":["integer","null"]}},"type":"object"},"value":"{query: params.query, location: steps.search[0].place || params.location || `null`, total: steps.search[0].total, page: params.page || `1`, jobs: map(&(let $j = @, $l = @.stellenlokationen[0] in {id: $j.referenznummer, title: $j.stellenangebotsTitel || $j.titel, employer: $j.firma || `null`, occupation: $j.hauptberuf || `null`, type: $j.stellenangebotsart || `null`, salary_from: $j.gehaltsspanneVon || `null`, salary_to: $j.gehaltsspanneBis || `null`, salary_period: ($j.gehaltsspanneVon && $j.verguetungsangabe) || `null`, city: $l.adresse.ort || `null`, postcode: $l.adresse.plz || `null`, street: $l.adresse.strasse || `null`, latitude: $l.breite || `null`, longitude: $l.laenge || `null`, distance_km: $j.entfernung || ($j.entfernung == `0` && `0`) || `null`, full_time: $j.arbeitszeitVollzeit == `true`, part_time: ($j.arbeitszeitTeilzeitVormittag || $j.arbeitszeitTeilzeitNachmittag || $j.arbeitszeitTeilzeitAbend || $j.arbeitszeitTeilzeitFlexibel) == `true`, shifts_nights_weekends: $j.arbeitszeitSchichtNachtWochenende == `true`, home_office: $j.homeofficemoeglich, career_changers_welcome: $j.quereinstiegGeeignet == `true`, start: $j.eintrittszeitraum.von || `null`, published: $j.datumErsteVeroeffentlichung || `null`, url: join('', ['https://www.arbeitsagentur.de/jobsuche/jobdetail/', $j.referenznummer])}), steps.search[0].jobs[?referenznummer])}"},"params":{"additionalProperties":false,"properties":{"exclude_agencies":{"default":true,"description":"Leave out offers from private recruitment agencies","type":"boolean"},"location":{"description":"City or postcode, e.g. 'Leipzig', '10115'","maxLength":60,"minLength":2,"type":"string"},"page":{"default":1,"maximum":40,"minimum":1,"type":"integer"},"published_within_days":{"description":"Only offers published in the last N days","maximum":100,"minimum":0,"type":"integer"},"query":{"description":"Job title, occupation or keyword, e.g. 'Pflegefachkraft', 'Elektriker', 'Data Scientist'","maxLength":100,"minLength":2,"type":"string"},"radius_km":{"default":25,"enum":[0,10,15,25,50,100,200],"type":"integer"},"size":{"default":25,"enum":[10,25,50],"type":"integer"},"type":{"default":"job","enum":["job","apprenticeship"],"type":"string"}},"required":["query"],"type":"object"},"provenance":{"method":"browser-inspect","notes":"The Jobsuche page (www.arbeitsagentur.de/jobsuche/suche) calls rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v6/jobs (the agency's own API host; CORS allows www.arbeitsagentur.de). The older v4 path now answers 403. X-API-Key jobboerse-jobsuche is the public client id every visitor's browser sends (bund.dev documents it). Codes: angebotsart 1 = jobs, 4 = apprenticeships; pav=false leaves out private agencies; veroeffentlichtseit = days. Answers servers too; robots.txt allows everything.","recorded_at":"2026-11-07T19:02:00+01:00","recorded_by":"C4"},"requires_login":false,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"DE","id":"arbeitsagentur.de","language":"de","name":"Bundesagentur für Arbeit – Jobsuche","origin":"https://www.arbeitsagentur.de","origins":["https://rest.arbeitsagentur.de"],"start_path":"/jobsuche/"},"steps":[{"description":"The job board's own search API (rest.arbeitsagentur.de, the agency's API host that the Jobsuche pages call). X-API-Key 'jobboerse-jobsuche' is the public client id the site sends for every visitor (documented at bund.dev). The one-item foreach maps the offer type and the agency filter.","expect":{"assert":"body.maxErgebnisse != `null`","content_type":"json","status":[200]},"extract":{"json":{"jobs":"ergebnisliste || `[]`","place":"woOutput.bereinigterOrt","total":"maxErgebnisse"}},"foreach":{"as":"f","in":"[{art: params.type == 'apprenticeship' && '4' || '1', pav: params.exclude_agencies == `false` && `null` || 'false'}]","max":1},"id":"search","request":{"credentials":"omit","headers":{"Accept":"application/json","X-API-Key":"jobboerse-jobsuche"},"method":"GET","query":{"angebotsart":"{{f.art}}","page":"{{params.page}}","pav":"{{f.pav}}","size":"{{params.size}}","umkreis":"{{params.radius_km}}","veroeffentlichtseit":"{{params.published_within_days}}","was":"{{params.query}}","wo":"{{params.location}}"},"url":"https://rest.arbeitsagentur.de/jobboerse/jobsuche-service/pc/v6/jobs"}}],"task":"Search jobs and apprenticeships in Germany's official job board","tos":{"notes":"A public-sector job board with a documented public API (bund.dev). One search request per call.","reviewed":false},"verify":{"checks":["output.total > `10`","length(output.jobs) > `5`","length(output.jobs[?starts_with(url, 'https://www.arbeitsagentur.de/jobsuche/jobdetail/')]) == length(output.jobs)","length(output.jobs[?employer != `null`]) > `5`","length(output.jobs[?latitude != `null`]) > `3`"],"example_params":{"location":"Leipzig","query":"Pflegefachkraft","radius_km":25},"max_ms":4000},"version":1}