Arbeitsagentur Scraper
Pricing
from $1.89 / 1,000 job scrapeds
Arbeitsagentur Scraper
Scrape job listings from Arbeitsagentur.de (Bundesagentur für Arbeit) — Germany's largest public employment database with 1.5M+ active postings. Extract titles, employers, locations, contracts, descriptions, and 30+ fields per listing.
Pricing
from $1.89 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Arbeitsagentur Scraper
Scrape job listings from Arbeitsagentur.de — Germany's largest public employment database operated by the Bundesagentur für Arbeit, with access to over 1.5 million active job postings across all industries and regions.
| Search by keyword, location, offer type, and dozens of filters — collect structured job data including titles, employers, locations, contracts, descriptions, schedules, and 30+ fields per listing, ready for analysis or integration. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/arbeitsagentur-scraper. Scrapes German job listings from Arbeitsagentur.de (Bundesagentur für Arbeit). Call via ApifyClient: client.actor("parsebird/arbeitsagentur-scraper").call(run_input={"keyword": "Softwareentwickler", "location": "Berlin", "employment_type": "job", "limit": 50}). Supports keyword (string), location (string), employment_type (job/education/early_career/self_employed), radius (10_km/15_km/25_km/50_km/100_km/200_km), is_remote (boolean), publication_date (today/yesterday/last_1_week/last_2_weeks/last_4_weeks), work_schedule (full_time/part_time/shift_night_weekend/part_time_job), fixed_term (temporary/indefinite), startUrls (array of search URLs), limit (integer). Returns 30+ fields per job: title, employerName, location, contractDuration, jobType, descriptionText, salaryNote, isFullTime, isWorkFromHome, referenceNumber, publishingStartDate, url, and more. Full API spec: https://apify.com/parsebird/arbeitsagentur-scraper/api. Get your token: https://console.apify.com/settings/integrations.
What does Arbeitsagentur Scraper do?
Arbeitsagentur Scraper extracts structured job listing data from Arbeitsagentur.de, the official job portal of the German Federal Employment Agency (Bundesagentur für Arbeit). It queries the Arbeitsagentur public REST API to collect comprehensive job data at scale — no browser rendering or login required, which makes it fast and cost-efficient.
You can search by keyword, location, offer type, radius, and dozens of filters, or paste Arbeitsagentur search URLs directly. The scraper enriches every listing with full detail data including descriptions, employer addresses, and contract information — making it a practical Arbeitsagentur API alternative for German job data collection.
- 🔍 Keyword and location search — find jobs by profession, skill, or industry across any German city, postal code, or region
- 🇩🇪 Full coverage of the German job market — access 1.5M+ active listings from Germany's largest public employment database
- 🔗 Direct URL support — paste any Arbeitsagentur search URL to replicate an exact search you've already refined on the site
- 📋 30+ fields per listing — collect job titles, employers, locations, contracts, descriptions, schedules, salary notes, and more
- 📄 Full description enrichment — every job is individually fetched for complete description text, employer address, and metadata
- ⚡ API-based extraction — no browser overhead means faster runs and lower compute costs
- 📅 Publication date filters — narrow results to today, yesterday, last week, or last month
- 🔄 Schedule recurring runs — monitor the German job market over time with Apify scheduling
- 🔗 API access and integrations — connect to Google Sheets, Zapier, Make, webhooks, or any workflow via the Apify API
What data can you extract from Arbeitsagentur?
| Field | Description |
|---|---|
title | Job title as listed on Arbeitsagentur.de |
employerName | Hiring company or organization name |
location | Human-readable location (postal code, city, region, country) |
contractDuration | Contract type: UNBEFRISTET (permanent), BEFRISTET (fixed-term), or KEINE_ANGABE (not specified) |
jobType | Offer category: ARBEIT (employment), AUSBILDUNG (training), etc. |
descriptionText | Full job description text |
salaryNote | Salary indication when provided by the employer |
isFullTime / isWorkFromHome | Full-time and remote work indicators |
isTemporaryEmployment | Whether the role is through a staffing agency |
isDisabilityRequired | Accessibility designation for disabled applicants |
publishingStartDate | Date the listing was first published |
startDate / entryPeriod | Expected start date for the position |
referenceNumber | Unique Arbeitsagentur reference number |
url | Direct link to the job detail page on Arbeitsagentur.de |
externalURL | Link to the original posting when hosted externally |
employerAddress | Employer street address when available |
employerWebsite | Employer website URL when available |
mainJob | Occupational classification from the Bundesagentur system |
Some fields may be empty when the original listing does not include that information.
How to scrape Arbeitsagentur job listings
- Go to the Arbeitsagentur Scraper page on Apify Store
- Click Try for free to open the Actor console
- Enter a Keyword (e.g. "Softwareentwickler", "Krankenpfleger", "Data Engineer") and Location (e.g. "Berlin", "München", "Hamburg")
- Select an Offer Type — regular employment, education, internship, or self-employment
- Adjust Filters like publication date, work schedule, contract duration, or remote-only
- Set Max Results to control how many jobs to collect (default: 50)
- Click Start and wait for the run to finish
- Download your data in JSON, CSV, Excel, or connect via the Apify API
Alternatively, paste one or more Arbeitsagentur search URLs into the Direct Search URLs field to replicate searches you've already configured on arbeitsagentur.de/jobsuche.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | No | "Softwareentwickler" | Job title, skill, or profession to search for |
location | string | No | "Berlin" | City, postal code, or region to search around |
employment_type | string | No | "job" | Offer category: job, education, early_career, self_employed |
radius | string | No | — | Search radius: 10_km, 15_km, 25_km, 50_km, 100_km, 200_km |
is_remote | boolean | No | false | When true, only returns remote / home-office jobs |
startUrls | array | No | — | Direct Arbeitsagentur search URLs |
publication_date | string | No | — | Recency filter: today, yesterday, last_1_week, last_2_weeks, last_4_weeks |
work_schedule | array | No | — | Schedule filters: full_time, part_time, shift_night_weekend, part_time_job |
fixed_term | array | No | — | Contract duration: temporary, indefinite |
beginning_date | array | No | — | Preferred start periods (e.g. from_now_on, june_2026, july_2026) |
is_suitable_for_career_change | boolean | No | false | Focus on career-change-friendly roles |
disabled_only_jobs | boolean | No | false | Only disability-accessible listings |
include_agency_jobs | boolean | No | false | Include recruitment agency listings |
exclude_external_jobs | boolean | No | false | Remove listings from external job boards |
exclude_temporary_work | boolean | No | false | Remove Zeitarbeit / labor-leasing roles |
limit | integer | No | 50 | Maximum number of jobs to collect |
Choosing the right input method
Use the query-builder fields when you want a controlled, repeatable search that can be adjusted through structured inputs — keyword, location, offer type, radius, publication date, schedule, and contract filters. This approach is best for automated pipelines and scheduled runs where consistency matters.
Use startUrls when you already have one or more Arbeitsagentur search-result URLs and want to reuse that exact search scope without rebuilding it manually. This is ideal for monitoring specific searches you've refined on the Arbeitsagentur website.
Narrower filters — such as a specific city, a short radius, or a recent publication date — produce more targeted datasets that require less cleanup. Broader filters improve coverage and are better for market-wide research.
Start with a small limit (e.g. 50) to validate the results match your expectations. Increase the limit once you're confident in the query. For recurring monitoring, combine with Apify scheduling and set the publication date to today or last_1_week.
Example inputs
Keyword and location search
{"keyword": "Data Engineer","location": "Berlin","employment_type": "job","radius": "25_km","is_remote": true,"publication_date": "last_1_week","limit": 50}
Direct URL run
{"startUrls": ["https://www.arbeitsagentur.de/jobsuche/suche?angebotsart=1&was=softwareentwickler&wo=Hamburg&umkreis=15"],"exclude_external_jobs": true,"include_agency_jobs": false,"work_schedule": ["full_time"],"limit": 100}
Targeted accessibility and contract filtering
{"keyword": "Sachbearbeiter","location": "Köln","radius": "10_km","disabled_only_jobs": true,"fixed_term": ["indefinite"],"exclude_temporary_work": true,"publication_date": "last_2_weeks","limit": 75}
Output example
{"allianzpartnerName": "Jobbörse-direkt.de - Maxime Media GmbH","allianzpartnerUrl": "www.jobboerse-direkt.de","url": "https://www.arbeitsagentur.de/jobsuche/jobdetail/12513-0007597600-S","cipherNumber": null,"employerName": "A. u. K. Müller GmbH & Co. KG","contractDuration": "UNBEFRISTET","contractDurationMonths": null,"contractDurationLimitedTo": null,"descriptionText": "Teilen Sie unsere Faszination ... Jetzt bewerben","employerCustomerNumberHash": null,"entryPeriod": "2025-07-01","externalURL": "https://www.jobboerse-direkt.de/stellenangebote/Werkzeugmechaniker-m-w-d-7597600","isExternal": true,"isDisabilityRequired": false,"isFullTime": true,"isMarginalEmployment": false,"isPartTimeAfternoon": false,"isPartTimeEvening": false,"isPartTimeFlexible": false,"isPartTimeMorning": false,"isPrivateAgency": false,"isTemporaryEmployment": false,"isWorkFromHome": false,"jobType": "ARBEIT","location": "40595, Düsseldorf, NORDRHEIN_WESTFALEN, DEUTSCHLAND","mainJob": "Helfer/in - Feinmechanik, Werkzeugbau","nightOrWeekendShift": false,"publishingStartDate": "2025-07-01","referenceNumber": "12513-0007597600-S","salaryNote": "KEINE_ANGABEN","startDate": "2025-07-01","title": "Werkzeugmechaniker (m/w/d) im Bereich CAM-Programmierung","applicationEmail": null,"firstPublicationDate": "2025-07-01","lastUpdatedAt": "2025-07-19T21:17:22.000","employerAddress": "Berliner Platz 2, 53111 Bonn, DEUTSCHLAND","employerWebsite": null,"employerIndustry": null,"employerFirmSize": null}
Download results in JSON, CSV, Excel, or XML format.
How to use Arbeitsagentur Scraper with the API
Python API example
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("parsebird/arbeitsagentur-scraper").call(run_input={"keyword": "Softwareentwickler","location": "München","employment_type": "job","publication_date": "last_1_week","limit": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} — {item['employerName']} — {item['location']}")
JavaScript API example
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("parsebird/arbeitsagentur-scraper").call({keyword: "Softwareentwickler",location: "München",employment_type: "job",publication_date: "last_1_week",limit: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.title} — ${item.employerName} — ${item.location}`);});
Get your API token at console.apify.com/settings/integrations. See the full API documentation for details.
Use cases
- German job market research — Analyze which roles, industries, and regions are hiring most actively across Germany. Track employment trends, seasonal patterns, and regional demand using data from the country's official job database.
- Recruiting and talent sourcing — Build structured datasets of current openings to support candidate sourcing, outreach planning, and talent pipeline decisions. Filter by location, schedule, and contract type to match specific hiring needs.
- Competitive hiring intelligence — Monitor which employers are actively posting and for which roles. Schedule recurring runs to detect hiring spikes, new market entries, or workforce expansion signals.
- Lead generation for staffing agencies — Collect employer names, locations, and job details to build targeted prospect lists for recruitment and staffing outreach.
- Academic and policy research — Study labor market dynamics, accessibility of employment for disabled applicants, distribution of temporary vs. permanent contracts, and regional employment gaps using Germany's official government data.
- Job aggregation and data integration — Feed structured Arbeitsagentur listings into your own job board, newsletter, internal tools, or data warehouse via the Apify API.
How much does it cost to scrape Arbeitsagentur?
| Event | Price per event | Price per 1,000 |
|---|---|---|
job-scraped | $0.00189 | $1.89 |
One event is charged each time a job listing is collected and saved to the dataset. You only pay for the jobs actually returned.
Cost examples:
| Jobs | Cost |
|---|---|
| 50 (default run) | $0.09 |
| 100 | $0.19 |
| 1,000 | $1.89 |
| 5,000 | $9.45 |
| 10,000 | $18.90 |
Apify offers a free trial with $5 of platform credits — enough to scrape over 2,600 Arbeitsagentur job listings at no cost.
Tips for best results
Use German-language keywords — Arbeitsagentur is a German-language platform. Search for "Softwareentwickler" rather than "Software Developer", or "Krankenpfleger" rather than "Nurse" to get the most relevant results. English job titles may still return some international listings.
Use startUrls for precision — Paste an Arbeitsagentur search URL when you want to replicate a search you've already configured on the website. This is especially useful for recurring monitoring with consistent parameters.
Start small, then scale — Begin with limit set to 50 to validate the output structure and data quality. Increase the collection size once the results match your expectations.
Use publication date filters for monitoring — Set publication_date to today or last_1_week for fresh job signals. Use last_4_weeks when building larger research datasets.
Combine filters for precision — Pair location and radius to control geographic scope. Add work_schedule, fixed_term, or exclude_temporary_work to narrow results to exactly the listings you need.
Expect some empty fields — Not every Arbeitsagentur listing includes salary data, employer website, or detailed company information. Empty values reflect what the employer or the Bundesagentur system provides, not a scraper limitation.
FAQ
How many jobs can I scrape from Arbeitsagentur?
Set the limit parameter to control how many listings to collect. The scraper stops when it reaches your limit or when no more matching results are available. The Arbeitsagentur database contains over 1.5 million active listings.
Can I use an Arbeitsagentur search URL instead of entering filters?
Yes. Paste one or more Arbeitsagentur search URLs into the startUrls field. The scraper extracts the search parameters from each URL and uses them directly.
Does the scraper collect full job descriptions?
Yes. Every listing is individually enriched through the Arbeitsagentur detail API to include the full descriptionText, employer address, and additional metadata not available in search results alone.
Can I filter by contract type?
Yes. Use fixed_term with temporary (befristet) or indefinite (unbefristet) to filter by contract duration. You can also use exclude_temporary_work to remove Zeitarbeit roles.
Can I search for remote jobs only?
Yes. Enable is_remote to limit results to jobs marked as remote or home-office friendly on Arbeitsagentur.
Does the scraper need a proxy? No. The Arbeitsagentur public API works from datacenter IPs without requiring any proxy configuration. No login is needed.
Can I schedule recurring runs? Yes. Use Apify scheduling to run the scraper daily, weekly, or at any interval. Combine with webhooks or integrations to automate your German job data pipeline.
Can I access the data via API? Yes. Every run produces a dataset accessible via the Apify API. Integrate with Python, JavaScript, Google Sheets, Zapier, Make, or any HTTP-capable tool. See the API tab for code examples.
What does the employment_type field control?
It maps to the Bundesagentur "Angebotsart" parameter. Use job for regular employment, education for Ausbildung and dual study programs, early_career for internships and trainee positions, and self_employed for self-employment opportunities.
What do the German contract values mean?
UNBEFRISTET means a permanent (indefinite) contract. BEFRISTET means a fixed-term contract. KEINE_ANGABE means the duration was not specified by the employer.
Is it legal to scrape Arbeitsagentur?
This Actor collects publicly available job listing data from the Bundesagentur für Arbeit through its documented public REST API. The API is openly accessible without authentication beyond a public API key, and is documented on GitHub as part of the German government's open data initiative. The scraper does not bypass login walls, access private accounts, or collect personal user data. The data collected consists of job postings that employers and the public employment service have intentionally made available for recruitment purposes. Users are responsible for ensuring their use of the data complies with applicable laws and the platform's terms. For more information, read Apify's blog post on web scraping legality.
Related job scrapers
| Actor | Description |
|---|---|
| Dice Jobs Scraper | Extract tech job listings from Dice.com with 30+ fields per listing |
| Hiring.cafe Jobs Scraper | Scrape 2.8M+ job listings aggregated from 46 ATS platforms |
| Wellfound Jobs Scraper | Extract startup job data with salary, equity, and visa sponsorship |
| XING Jobs Scraper | Scrape German job listings from XING |
| WWR Jobs Scraper | Extract remote job listings from We Work Remotely |
| YC Jobs Scraper | Scrape Y Combinator startup job listings |
Browse all ParseBird actors on the Apify Store.