Skip to main content
POST
/
v1
/
scrape-arbeitsagentur-jobs
/
async
Scrape Arbeitsagentur Jobs
curl --request POST \
  --url https://api.automindz.co/v1/scrape-arbeitsagentur-jobs/async \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Maler",
  "location": "Berlin",
  "radius": 25,
  "job_type": "full-time",
  "max_pages": 1,
  "solve_captcha": true
}
'
{
  "request_id": "run_ba_abc123",
  "status": "QUEUED"
}
Searches the German federal job board (arbeitsagentur.de) by title and/or location and returns structured job listings. It queries the board directly through its official search API, so results are reliable and paginated. Optionally, set solve_captcha to fill recruiter contact details (email / phone / name) that the board hides behind a CAPTCHA-gated contact tile. The pipeline runs asynchronously. Use the returned request_id to poll for results.
Timing guidance: Listing-only searches finish in well under a minute. With solve_captcha enabled, each job without an in-text contact triggers a CAPTCHA solve — expect a few seconds per job. Poll every 15–30 seconds.

How it works

  1. Builds the Arbeitsagentur search from title (was), location (wo), radius (umkreis), and optional job_type
  2. Pages through the official search API up to max_pages, de-duplicating by reference number
  3. Optionally fetches each job’s detail page for the full description (include_details)
  4. When solve_captcha is true, solves the contact-tile CAPTCHA per job and fills hiring_manager_email / hiring_manager_phone / hiring_manager_name
  5. Returns structured job listings (company, search URLs, totals, and the jobs array)
Provide at least one of title or location. radius only applies when a location is set.

Response

The request is accepted immediately and returns a request_id — no jobs are returned here. Poll Get Arbeitsagentur job scrape status with that id to retrieve the results.
{
  "request_id": "run_ba_abc123",
  "status": "QUEUED"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
title
string | null

Job title / keyword to search (BA was). At least one of title or location is required.

location
string | null

City or place to search around (BA wo). At least one of title or location is required.

radius
integer
default:25

Search radius in km around location (BA umkreis). Ignored when no location.

Required range: x >= 0
job_type
enum<string> | null

Working-time filter, mapped to BA arbeitszeit (full-time→vz, part-time→tz, mini-job→mj, home-office→ho).

Available options:
full-time,
part-time,
mini-job,
home-office
max_pages
integer
default:3

Number of search result pages to fetch.

Required range: 1 <= x <= 20
page_size
integer
default:25

Results per page.

Required range: 1 <= x <= 100
include_details
boolean
default:true

Fetch each job's detail page for the full description (slower).

solve_captcha
boolean
default:false

When true, solve the CAPTCHA-gated contact tile per job to fill recruiter email/phone/name. Off by default.

Response

Successful Response

request_id
string
required
status
string
default:QUEUED