Germany Jobs API avatar

Germany Jobs API

Pricing

from $1.20 / 1,000 job records

Go to Apify Store
Germany Jobs API

Germany Jobs API

Find job postings in Germany by role, structured location, company, category, salary, posting age, employment type, remote status, and seniority.

Pricing

from $1.20 / 1,000 job records

Rating

0.0

(0)

Developer

Aspen Technology Labs, Inc.

Aspen Technology Labs, Inc.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Share

Germany Jobs API - JobsIndex by Aspen Tech Labs

Access German jobs through the JobsIndex API, built by Aspen Tech Labs. This Actor is fixed to Germany and pulls listings directly from employer career sites and ATS platforms, giving you cleaner coverage than board-scraped alternatives. Postings are captured in both German and English, so you get native-language job ads alongside the international and English-first roles that German employers post directly. Part of a broader JobsIndex feed aggregating 11M+ active postings daily across 300K+ employer source sites globally, with full DACH coverage.

Filter by role keyword, location, salary, posting age, employment type, remote status, seniority, and pagination, built for tracking German employment data trends, powering recruitment tools, or running labour market analysis for the German market specifically.

Deutsche Stellenanzeigen als API, direkt von Arbeitgebern, DE und EN, für Arbeitsmarktdaten und Recruiting.

Need More or Something Different?

If this Actor is working well for you, we'd love a review. For more data, custom feeds, feedback, or any questions, reach out via our website or email. You can also explore JobMarketPulse, our labor and job market intelligence platform.

Built-In Country Preset

This Actor is fixed internally to country=Germany. The runtime always enforces that value even if a different country is submitted.

Because the enforced country takes precedence over where in the current JobsIndex API, where is intentionally not exposed. Use region, city, postal_code, and metro_area to narrow locations within Germany. what remains available for free-text job searches.

Quick Start

{
"title": "Software Engineer",
"size": 5
}

Input Parameters

ParameterDescriptionExample
salarySalary amount or range filter.20h-30h
whatJob search query. Supports keywords, boolean logic, exact phrases, and field-targeted search.software engineer OR data analyst
countryFixed preset. Runtime always uses Germany; changes are ignored.Germany
regionRegion, state, or province.Region name
cityCity filter.City name
postal_codePostal code filter.Postal code
metro_areaMetropolitan area filter.Metro area
titleJob title filter.Software Engineer
company_nameEmployer name filter.Employer name
company_domainEmployer website domain.example.com
categoryJob category.Information Technology
sub_categoryMore specific job function or role.Software Developer
industryEmployer industry.Technology
postedRelative posting age or ISO date.1w
employment_typeEmployment type.Full-Time
remoteWork arrangement. Supported values: remote, on-site, hybrid.hybrid
senioritySeniority level.Senior
pagePage number, starting from 0.0
sizeResults per page. Minimum 1, maximum 100.5

Salary Filter Format

Use NUMBER[UNIT] or NUMBER[UNIT]-NUMBER[UNIT].

Supported units:

  • h - per hour
  • d - per day
  • w - per week
  • m - per month
  • y - per year

Examples: 20h-30h, 35h, 50000y-90000y.

Advanced Filters

what supports plain-text search, boolean logic, exact phrases, and field-targeted search. If no field is provided, the API expands the query across a default set of relevant job and content fields.

what = engineer OR manager
what = @title engineer OR manager
what = @(title,description) (python)
what = @(title,title_raw,description) (engineer OR manager)

Structured Filter Precedence

When what is provided together with structured job filters, the structured filters take priority and may override or narrow the keyword query. Use what when the corresponding structured fields are not set.

Location Filtering

The country is fixed. Use structured fields to narrow results within Germany:

  • region
  • city
  • postal_code
  • metro_area

Limits and Pagination

Results are paginated with page and size.

ParameterMinMax
page0Depends on size and the item cap
size1100

Individual numeric bounds are checked before a run starts. Query-dependent pagination is checked after the run starts, as explained below.

One Run, One Page

Each run requests one page, not all available pages. size is the requested number of jobs for that page, with an absolute maximum of 100. Company filters can reduce the effective page size to 5 or 20; see Item Caps below.

For searches without company filters, the retrieval window is 1000 jobs: page * size must be less than 1000. The page number is zero-based.

sizeValid page rangeFirst page outside the window
1000-910
200-4950
100-99100
10-9991000

The last page can contain fewer jobs than requested. For example, page=12, size=80 starts at job 960 and can return up to 40 jobs. Narrow the search with filters to retrieve a different result set beyond the window; the Actor does not change the requested page or paginate automatically.

The input schema checks page and size individually. It cannot pre-validate their combination: page=10, size=100 passes the individual bounds but is rejected after a run starts, so the run can still finish as FAILED.

Item Caps

Query shapeMax itemsEffective max sizeOver-size behavior
No company filter1000100Validation error; not silently capped
Company filter plus another keyword or filter2020Silent cap with capping metadata
Company filter only55Silent cap with capping metadata

A company filter means company_name, company_domain, or a company field referenced inside what. Capped responses can include size_requested and size_capped_by metadata.

Free-Text Query Limits

These limits apply to each available user-entered field and are enforced before the Actor starts.

InputMaximum charactersMaximum operator characters
what50020

The operator-character limit counts ?, +, pipe, and @ together within each input. Longer searches should be split into separate requests. Remaining backend syntax and safety checks can still reject an expression after the run starts.

The current JobsIndex API accepts up to 700 characters per effective query parameter. The smaller limits above, where applicable, and the 20-operator-character guard are Actor-side limits, not a claim that the API rejects every longer expression.

Field Validation

Apify validates the input schema before creating a run, including requests made directly through the API. A schema violation returns HTTP 400 with error.type = invalid-input; no run is created. API clients should handle this response when starting the Actor; there is no run ID to poll or run error file to fetch.

InputAccepted values / limits
pageInteger 0-999; the usable maximum also depends on size and query shape.
sizeInteger 1-100; company capping remains upstream.
company_domainA domain name only, e.g. example.com; 3-100 raw input characters. No protocol, path, port, or internal spaces. The API trims surrounding ASCII whitespace.
postedRecommended windows: 1d, 1w, 1m, 1y, or a real calendar date (YYYY, YYYY-MM, YYYY-MM-DD). Use 2-10 raw input characters. Surrounding ASCII whitespace is trimmed after the raw length check. Relative amounts use 1-4 digits without leading zeros.
salary2-30 raw input characters. 1-9 digits plus h, d, w, m, or y; a range needs units on both ends, e.g. 20h-30h. Surrounding ASCII whitespace is trimmed. Decimals and currency prefixes are not accepted.
employment_type2-50 raw input characters in total. Comma-separated values; 1-31 characters per item after trimming surrounding spaces. No empty items.
seniority2-50 raw input characters in total. Comma-separated values; 1-31 characters per item after trimming surrounding spaces. No empty items.
remoteremote, on-site, hybrid, or an empty string for no filter.
Other text fieldsRaw input character ranges: region (2-80), city (2-100), postal_code (3-15), metro_area (2-100), title (2-200), company_name (2-150), category (2-100), sub_category (2-100), industry (2-100). Empty optional inputs remain allowed.

Empty optional text fields are allowed and are omitted from the upstream request. Raw input length means the decoded string including surrounding whitespace, before API trimming, not URL-encoded bytes. The schema checks preliminary formats, list structure, and lengths, not whether a matching location, employer, role, or job exists. The API retains its detailed character checks, including permitted Unicode characters in list values. A valid search with no matching jobs succeeds with an empty dataset.

Query-dependent pagination, combined filters, and other backend-only checks remain upstream or runtime checks. If they reject a request after a run starts, the run can still finish as FAILED. Technical errors are not reported as successful searches.

Output

Each run stores job records in the default Apify dataset. Common fields include job title, category, company, structured location, salary, employment type, remote status, posting dates, source URL, application URL, description, and JobsIndex ID.

Field availability depends on the source job posting.