Arbeitsagentur.de Scraper - German Federal Job Board avatar

Arbeitsagentur.de Scraper - German Federal Job Board

Pricing

from $8.00 / 1,000 job serp results

Go to Apify Store
Arbeitsagentur.de Scraper - German Federal Job Board

Arbeitsagentur.de Scraper - German Federal Job Board

Extract jobs from Germany's official employment agency (Bundesagentur für Arbeit). Get job titles, companies, locations, salaries, descriptions & contact details with ML-powered captcha solving. Supports search filters, direct URLs & job status checks.

Pricing

from $8.00 / 1,000 job serp results

Rating

5.0

(1)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

3

Bookmarked

69

Total users

6

Monthly active users

7 days ago

Last modified

Share

Arbeitsagentur.de Job Scraper

Scraper for job listings from Arbeitsagentur.de (Bundesagentur fur Arbeit), the German Federal Employment Agency's official job portal - one of the largest job boards in Germany with over 1 million active listings.

The actor now honors the platform's SERP filter and sort params 1:1: sort order, publication date window, employment type, and homeoffice percentage are all applied server-side before results are returned.

Features

  • Pure HTTP Architecture: No browser needed -- fast API-based search + HTTP captcha flow (~80MB memory)
  • Multi-Query Support: Run multiple search keywords in a single run with automatic deduplication
  • ML-Powered Captcha Solving: Extracts contact details (email, phone, contact person) behind the captcha using a trained ONNX neural network (~95% first-attempt accuracy)
  • Rich Company Data: Company logo, website (Homepage), description, and "Alle Stellen" link via employer profile API
  • Full Job Descriptions: Complete text with structured salary, dates, and remote work flags
  • Sort + Filter Options: Sort by newest or relevance, filter by publication date, employment type, and homeoffice percentage
  • Direct URL Mode: Check status of specific job listings
  • Standardized Output: Compatible with the Santamaria ecosystem JobListing schema

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client -- Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/arbeitsagentur-de-scraper

Example prompt once connected:

"Use arbeitsagentur-de-scraper to scrape job listings from arbeitsagentur de. Return results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.

How It Works

  1. Search Phase: Uses the public REST API (v6/jobs) with X-API-Key authentication. Sort, age filter, employment type, and homeoffice params are forwarded directly to the API.
  2. Job Details API (optional): Fetches rich structured data from v4/jobdetails -- full description, salary range, dates, employment flags
  3. Employer Profile API: Fetches company description, Homepage link, and logo URL from ag-darstellung-service
  4. Captcha + Contact API: Requests captcha assignment, solves with ONNX model, submits solution to unlock hidden contact data (email, phone, name)

All steps use pure HTTP -- no browser or Playwright required.

Input

FieldTypeDefaultDescription
searchQueriesstring[]-Multiple search keywords (each runs as separate search, deduplicated)
searchQuerystring-Single search keyword (legacy, backward compatible)
titleFilterstring-Comma-separated terms for title filtering (case-insensitive OR-match, applied post-SERP before detail fetch). Empty disables the filter. Reduces costs by skipping non-matching jobs entirely.
locationstring-City or region (Wo)
bundeslandstringAll statesFederal state code (see table below)
sortBystringnewestnewest (sort=veroeffdatum) or relevance (sort=relevanz)
employmentTypestringAll typesFULL_TIME, PART_TIME, INTERNSHIP, APPRENTICESHIP, CONTRACT
postedWithinDaysinteger0 (no filter)Only return jobs posted within last N days. Passed as veroeffentlichtseit (any integer).
remotePercentageMininteger0 (no filter)Minimum homeoffice percentage. Set to 100 for fully remote only.
maxResultsPerQueryinteger100Maximum results per search keyword
maxResultsinteger0 (unlimited)Total cap across all queries
includeJobDetailsbooleanfalseExtract contact details, full description, company data (~3-5s/job)
directUrlsarray-Specific job URLs to scrape

Bundesland Codes

CodeState
BWBaden-Wurttemberg
BYBayern (Bavaria)
BEBerlin
BBBrandenburg
HBBremen
HHHamburg
HEHessen
MVMecklenburg-Vorpommern
NINiedersachsen
NWNordrhein-Westfalen
RPRheinland-Pfalz
SLSaarland
SNSachsen
STSachsen-Anhalt
SHSchleswig-Holstein
THThuringen

Employment Types

ValueAPI ParamPlatform label
FULL_TIMEarbeitszeit=vzVollzeit
PART_TIMEarbeitszeit=tzTeilzeit
INTERNSHIPangebotsart=34Praktikum / Trainee
APPRENTICESHIPangebotsart=4Ausbildung
CONTRACTangebotsart=2Freiberuflich / Selbststaendig

Sort Options

ValueAPI ParamBehavior
newestsort=veroeffdatumPublication date descending (freshest jobs first)
relevancesort=relevanzPlatform relevance ranking (API default)

Output

Each job listing includes:

{
"id": "12016-10004030577-S",
"title": "Pflegeassistent /in",
"company": "PerZukunft Arbeitsvermittlung GmbH&Co.KG",
"location": "10179, Berlin",
"country": "DE",
"canton": null,
"salary_min": 12.82,
"salary_max": 12.82,
"salary_currency": "EUR",
"salary_period": "hourly",
"salary_text": "12,82 EUR/Std.",
"employment_type": "full-time",
"workload_min": null,
"workload_max": null,
"remote_option": null,
"description_snippet": "Fur [mehrere] Standorte des Grossraums Berlin...",
"description_full": "Full job description with markdown formatting...",
"requirements": [],
"company_benefits": [],
"posted_at": "2026-02-26T00:00:00.000Z",
"modified_at": "2026-02-26T14:51:45.062Z",
"expires_at": null,
"source_url": "https://www.arbeitsagentur.de/jobsuche/jobdetail/12016-10004030577-S",
"source_platform": "arbeitsagentur.de",
"contact_salutation": "Frau",
"contact_firstname": "Delia",
"contact_lastname": "Schneider",
"contact_email": "wedding.pflege@perzukunft.de",
"contact_phone": "+49302200870",
"apply_url": "https://www.perzukunft.de/job/pflegeassistent-in-1201610004030577",
"apply_email": "wedding.pflege@perzukunft.de",
"company_url": null,
"company_website": "http://www.perzukunft.de/",
"company_logo_url": "https://rest.arbeitsagentur.de/.../arbeitgeberlogo/QCGq...",
"company_description": "Perzukunft - Unternehmensprofil...",
"company_jobs_url": "https://www.arbeitsagentur.de/jobsuche/suche?angebotsart=1&arbeitgeberKundennummerHash=...",
"search_query": "Pflege",
"scraped_at": "2026-03-04T15:36:48.707Z"
}

Field Reference

FieldSourceRequires includeJobDetails
company_websiteEmployer profile API (Homepage link)Yes
company_logo_urlConstructed from arbeitgeberKundennummerHashYes
company_descriptionEmployer profile APIYes
company_jobs_urlConstructed from employer hashYes
description_fullv4 jobdetails APIYes
modified_atv4 jobdetails API (aenderungsdatum)Yes
salary_min/max/periodv4 jobdetails APIYes
contact_*Captcha-protected bewerbung APIYes
remote_optionv4 jobdetails APIYes
search_queryInput search keyword that found this jobNo

Usage

Best practice for pipelines: newest jobs only, full-time, posted today.

{
"searchQueries": ["Softwareentwickler"],
"sortBy": "newest",
"postedWithinDays": 1,
"employmentType": "FULL_TIME",
"maxResultsPerQuery": 200
}

Precision Daily Scrape (title filter)

Combine newest-first with a title filter to receive only the specific role categories you care about. Jobs that do not match any term are dropped before detail fetch, so you pay only for relevant results.

{
"searchQueries": ["Software", "IT", "Entwickler"],
"sortBy": "newest",
"postedWithinDays": 1,
"titleFilter": "Engineer, Entwickler, Developer, Architect",
"employmentType": "FULL_TIME",
"maxResultsPerQuery": 200
}
{
"searchQueries": ["Pflege", "Krankenschwester", "Altenpfleger"],
"location": "Berlin",
"maxResultsPerQuery": 50,
"maxResults": 0,
"includeJobDetails": false
}

Remote Jobs Only

{
"searchQueries": ["Softwareentwickler"],
"sortBy": "newest",
"remotePercentageMin": 100,
"maxResultsPerQuery": 100
}

Quick Search (without contact details)

{
"searchQueries": ["Elektriker"],
"location": "Munchen",
"maxResultsPerQuery": 50,
"includeJobDetails": false
}

Full Extraction (with contact details)

{
"searchQueries": ["Pflege"],
"bundesland": "BY",
"maxResultsPerQuery": 20,
"includeJobDetails": true
}

Legacy Single Query (backward compatible)

{
"searchQuery": "Softwareentwickler",
"location": "Berlin",
"maxResults": 100,
"includeJobDetails": true
}

Precision title filter

Returns only German engineering jobs whose title contains "ingenieur" or "entwickler" (case-insensitive substring match). Non-matching SERP rows are dropped before the detail-fetch step, so you don't pay for job-detail events on jobs you don't want.

{
"searchQueries": ["software"],
"titleFilter": "ingenieur, entwickler",
"sortBy": "newest",
"maxResults": 50
}

Example matched titles: "Softwareentwickler (m/w/d) Java Backend", "Ingenieur fur Automatisierungstechnik".

Via API

curl -X POST "https://api.apify.com/v2/acts/santamaria~arbeitsagentur-de-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["Softwareentwickler", "Programmierer"],
"location": "Berlin",
"sortBy": "newest",
"employmentType": "FULL_TIME",
"postedWithinDays": 7,
"maxResultsPerQuery": 100,
"includeJobDetails": true
}'

Performance and Cost

ModeMemorySpeedCU (50 jobs)
Search only (includeJobDetails: false)~40 MB~25 jobs/sec~0.005
With details (includeJobDetails: true)~120 MB~1 job/3-5 sec~0.05

Tip: Use includeJobDetails: false (default) for high-volume scraping, enable only when you need contact details and company data.

Limitations

  1. Rate Limiting: 2s delay between requests to avoid blocks
  2. Salary Data: German job listings rarely include salary information
  3. Job Expiration: API doesn't provide expiration dates
  4. Contact Availability: Not all listings have contact details behind captcha
  5. Company Website: Only available when the employer has configured a Homepage link in their profile

Working across the German job market? These complement Arbeitsagentur.de:

Germany

Switzerland

Austria

Global

Enrich your job data

Support

For issues or feature requests: Actor Issues | API Reference


Part of the Santamaria Job Scrapers Suite - Professional-grade job data for the DACH region.

Built with Apify | Arbeitsagentur.de