Arbeitsagentur.de Scraper
Pricing
from $1.00 / 1,000 results
Arbeitsagentur.de Scraper
Automate job data extraction from Germany's Federal Employment Agency. Scrape vacancies, employment stats & labor market insights instantly. Perfect for recruitment automation & market analysis.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(2)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Arbeitsagentur Scraper do?
Arbeitsagentur Scraper collects structured job listings from the Bundesagentur für Arbeit Jobsuche portal at Arbeitsagentur.de. Start with a prepared search URL, submit several search URLs, or search by keyword and location to extract job titles, employers, publication dates, contract details, descriptions, application links, and location data.
The resulting Apify dataset is useful for recruitment research, German labor-market analysis, vacancy monitoring, job aggregation, lead generation, and internal hiring dashboards. Download the records as JSON, CSV, Excel, or XML, or connect them to an automated workflow.
Why use Arbeitsagentur Scraper?
- Search German vacancies at scale - Replace manual browsing and copy-paste with a consistent dataset of public job listings.
- Reuse exact search filters - Paste an Arbeitsagentur Jobsuche URL to retain supported filters such as keyword, location, radius, employer, work time, and publication period.
- Collect detailed job records - Include full descriptions, contract information, work-time status, relevant locations, and external application links when the source publishes them.
- Choose speed or detail - Turn off detail collection when titles, employers, dates, locations, and listing URLs are enough.
- Prevent repeated records - Jobs are deduplicated by their Arbeitsagentur reference number across pages and search URLs in the same run.
- Automate recurring research - Schedule searches, export results, use webhooks, or retrieve datasets through the Apify API.
What data can you extract from Arbeitsagentur.de?
| Field | Description |
|---|---|
title | Published job title |
profession | Profession or occupational label |
company | Employer name |
referenceNumber | Unique Arbeitsagentur vacancy reference |
publicUrl | Direct public job-detail page |
employmentType | Listing category, such as employment |
contractType | Contract duration when published |
salary | Compensation label when published |
publicationDate | Current publication date |
firstPublishedDate | Original publication date when detail collection is enabled |
isFullTime | Whether the vacancy is marked as full-time |
descriptionText | Plain-text job description |
descriptionHtml | Formatted job description |
externalUrl | External source or application page when available |
primaryLocation | Main job location, including coordinates when available |
locations | Deduplicated locations relevant to the vacancy |
How to scrape Arbeitsagentur job listings
- Open the Actor on Apify Store.
- Paste an Arbeitsagentur search URL, or enter a keyword and location.
- Set
results_wantedandmax_pagesfor the size of the run. - Keep
collectDetailsenabled for descriptions and additional vacancy fields, or disable it for a faster summary-only run. - Run the Actor and review the dataset preview.
- Download the results or connect the dataset to your preferred integration.
When one or more URL inputs are supplied, those URL searches take priority over separate keyword and location inputs.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String or Object | No | None | One Arbeitsagentur Jobsuche URL with prepared filters. An object may contain a url property. |
startUrls | Array | No | [] | Multiple search URLs or URL objects to process in one run. Duplicate search configurations are skipped. |
keyword | String | No | None | Job title, skill, or search term. Maps to the was search filter. |
location | String | No | None | City, postal code, or region. Maps to the wo search filter. |
field | String | No | None | Occupational field filter. The source-style alias berufsfeld is also accepted. |
employer | String | No | None | Employer-name filter. The alias arbeitgeber is also accepted. |
publicationDays | Integer | No | None | Limit results by publication age, from 0 to 100 days. The alias veroeffentlichtseit is accepted. |
radius | Integer | No | None | Search radius around the location. The alias umkreis is accepted. |
offerType | Integer | No | None | Arbeitsagentur offer-type identifier. The alias angebotsart is accepted. |
workTime | String or Array | No | None | One or more work-time filters. The alias arbeitszeit is accepted. |
fixedTerm | String or Array | No | None | One or more contract-duration filters. The alias befristung is accepted. |
includeTempWork | Boolean | No | None | Include or exclude temporary-agency work. The alias zeitarbeit is accepted. |
includePrivateAgency | Boolean | No | None | Include or exclude private employment agencies. The alias pav is accepted. |
disabilityFriendly | Boolean | No | None | Apply the disability-friendly vacancy filter. The alias behinderung is accepted. |
results_wanted | Integer | No | 20 | Maximum number of unique jobs saved across all searches. |
max_pages | Integer | No | 10 | Maximum pages processed for each search configuration. |
collectDetails | Boolean | No | true | Collect detailed descriptions, contract data, and expanded location information. |
proxyConfiguration | Object | No | None | Optional Apify Proxy configuration. |
At least one search method is recommended. A valid startUrl or startUrls entry provides the most reproducible results because it retains supported filters from the Arbeitsagentur search page.
Output Data
Each dataset item contains the fields available for that vacancy. Empty values and source placeholders are omitted, so optional fields may not appear in every record.
| Field | Type | Description |
|---|---|---|
referenceNumber | String | Unique Arbeitsagentur job reference |
publicUrl | String | Direct public listing URL |
title | String | Job title |
profession | String | Published profession label |
company | String | Employer name |
companyHash | String | Employer identifier when available |
employmentType | String | Employment or offer category |
contractType | String | Contract duration label |
salary | String | Published compensation label |
publicationDate | String | Current publication date |
firstPublishedDate | String | First publication date |
modifiedAt | String | Last modification timestamp |
startDate | String | Expected employment start date |
startDateRange | Object | Published start-date range |
isFullTime | Boolean | Full-time status |
descriptionText | String | Plain-text description for search, analysis, or AI workflows |
descriptionHtml | String | Formatted description for display |
externalUrl | String | External application or source URL |
partnerName | String | Partner name associated with the listing |
partnerUrl | String | Partner page when published |
primaryLocation | Object | Main location, potentially including postal code, city, region, country, distance, and coordinates |
locations | Array | Deduplicated locations relevant to the vacancy |
source | String | Always arbeitsagentur.de |
Usage Examples
Collect jobs from an existing search URL
Reuse a Berlin search page and collect up to 20 detailed vacancies:
{"startUrl": "https://www.arbeitsagentur.de/jobsuche/suche?wo=Berlin&umkreis=25&angebotsart=1","results_wanted": 20,"max_pages": 2,"collectDetails": true}
Search by keyword and location
Collect software-engineering jobs in Berlin without preparing a URL first:
{"keyword": "software engineer","location": "Berlin","radius": 25,"results_wanted": 50,"collectDetails": true}
Process multiple Arbeitsagentur searches
Combine prepared searches for Berlin and Hamburg into one deduplicated dataset:
{"startUrls": ["https://www.arbeitsagentur.de/jobsuche/suche?was=Data%20Engineer&wo=Berlin&umkreis=25","https://www.arbeitsagentur.de/jobsuche/suche?was=Data%20Engineer&wo=Hamburg&umkreis=25"],"results_wanted": 100,"max_pages": 3,"collectDetails": true}
Run a faster summary search
Skip detailed vacancy enrichment when you only need listing-level fields:
{"keyword": "Kundenservice","location": "München","publicationDays": 7,"collectDetails": false,"results_wanted": 30,"max_pages": 1}
Sample Output
{"referenceNumber": "10001-1002717526-S","publicUrl": "https://www.arbeitsagentur.de/jobsuche/jobdetail/10001-1002717526-S","title": "Linux Administrator (m/w/d)","profession": "Fachinformatiker/in - Systemintegration","company": "NConsult GmbH","employmentType": "ARBEIT","contractType": "UNBEFRISTET","publicationDate": "2026-03-06","firstPublishedDate": "2026-03-06","modifiedAt": "2026-03-06T08:56:28.148","startDate": "2026-03-06","startDateRange": {"from": "2026-03-06"},"isFullTime": true,"descriptionText": "Willkommen bei NConsult GmbH. Ihre Aufgaben umfassen die Administration und Betreuung von Linux-Systemen.","primaryLocation": {"city": "Berlin","region": "Berlin","country": "Deutschland","distanceKm": "0","coordinates": {"latitude": 52.5112613,"longitude": 13.4255145}},"locations": [{"city": "Berlin","region": "BERLIN","country": "DEUTSCHLAND","coordinates": {"latitude": 52.5112613,"longitude": 13.4255145}}],"source": "arbeitsagentur.de"}
Tips for Best Results
- Prefer prepared URLs for exact filters - Configure a search on Arbeitsagentur.de, then pass its URL to retain supported filters in future runs.
- Use focused terms - A role, skill, employer, and location combination produces a more useful dataset than a broad nationwide search.
- Start with a small test - Try 20 results and one or two pages before increasing collection limits.
- Match page limits to your target - A low
max_pagesvalue can stop a run before it reachesresults_wanted. - Disable details when appropriate - Set
collectDetailstofalsefor faster monitoring when full descriptions and expanded fields are unnecessary. - Expect optional fields - Employers do not publish salary, external links, exact addresses, or every contract field for every vacancy.
- Keep scheduled searches comparable - Use the same inputs when tracking changes in vacancy volume over time.
- Report source changes - Public pages can change. Use the Actor's Issues tab if expected fields stop appearing.
Integrations and export formats
- Google Sheets - Review job listings and share hiring trackers with a team.
- Airtable - Build a searchable vacancy database by employer, profession, or location.
- Make and Zapier - Trigger notifications, enrichment, or CRM workflows from new runs.
- Webhooks - Notify another service when collection finishes.
- Apify API - Start runs and retrieve datasets from an application or data pipeline.
- JSON, CSV, Excel, and XML - Download records in a format suited to development, spreadsheets, reporting, or system interchange.
Frequently Asked Questions
Can I use an Arbeitsagentur search URL directly?
Yes. Pass the complete search page URL as startUrl, and the Actor retains supported query filters from that URL.
Can I collect several searches in one run?
Yes. Add URLs to startUrls. The Actor processes each unique search configuration and skips repeated vacancy references across the run.
Do I need to enable collectDetails?
No. Keep it enabled for full descriptions, contract fields, full-time status, and expanded locations. Disable it when summary fields are sufficient and speed matters more.
Why are some fields missing?
Some Arbeitsagentur vacancies do not publish salary details, external application links, exact addresses, or other optional information. Empty and placeholder values are omitted from the stored record.
Can I export Arbeitsagentur job data to CSV or Excel?
Yes. Apify datasets support CSV, Excel, JSON, XML, and other export formats.
Can I monitor new German job listings on a schedule?
Yes. Use Apify schedules to run the same search hourly, daily, weekly, or at another interval, then send the resulting dataset to your preferred integration.
Is it legal to scrape Arbeitsagentur.de?
Collecting publicly available job data can be legal, but you are responsible for following applicable laws, website terms, privacy requirements, and rules governing how you store and use the data.
Related Actors
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is designed for legitimate collection of publicly available job information from Arbeitsagentur.de. Users are responsible for respecting applicable laws, the source website's terms, privacy rights, and data-retention requirements.