Arbeitsagentur Jobs Scraper — Official API (Germany) avatar

Arbeitsagentur Jobs Scraper — Official API (Germany)

Pricing

from $0.01 / actor start

Go to Apify Store
Arbeitsagentur Jobs Scraper — Official API (Germany)

Arbeitsagentur Jobs Scraper — Official API (Germany)

Search Germany's largest job board (Bundesagentur für Arbeit) through its official public API. Full job descriptions, salary ranges, home-office flags, geo coordinates. Fast and reliable — no blocking, no proxies.

Pricing

from $0.01 / actor start

Rating

0.0

(0)

Developer

Thomas Ehrler

Thomas Ehrler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Share

Search Germany's largest job board — the Bundesagentur für Arbeit Jobbörse with 1M+ live job listings — and get clean, structured JSON in seconds.

Unlike HTML scrapers, this actor uses the official public Jobsuche API (documented by the bundesAPI project). That means:

  • Fast & reliable — no browser, no blocking, no captchas, no proxies
  • 📄 Full job descriptions — complete posting text, not just teasers
  • 💶 Salary rangessalaryFrom / salaryTo where employers provide them
  • 🏠 Home-office & working-time flags — full-time, part-time, shift, mini-job
  • 📍 Geo coordinates — every job location with lat/lon for mapping
  • 🔁 Monitoring-ready — filter by "published in the last N days" and run on a schedule

Use cases

  • Job-market analytics — demand by region, profession, salary levels
  • HR / recruiting tech — feed fresh German job postings into your product
  • Job alerts — schedule daily runs with publishedSince: 1 for new listings
  • Lead generation — companies that are hiring are companies that are buying
  • AI agents — clean input/output schema, works out of the box via MCP

Input example

{
"keyword": "Pflegefachkraft",
"location": "München",
"radiusKm": 50,
"publishedSince": 7,
"excludeTemporaryEmployment": true,
"includeDetails": true,
"maxItems": 500
}

Output example

{
"title": "Elektriker/in",
"profession": "Elektroinstallateur/in",
"company": "Die Elbmonteure Service GmbH",
"salaryFrom": 3200,
"salaryTo": 3800,
"homeOfficePossible": false,
"workingTime": { "fullTime": true, "shiftNightWeekend": false },
"entryFrom": "2026-08-01",
"firstPublished": "2026-07-19",
"locations": [
{ "zip": "10179", "city": "Berlin", "region": "Berlin", "country": "Deutschland", "lat": 52.5132, "lon": 13.4157 }
],
"refnr": "15318-0B3L4BVB1PA9Q1KJ-S",
"jobUrl": "https://www.arbeitsagentur.de/jobsuche/jobdetail/15318-0B3L4BVB1PA9Q1KJ-S",
"description": "Verstärke die Elbmonteure …"
}

Tips

  • German search terms return the best results (Koch beats cook).
  • Leave location empty for nationwide searches.
  • Set includeDetails: false for large volume runs where you only need structured metadata — it roughly doubles the speed.
  • For daily monitoring, create a Schedule with publishedSince: 1 and connect a webhook or export integration.

Data & fair use

The data comes from the public Jobsuche API of the Bundesagentur für Arbeit using its documented public client id. This actor is not affiliated with or endorsed by the Bundesagentur für Arbeit. Only public job postings and employer information are accessed — no applicant or personal data. The actor throttles its requests to keep load on the public API low.

What does a run cost?

Job postingsCost
100$0.11
1,000$1.01
10,000$10.01

$0.01 per run start plus $0.001 per job. Turning includeDetails off roughly halves the run time — the price stays the same.

FAQ

Is there an official Arbeitsagentur API? Yes, and this actor uses it: the public Jobsuche API of the Bundesagentur für Arbeit. That is why runs are fast and never blocked — but the raw API returns nested German field names, paginates awkwardly and needs a separate call per job description. This actor handles all of that.

How do I get new jobs only? Set publishedSince to 1 and schedule the actor daily. Each run then returns only what was posted since yesterday.

Can I search all of Germany at once? Yes — leave location empty. With a location set, radiusKm controls how far around it the search reaches.

Why do some jobs have no salary? Salary fields are optional for employers in Germany. salaryFrom / salaryTo are filled whenever the employer published a range; otherwise they stay empty rather than being estimated.

Does this include applicant or personal data? No. Only public job postings and the employer information attached to them.

How do I export to Excel? Run the actor, then export the dataset as CSV or XLSX from the Apify console, or pull it through the API into Google Sheets.

ActorWhat it does
kununu ScraperEmployer ratings, salaries and benefits for the same DACH companies
EU Public Tenders (TED)Public contracts across all 27 EU member states
Messe München ExhibitorsTrade-fair exhibitors with address, e-mail and phone

Support

Found an issue or missing a feature (new filters, delta mode, exports)? Open an issue in the Issues tab — response within 1–2 business days.