Arbeitsagentur Jobs Scraper (Germany) avatar

Arbeitsagentur Jobs Scraper (Germany)

Pricing

from $2.00 / 1,000 job listings

Go to Apify Store
Arbeitsagentur Jobs Scraper (Germany)

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

Cicero Millen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

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

  1. Type a keyword (job title, occupation or skill) and a city or postal code, or leave them empty for all of Germany.
  2. 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.
  3. 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:

FieldWhat it contains
titleJob title
companyEmployer name
occupationMain occupation, as classified by the agency
remoteOnlyOnly jobs where the employer allows home office
professionalFieldsOne or more official occupational fields (Berufsfeld), e.g. Informatik
offerTypeARBEIT (job), SELBSTAENDIGKEIT (self-employment), AUSBILDUNG (apprenticeship / dual study), PRAKTIKUM_TRAINEE (internship)
city, postalCode, region, countryFirst workplace location
latitude, longitudeCoordinates of the first workplace
locationsCountHow many workplaces the listing has
fullTime, partTime, shiftNightWeekendWorking time
homeOffice, homeOfficeTypeRemote work, when the employer says so
contractDuration, fixedTermUntilPermanent (UNBEFRISTET) or fixed-term (BEFRISTET)
startDateEarliest start date
salaryType, salaryMin, salaryMax, salaryFixedSalary, when the employer publishes it
miniJob, careerChangersWelcomeMini-job and "career changers welcome" flags
firstPublished, publishedFrom, modifiedAtDates
urlLink to the listing on arbeitsagentur.de
externalUrlLink to the original posting, when the job comes from a partner job board
id, scrapedAtReference 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

FieldDescriptionDefault
keywordJob title, occupation or skill, in German or English. Empty = all jobsempty
locationCity or postal code in Germany. Empty = whole countryempty
radiusKmRadius around the location, 0–200 km25
extraKeywords, extraLocationsMore keywords / cities searched in the same run (all combinations, max 50); duplicates are removedempty
publishedWithinDaysOnly jobs published in the last N days (0–100)no filter
remoteOnlyOnly jobs where the employer allows home officefalse
professionalFieldsOne or more official occupational fields (Berufsfeld), e.g. Informatikall
offerType1 jobs, 2 self-employment, 4 apprenticeship / dual study, 34 internship / trainee1
workingTimeany, vz full-time, tz part-time, snw shifts / nights / weekends, mj mini-jobany
contractTypeany, permanent (unbefristet), fixedTerm (befristet)any
employerExact employer name as on arbeitsagentur.de, e.g. Deutsche Bahn AGempty
careerChangersOnlyOnly jobs open to career changers (Quereinstieg)false
excludeTempAgenciesSkip temporary employment agencies (Zeitarbeit)false
excludePrivateAgenciesSkip private recruitment agenciesfalse
maxItemsMaximum 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:

EventPrice
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: 1 to 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.
  • remoteOnly keeps about 1 in 10 jobs, so it reads more result pages; with a narrow search you may get fewer jobs than maxItems.

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.