Arbeitsagentur Scraper
Pricing
from $2.00 / 1,000 results
Arbeitsagentur Scraper
Extract job listings from arbeitsagentur.de — Germany's official public employment portal with 1M+ listings. Structured data with location, salary type, contract type, remote options.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Black Falcon Data
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share

🔍 What is Arbeitsagentur Scraper?
Arbeitsagentur Scraper extracts structured job listings from arbeitsagentur.de — with salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields. The input is built around keyword search, location filters, and controllable result limits, so you can rerun the same search universe consistently over time.
arbeitsagentur.de is a public job platform, but it does not provide the kind of structured export most teams need for recurring data workflows. This actor bridges that gap by turning the source into clean JSON with salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields, with direct API access and a schema that is easier to reuse in dashboards, enrichment pipelines, and agent workflows.
🎯 What you can do with this actor
- Use geo-ready listing data for regional analysis, location clustering, or map-based downstream workflows.
- Feed compact listing data into AI agents, MCP tools, and ranking workflows without carrying full raw payloads every time.
- Start with lightweight search runs, then enable detail enrichment only when you need deeper company or listing context.
✨ Why choose this actor?
| Feature | This actor | Typical alternatives |
|---|---|---|
| Geo-ready output | Includes structured location fields for regional analysis | Often location text only |
| Collection strategy | Can stay lightweight or add enrichment only when needed | Often fixed to one scraping mode |
| AI-agent usability | Compact output mode for smaller, more controllable payloads | Often full payload only |
| Schema quality | Keeps salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields in a consistent output shape | Often inconsistent across runs |
🚀 Quick start
Basic search:
{"query": "Software Developer","location": "Berlin","maxResults": 50,"includeDetails": true,"mode": "full","includeContact": false,"radius": 0,"contractType": "","jobType": "","workType": "","bundesland": "","remoteOnly": false,"publishedSince": 0,"includeTemporaryWork": true,"compact": false,"descriptionMaxLength": 0}
With enrichment:
{"query": "Software Developer","location": "Berlin","maxResults": 50,"includeDetails": true,"mode": "full","includeContact": true,"radius": 0,"contractType": "","jobType": "","workType": "","bundesland": "","remoteOnly": false,"publishedSince": 0,"includeTemporaryWork": true,"compact": false,"descriptionMaxLength": 0}
Incremental monitoring:
{"query": "Software Developer","location": "Berlin","maxResults": 50,"includeDetails": true,"mode": "incremental","includeContact": false,"radius": 0,"contractType": "","jobType": "","workType": "","bundesland": "","remoteOnly": false,"publishedSince": 0,"includeTemporaryWork": true,"compact": false,"descriptionMaxLength": 0}
📊 Sample output
{"referenceId": null,"title": null,"employer": null,"occupation": null,"allOccupations": [],"location": null,"postalCode": null,"region": null,"country": null,"lat": 0,"lng": 0,"isFullTime": false,"isPartTime": false,"isPartTimeMorning": false,"isPartTimeAfternoon": false,"isPartTimeEvening": false,"isNightOrWeekendShift": false,"isMiniJob": false,"isRemote": false,"remoteType": null,"contractType": null,"contractDurationMonths": 0,"salary": null,"startDate": null,"publishedDate": null,"firstPublishedDate": null,"modifiedDate": null,"isCareerChange": false,"isTemporaryStaffing": false,"isDisabilityFriendly": false,"cipherNumber": null,"externalUrl": "https://arbeitsagentur.de","portalUrl": "https://arbeitsagentur.de","distanceKm": 0,"description": null,"allianzPartnerName": null,"allianzPartnerUrl": "https://arbeitsagentur.de","employerDescription": null,"employerWebsite": null,"employerSize": null,"employerFoundedYear": 0,"employerHQ": null,"employerBenefits": [],"employerSocialMedia": [],"employerContactInfo": null,"contactName": null,"contactEmail": null,"contactPhone": null,"employerAddress": null,"applyUrl": "https://arbeitsagentur.de","applyMethod": null,"scrapedAt": null}
⚙️ Input reference
| Parameter | Type | Default | Description |
|---|---|---|---|
| Search | |||
query | string | — | Job title or keyword (e.g., 'Software Developer', 'Krankenpfleger') |
location | string | — | City or region (e.g., 'Berlin', 'München', 'Hamburg') |
maxResults | integer | 50 | Maximum number of job listings to return |
| Mode | |||
mode | enum | "full" | Full mode returns all matching jobs. Incremental mode returns only new or modified jobs since the last run — ideal for scheduled monitoring. |
includeContact | boolean | false | Fetch contact person name, email, phone, and application URL for each listing. Slower due to additional verification per job. Requires CAPSOLVER_API_KEY environment variable. |
includeDetails | boolean | false | Fetch full job description, employer profile, and benefits for each listing. Slower but richer data. |
| Filters | |||
radius | integer | 0 | Radius around location in km |
contractType | enum | "" | Filter by contract duration |
jobType | enum | "" | Filter by listing type |
workType | enum | "" | Filter by working hours |
bundesland | enum | "" | Filter by German federal state (client-side post-fetch — may fetch many API pages for sparse state/broad query combinations; combine with a location for best performance) |
remoteOnly | boolean | false | Only show jobs with home office option |
publishedSince | integer | 0 | Only show jobs published within the last N days. 0 = any time, 1 = last 24h, 7 = last week, 30 = last month. |
includeTemporaryWork | boolean | true | Include jobs from temporary staffing agencies (Zeitarbeitsfirmen) |
employer | string | — | Employer name (e.g., 'BMW', 'Deutsche Bahn', 'Robert Bosch GmbH'). Common brand names are resolved to the registered company name where possible. For guaranteed results, use the exact registered name (e.g., 'BMW AG'). |
| AI / Agent Output | |||
compact | boolean | false | When true, each result contains only the 10 most essential fields: referenceId, title, employer, location, region, publishedDate, contractType, isRemote, portalUrl, and description. Use this in AI-agent and MCP workflows where token budgets matter — compact output is significantly smaller than full output, reducing context window consumption and cost. |
descriptionMaxLength | integer | 0 | Truncate the description field to this many characters, appending '...' if truncated. 0 means no truncation. Use in AI-agent workflows to control context window usage — 200–500 characters is usually enough for an LLM to classify or summarise a job. Pairs well with compact mode. |
📦 Output fields
Each result can include salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields, depending on listing content and the enrichment options enabled for the run.
Core fields
| Field | Type | Description |
|---|---|---|
title | string | Job Title |
occupation | string | Occupation |
allOccupations | array | All Occupations |
location | string | City |
postalCode | string | null |
region | string | Federal State (Bundesland) |
country | string | Country |
lat | number | null |
lng | number | null |
isFullTime | boolean | Full-time |
isPartTime | boolean | Part-time (Flexible) |
isPartTimeMorning | boolean | Part-time Morning |
isPartTimeAfternoon | boolean | Part-time Afternoon |
isPartTimeEvening | boolean | Part-time Evening |
isNightOrWeekendShift | boolean | Night/Weekend Shift |
isMiniJob | boolean | Mini Job |
isRemote | boolean | Remote/Home Office |
remoteType | string | null |
contractType | string | null |
contractDurationMonths | integer | null |
salary | string | null |
startDate | string | null |
publishedDate | string | null |
firstPublishedDate | string | null |
modifiedDate | string | null |
isTemporaryStaffing | boolean | Temporary Staffing |
isDisabilityFriendly | boolean | Disability Friendly |
cipherNumber | string | null |
externalUrl | string | null |
portalUrl | string | Portal URL |
distanceKm | number | null |
allianzPartnerName | string | null |
allianzPartnerUrl | string | null |
Detail and enrichment
| Field | Type | Description |
|---|---|---|
description | string | null |
Contact and company
| Field | Type | Description |
|---|---|---|
employer | string | Employer |
employerDescription | string | null |
employerWebsite | string | null |
employerSize | string | null |
employerFoundedYear | integer | null |
employerHQ | string | null |
employerBenefits | array | Employer Benefits |
employerSocialMedia | array | Employer Social Media |
employerContactInfo | string | null |
contactName | string | null |
contactEmail | string | null |
contactPhone | string | null |
employerAddress | string | null |
applyUrl | string | null |
applyMethod | string | null |
Operational fields
| Field | Type | Description |
|---|---|---|
referenceId | string | Reference Number |
isCareerChange | boolean | Career Change Suitable |
scrapedAt | string | Scraped At |
⚠️ Known limitations
- Company profile fields depend on source availability and may be limited for portals that do not expose employer metadata.
- Field population rates always depend on the source site itself, so null values are normal for data points the source does not publish on every listing.
💰 How much does it cost to scrape arbeitsagentur scraper?
This actor uses pay-per-event pricing, so you pay a small run-start fee and then only for results that are actually emitted.
| Event | Price | When |
|---|---|---|
actor-start | $0.01 | Each run |
result | $0.002 | Per emitted record |
Example costs:
| Scenario | Results | Cost |
|---|---|---|
| Quick test | 10 | $0.03 |
| Daily monitor | 50 | $0.11 |
| Full scrape | 500 | $1.01 |
💡 Use cases
Recruiting and sourcing
Pull arbeitsagentur.de listings into dashboards, triage queues, or recruiter workflows without re-normalizing the source on every run.
Recurring monitoring
Track only newly posted or changed listings on scheduled runs, which is better suited to alerts and daily pipeline jobs than repeated full exports.
Outreach and hiring-intent research
Use employer, contact, and apply fields to support account research, outreach queues, or company watchlists when the source provides those details.
Salary and market analysis
Track salary ranges, titles, and locations over time to build a more structured view of demand on arbeitsagentur.de.
Geo and regional analysis
Use coordinates, postal data, and structured addresses for regional reporting, mapping, or distance-based filtering in downstream tools.
🤖 AI-agent and MCP usage
This actor is suitable for AI-agent workflows because the output is structured and the input can intentionally reduce payload size for downstream tools.
compactreturns a smaller core schema for ranking, classification, and MCP tool calls.- Compact output focuses on fields such as
title,employer,location,region,contractType,isFullTime,isRemote, andstartDate. descriptionMaxLengthlets you cap description size so larger batches stay practical in model context windows.
{"query": "Software Developer","location": "Berlin","maxResults": 10,"includeDetails": true,"mode": "full","includeContact": false,"radius": 0,"contractType": "","jobType": "","workType": "","bundesland": "","remoteOnly": false,"publishedSince": 0,"includeTemporaryWork": true,"compact": true,"descriptionMaxLength": 300}
🔄 Incremental mode
Incremental mode is intended for repeated monitoring runs where only new or changed listings should be emitted.
| Change type | Meaning |
|---|---|
NEW | First time seen in the monitored result set |
CHANGED | Previously seen listing with updated content |
UNCHANGED | Same listing and content as a prior run when unchanged emission is enabled |
EXPIRED | Listing disappeared from the monitored result set when expired emission is enabled |
📖 How to scrape arbeitsagentur scraper
- Open the actor in Apify Console and review the input schema.
- Enter your search query and location settings, then set
maxResultsfor the amount of data you need. - Enable optional enrichment fields only when you need richer output such as descriptions, contacts, or company data.
- Run the actor and export the dataset as JSON, CSV, or Excel for downstream analysis.
❓ FAQ
What data does this actor return from arbeitsagentur.de?
It returns structured listing records with fields such as salary fields, contact and apply details, company metadata, full descriptions, geo-ready location fields, plus the core identifiers and metadata defined in the dataset schema.
Can I fetch full descriptions and detail fields?
Yes. Enable the detail-related input options when you need richer fields such as descriptions, employer metadata, or contact details from the listing detail pages.
Does it support recurring monitoring?
Yes. Incremental mode is built for recurring runs where you only want newly seen or changed listings instead of a full repeat dataset every time.
Is it suitable for AI agents or MCP workflows?
Yes. Compact mode and output-size controls make it easier to use the actor in AI-agent workflows where predictable fields matter more than raw page size.
Why use this actor instead of scraping the site ad hoc?
Because it already handles direct API access, keeps a stable schema, and exposes filters and enrichment options in a form that is easier to automate repeatedly.
Is scraping arbeitsagentur.de legal?
This actor is intended for publicly accessible data workflows. Always review the target site terms and your own legal requirements for the way you plan to use the data.
🔗 Related actors
- Company Jobs Tracker — Alternative structured job-feed workflow
- Dice.com Job Scraper — Alternative structured job-feed workflow
- Duunitori Scraper — Alternative structured job-feed workflow
- Glassdoor Job Scraper — Alternative structured job-feed workflow
- Indeed Job Scraper — Alternative structured job-feed workflow