Arbeitsagentur.de Scraper avatar

Arbeitsagentur.de Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Arbeitsagentur.de Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

1

Monthly active users

3 days ago

Last modified

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?

FieldDescription
titlePublished job title
professionProfession or occupational label
companyEmployer name
referenceNumberUnique Arbeitsagentur vacancy reference
publicUrlDirect public job-detail page
employmentTypeListing category, such as employment
contractTypeContract duration when published
salaryCompensation label when published
publicationDateCurrent publication date
firstPublishedDateOriginal publication date when detail collection is enabled
isFullTimeWhether the vacancy is marked as full-time
descriptionTextPlain-text job description
descriptionHtmlFormatted job description
externalUrlExternal source or application page when available
primaryLocationMain job location, including coordinates when available
locationsDeduplicated locations relevant to the vacancy

How to scrape Arbeitsagentur job listings

  1. Open the Actor on Apify Store.
  2. Paste an Arbeitsagentur search URL, or enter a keyword and location.
  3. Set results_wanted and max_pages for the size of the run.
  4. Keep collectDetails enabled for descriptions and additional vacancy fields, or disable it for a faster summary-only run.
  5. Run the Actor and review the dataset preview.
  6. 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

ParameterTypeRequiredDefaultDescription
startUrlString or ObjectNoNoneOne Arbeitsagentur Jobsuche URL with prepared filters. An object may contain a url property.
startUrlsArrayNo[]Multiple search URLs or URL objects to process in one run. Duplicate search configurations are skipped.
keywordStringNoNoneJob title, skill, or search term. Maps to the was search filter.
locationStringNoNoneCity, postal code, or region. Maps to the wo search filter.
fieldStringNoNoneOccupational field filter. The source-style alias berufsfeld is also accepted.
employerStringNoNoneEmployer-name filter. The alias arbeitgeber is also accepted.
publicationDaysIntegerNoNoneLimit results by publication age, from 0 to 100 days. The alias veroeffentlichtseit is accepted.
radiusIntegerNoNoneSearch radius around the location. The alias umkreis is accepted.
offerTypeIntegerNoNoneArbeitsagentur offer-type identifier. The alias angebotsart is accepted.
workTimeString or ArrayNoNoneOne or more work-time filters. The alias arbeitszeit is accepted.
fixedTermString or ArrayNoNoneOne or more contract-duration filters. The alias befristung is accepted.
includeTempWorkBooleanNoNoneInclude or exclude temporary-agency work. The alias zeitarbeit is accepted.
includePrivateAgencyBooleanNoNoneInclude or exclude private employment agencies. The alias pav is accepted.
disabilityFriendlyBooleanNoNoneApply the disability-friendly vacancy filter. The alias behinderung is accepted.
results_wantedIntegerNo20Maximum number of unique jobs saved across all searches.
max_pagesIntegerNo10Maximum pages processed for each search configuration.
collectDetailsBooleanNotrueCollect detailed descriptions, contract data, and expanded location information.
proxyConfigurationObjectNoNoneOptional 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.

FieldTypeDescription
referenceNumberStringUnique Arbeitsagentur job reference
publicUrlStringDirect public listing URL
titleStringJob title
professionStringPublished profession label
companyStringEmployer name
companyHashStringEmployer identifier when available
employmentTypeStringEmployment or offer category
contractTypeStringContract duration label
salaryStringPublished compensation label
publicationDateStringCurrent publication date
firstPublishedDateStringFirst publication date
modifiedAtStringLast modification timestamp
startDateStringExpected employment start date
startDateRangeObjectPublished start-date range
isFullTimeBooleanFull-time status
descriptionTextStringPlain-text description for search, analysis, or AI workflows
descriptionHtmlStringFormatted description for display
externalUrlStringExternal application or source URL
partnerNameStringPartner name associated with the listing
partnerUrlStringPartner page when published
primaryLocationObjectMain location, potentially including postal code, city, region, country, distance, and coordinates
locationsArrayDeduplicated locations relevant to the vacancy
sourceStringAlways 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
}

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_pages value can stop a run before it reaches results_wanted.
  • Disable details when appropriate - Set collectDetails to false for 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.

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.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

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.