Arbeitsagentur Jobs API – German Jobbörse jobs
Pricing
from $0.70 / 1,000 job postings
Arbeitsagentur Jobs API – German Jobbörse jobs
Job postings from the Bundesagentur für Arbeit Jobbörse (Germany's largest job board, 1M+ jobs) as clean JSON: salary, contract, home office, location, full description. Search by term, city, radius, employer. Only-new mode. From $0.0007/job.
Pricing
from $0.70 / 1,000 job postings
Rating
0.0
(0)
Developer
Benelux Signals
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Arbeitsagentur Jobs API: Scrape the German Jobbörse (Bundesagentur für Arbeit)
Get job postings from the Jobbörse of the Bundesagentur für Arbeit, Germany's largest job board with more than 1 million open positions, from $0.0007 per job. Enter a job title and a city, and the Actor returns one clean, structured record per job: title, employer, occupation, address with postcode, Bundesland and coordinates, full-time/part-time/shift/mini-job, permanent or fixed-term, home-office option, salary range when the employer gives one, start date, publication dates, temporary-agency flag and the full job description as plain text.
It reads the same public job-search service that powers arbeitsagentur.de/jobsuche. It needs no login, no proxy and no browser, so it is fast (about 100 jobs in 5–20 seconds) and cheap. Searches that fail show up as a free error row and are never charged.
Who is this Jobbörse scraper for?
- Recruiters, staffing and Personaldienstleister who want every open Pflegefachkraft, Elektroniker or Softwareentwickler job within 25 km of a city, every morning.
- Sales and business-development teams using hiring as a buying signal: an employer posting 20 warehouse jobs in Duisburg needs staff, software and services.
- Job boards, niche job sites and newsletters that need a daily feed of new German jobs (use Only new jobs).
- Labour-market researchers, journalists and HR-tech teams who analyse vacancies per occupation, region, contract type or salary.
- AI agents and MCP clients: every field has a safe default;
{"searchTerms": ["Data Engineer"], "locations": ["Berlin"]}is enough.
What does it do?
- Runs one search per search term × location (for example 2 terms × 3 cities = 6 searches) with your radius in km.
- Applies the Jobbörse's own filters: offer type (job, apprenticeship/Ausbildung, internship/trainee, self-employment), working time, contract type, posting age, employer name, and excluding temporary agencies (Zeitarbeit) or private recruiters.
- Opens each job for the full description, salary, contract, home-office and start-date details (switch Include description off for a faster and leaner list-only run).
- Normalises everything: ISO dates, Bundesland names,
full-time/part-time/shift-night-weekend/mini-job,permanent/fixed-term, salaries as numbers with a period (year,month,hour). - Removes duplicates across searches and, in Only new jobs mode, skips jobs you already received in earlier runs. Skipped jobs are free.
Privacy: the Actor collects job and employer information only. E-mail addresses and phone numbers in descriptions are replaced by [email removed] and [phone removed], and the employer name is cleaned of attention lines such as "z. Hd. Frau …". There are no separate contact-person fields.
Input example
{"searchTerms": ["Pflegefachkraft", "Elektroniker"],"locations": ["Köln", "München"],"radiusKm": 15,"offerType": "job","workingTime": ["full-time"],"contractType": "permanent","postedWithinDays": 14,"excludeTemporaryAgencies": true,"includeDescription": true,"maxResults": 400,"maxResultsPerSearch": 100}
| Field | What it does | Default |
|---|---|---|
searchTerms | Job titles or keywords (German titles give the most results). Empty = all jobs | Data Engineer |
locations | City, postcode or region. Empty = all of Germany | empty |
radiusKm | Radius around each location (0–200) | 25 |
employer | Only jobs from this employer name | empty |
offerType | any, job, apprenticeship, internship-trainee, self-employment | any |
workingTime | full-time, part-time, shift-night-weekend, mini-job | all |
contractType | any, permanent, fixed-term | any |
postedWithinDays | Only jobs published in the last N days (0 = any, max 100) | 0 |
excludeTemporaryAgencies / excludePrivateRecruiters | Drop Zeitarbeit / private recruitment agencies | false |
homeOfficeOnly / withSalaryOnly | Only jobs with home office / with a salary | false |
excludeKeywords | Drop jobs whose title contains any of these words | empty |
includeDescription | Fetch the full description and details | true |
onlyNewJobs / stateKey | Incremental mode for schedules | false / default |
maxResults / maxResultsPerSearch | Cost caps | 200 / 0 |
Tip: with several searches and a small maxResults, the first search can fill the whole quota. Set maxResultsPerSearch to spread results evenly. The Jobbörse returns at most 10,000 jobs per search; split very broad searches by city or term.
Output example
{"status": "ok","charged": true,"jobId": "ba:10001-1002345678-S","referenceNumber": "10001-1002345678-S","title": "Pflegefachkraft (m/w/d) Intensivstation","company": "Universitätsklinikum Köln AöR","occupation": "Gesundheits- und Krankenpfleger/in","offerType": "job","city": "Köln","postalCode": "50937","state": "Nordrhein-Westfalen","countryCode": "DE","latitude": 50.92,"longitude": 6.92,"distanceKm": 3,"fullTime": true,"partTime": true,"workingTimes": ["full-time", "part-time-flexible", "shift-night-weekend"],"contractType": "permanent","homeOfficePossible": false,"salaryMin": 3900,"salaryMax": 4600,"salaryPeriod": "month","salaryCurrency": "EUR","salaryText": "3.900–4.600 EUR / month","temporaryAgency": false,"startDate": "2026-12-01","publishedAt": "2026-10-27","jobUrl": "https://www.arbeitsagentur.de/jobsuche/jobdetail/10001-1002345678-S","externalUrl": null,"description": "Wir suchen ab sofort ... Bewerbung an [email removed]","searchTerm": "Pflegefachkraft","searchLocation": "Köln","scrapedAt": "2026-10-28T09:15:00.000Z"}
Status values: ok (a job, charged), error (a search failed, free), no_results (nothing matched or no new jobs, free). Every run also stores a RUN_SUMMARY record with per-search counts (jobs on the Jobbörse, listed, saved, duplicates, filtered out).
How much does it cost?
Pay per event, with platform usage included:
| Event | Free plan | Bronze | Silver | Gold and up |
|---|---|---|---|---|
| Job posting | $0.001 | $0.0009 | $0.0008 | $0.0007 |
| Actor start (per run) | $0.005 |
1,000 jobs cost about $1 on the Free plan, 10,000 jobs about $7 on Gold. Error rows, no-results rows, duplicates, filtered-out jobs and jobs skipped by only-new mode are free. Use Max results and Apify's maximum cost per run to stay within budget.
FAQ
Is it legal to scrape the Jobbörse? The Actor only reads public job postings that anyone can see on arbeitsagentur.de without an account, through the public job-search service, at a polite request rate. It removes e-mail addresses and phone numbers and does not output contact persons. You are responsible for how you use the data (for example GDPR and the employers' rights when republishing).
Why do I get fewer jobs than on the website? The website counts every location of a multi-location job; the Actor lists each job once and removes duplicates. Check RUN_SUMMARY for the number found per search.
Why are there jobs from other cities in my location search? The Jobbörse adds nationwide postings ("bundesweit", field-sales and promoter jobs) to every location search, with distanceKm 0 and the employer's head office as the city. Add excludeKeywords such as bundesweit to drop them.
Does it work in English? Yes, the input and output are in English, but the job content is German. Search with German job titles (Erzieher, Lagerhelfer) for the best results.
Can I schedule a daily feed? Yes. Create a task, turn on Only new jobs, and schedule it. Only jobs you have not received before are saved and charged.
Is this an official API of the Bundesagentur für Arbeit? No. This Actor is independent and not affiliated with or endorsed by the Bundesagentur für Arbeit.
Related actors by benelux-signals
Cover the rest of the European job market:
- Career Site Jobs API – jobs straight from Greenhouse, Lever, Recruitee, Personio, Ashby and other company career sites.
- Workday Jobs API – jobs from any myworkdayjobs.com career site, with a European employer seed list.
- Remote Jobs Aggregator – Europe-friendly remote jobs from RemoteOK, We Work Remotely, Jobicy and more, deduplicated.
More tools from the same maintainer:
- EU Tender Radar – TED + TenderNed public tenders with keyword/CPV filters and only-new alerts.
- Benelux Trade Fair Exhibitors – exhibitor lists from Dutch and Belgian trade fairs (Horecava, METSTRADE, Batibouw…) for B2B lead lists.
- Bulk PageSpeed & SEO Audit – Core Web Vitals, Lighthouse scores and on-page SEO checks for many URLs or a sitemap.
- EU & Dutch News Monitor – keyword alerts across 80+ built-in Dutch, Belgian and EU news and official RSS feeds.
- PDF & Image to Text OCR – text and Markdown from PDFs and scans, ready for RAG and AI agents.
- Technical SEO Site Crawler – crawl a site for broken links, redirects, missing titles/meta, canonicals and noindex issues.
Questions or a source we should add? Open an issue on the Actor page.