Arbeitsagentur Jobs Scraper (Germany)
Pricing
from $2.00 / 1,000 job listings
Arbeitsagentur Jobs Scraper (Germany)
Scrape jobs from arbeitsagentur.de, Germany's largest job board. Filter remote / home office jobs and professional fields like IT. Get title, company, city, salary and contract type. Fast, no proxy, no personal data.
Pricing
from $2.00 / 1,000 job listings
Rating
0.0
(0)
Developer
Cicero Millen
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Get job listings from Germany's largest public job board, the Jobsuche of the Federal Employment Agency (Bundesagentur für Arbeit), as a clean table you can download as Excel, CSV or JSON or send to your own tools.
- ⚡ Fast and cheap: reads the official public search API directly. No browser, no proxies, no login.
- 🇩🇪 Huge coverage: around one million open positions, from apprenticeships to senior roles, all over Germany.
- 🔒 No personal data: only job and company data. No recruiter names, e-mails or phone numbers. Easy to use under GDPR / DSGVO.
- 🏠 Remote filter that works: the job board's own home office filter returns nothing; this Actor checks every job itself.
- 🧭 Filter by professional field (Berufsfeld), e.g. all IT jobs, plus employer, contract type and career changers.
- 💶 Pay only for results: you pay per job saved, and you can cap the cost of every run.
How it works
- Type a keyword (job title, occupation or skill) and a city or postal code, or leave them empty for all of Germany.
- Pick filters: remote only, professional field, publication date, type of offer, working time, contract type, employer, agencies. Add more keywords or cities to search them all in one run.
- Click Start. Jobs appear in the Output tab as a table, ready to export or to send to Google Sheets, Make, Zapier, n8n or your own API.
What data you get
One row per job:
| Field | What it contains |
|---|---|
title | Job title |
company | Employer name |
occupation | Main occupation, as classified by the agency |
remoteOnly | Only jobs where the employer allows home office |
professionalFields | One or more official occupational fields (Berufsfeld), e.g. Informatik |
offerType | ARBEIT (job), SELBSTAENDIGKEIT (self-employment), AUSBILDUNG (apprenticeship / dual study), PRAKTIKUM_TRAINEE (internship) |
city, postalCode, region, country | First workplace location |
latitude, longitude | Coordinates of the first workplace |
locationsCount | How many workplaces the listing has |
fullTime, partTime, shiftNightWeekend | Working time |
homeOffice, homeOfficeType | Remote work, when the employer says so |
contractDuration, fixedTermUntil | Permanent (UNBEFRISTET) or fixed-term (BEFRISTET) |
startDate | Earliest start date |
salaryType, salaryMin, salaryMax, salaryFixed | Salary, when the employer publishes it |
miniJob, careerChangersWelcome | Mini-job and "career changers welcome" flags |
firstPublished, publishedFrom, modifiedAt | Dates |
url | Link to the listing on arbeitsagentur.de |
externalUrl | Link to the original posting, when the job comes from a partner job board |
id, scrapedAt | Reference number of the listing and time of the run (UTC) |
Fields the source does not provide for a listing are null.
Use cases
- Job seekers and career coaches: track new openings for a role or city every day.
- Recruiters and staffing agencies: see which companies are hiring, for what, and where.
- Job boards and aggregators: feed niche boards (IT, healthcare, apprenticeships) with fresh German jobs.
- Market and salary research: demand by occupation, region and contract type, with published salary ranges.
- Data teams and AI agents: a clean, structured feed of the German labor market.
Input examples
Python jobs in Berlin, last 7 days
{"keyword": "python","location": "Berlin","radiusKm": 25,"publishedWithinDays": 7,"maxItems": 200}
Remote IT jobs in all of Germany, permanent contracts
{"professionalFields": ["Informatik", "Softwareentwicklung und Programmierung"],"remoteOnly": true,"contractType": "permanent","maxItems": 300}
Python and Java jobs in Berlin and Hamburg, last 7 days
{"keyword": "python","extraKeywords": ["java"],"location": "Berlin","extraLocations": ["Hamburg"],"publishedWithinDays": 7,"maxItems": 500}
Apprenticeships (Ausbildung) in Munich
{"keyword": "Kaufmann","location": "München","offerType": "4","maxItems": 500}
Part-time nursing jobs in all of Germany, no temporary agencies
{"keyword": "Pflegefachkraft","workingTime": "tz","excludeTempAgencies": true,"maxItems": 1000}
All input fields
| Field | Description | Default |
|---|---|---|
keyword | Job title, occupation or skill, in German or English. Empty = all jobs | empty |
location | City or postal code in Germany. Empty = whole country | empty |
radiusKm | Radius around the location, 0–200 km | 25 |
extraKeywords, extraLocations | More keywords / cities searched in the same run (all combinations, max 50); duplicates are removed | empty |
publishedWithinDays | Only jobs published in the last N days (0–100) | no filter |
remoteOnly | Only jobs where the employer allows home office | false |
professionalFields | One or more official occupational fields (Berufsfeld), e.g. Informatik | all |
offerType | 1 jobs, 2 self-employment, 4 apprenticeship / dual study, 34 internship / trainee | 1 |
workingTime | any, vz full-time, tz part-time, snw shifts / nights / weekends, mj mini-job | any |
contractType | any, permanent (unbefristet), fixedTerm (befristet) | any |
employer | Exact employer name as on arbeitsagentur.de, e.g. Deutsche Bahn AG | empty |
careerChangersOnly | Only jobs open to career changers (Quereinstieg) | false |
excludeTempAgencies | Skip temporary employment agencies (Zeitarbeit) | false |
excludePrivateAgencies | Skip private recruitment agencies | false |
maxItems | Maximum number of jobs to save (1–10,000) | 100 |
Tip: German keywords usually find more jobs (e.g. "Softwareentwickler" instead of "software developer").
Output example
{"id": "19069-423893-S","title": "Python dev","company": "Join Solutions GmbH","occupation": "Softwareentwickler/in","offerType": "ARBEIT","city": "Berlin","postalCode": "10119","region": "BERLIN","country": "DEUTSCHLAND","latitude": 52.52751,"longitude": 13.4153145,"locationsCount": 1,"fullTime": true,"partTime": false,"shiftNightWeekend": false,"homeOffice": false,"homeOfficeType": null,"contractDuration": "UNBEFRISTET","fixedTermUntil": null,"startDate": "2026-09-30","salaryType": "JAHRESGEHALT","salaryMin": 50000.0,"salaryMax": 65000.0,"salaryFixed": null,"miniJob": false,"careerChangersWelcome": false,"firstPublished": "2026-08-31","publishedFrom": "2026-09-28","modifiedAt": "2026-09-30T13:54:17.656","url": "https://www.arbeitsagentur.de/jobsuche/jobdetail/19069-423893-S","externalUrl": null,"scrapedAt": "2026-10-02T20:00:00+00:00"}
Pricing and cost
Pay per event, you only pay for what you get:
| Event | Price |
|---|---|
| Job saved to the dataset | $0.002 per job ($2.00 per 1,000 jobs) |
| Run start | $0.00005 per run |
Examples: 100 jobs ≈ $0.20, 1,000 jobs ≈ $2.00. Set Maximum cost per run in the run options to cap your spending; the Actor stops when the cap is reached and keeps the jobs already saved.
Schedule it and connect it
- Daily updates: create a task with your search and add a Schedule in Apify Console (e.g. every morning). Combine it with
publishedWithinDays: 1to get only the newest jobs. - Integrations: send results automatically to Google Sheets, Slack, Make, Zapier, n8n or any webhook using Apify integrations.
- API: run the Actor and download results from your own code with the Apify API or the Python / JavaScript clients.
Limits
- The source returns at most 10,000 results per search. To collect more, split the search by city, keyword or publication date.
- The Actor saves the data of the search results. It does not open each listing, so the long job description text is not included.
- Data comes as published by the employers; some fields (salary, home office) are often empty.
remoteOnlykeeps about 1 in 10 jobs, so it reads more result pages; with a narrow search you may get fewer jobs thanmaxItems.
FAQ
Where does the data come from? From the public job search of the Bundesagentur für Arbeit (arbeitsagentur.de), the same data you see on the website.
Does it collect personal data? No. The output is a fixed list of job and company fields. Contact persons, e-mail addresses and phone numbers are never collected.
Do I need a proxy or an account at arbeitsagentur.de? No. The Actor uses the public search API without login, so no proxy is needed.
Why did I get fewer jobs than maxItems?
Your search has fewer results than that. Try a broader keyword, a bigger radius or no date filter.
How do I get only remote jobs?
Tick remoteOnly. The job board's own home office filter currently returns no results, so the Actor reads the results and keeps only jobs where the employer allows home office.
How do I get only IT jobs?
Use professionalFields, e.g. Informatik, Softwareentwicklung und Programmierung and IT-Netzwerktechnik, -Administration, -Organisation. This is more precise than keywords.
Can I search the whole of Germany?
Yes: leave location empty. Remember the limit of 10,000 results per search.
Is it allowed to use this data? The Actor only collects publicly available job listings and no personal data. You are responsible for how you use the data; check that your use complies with the laws that apply to you.
Support
Found a bug or need a field or filter? Open an issue in the Issues tab. I read all of them.