StepStone job search

GET https://api.api.sh/stepstone/v1/search
1 credit / call jobs & b2b try it in the playground →

Jobs on StepStone.de for a keyword and/or location, with the site's filters: radius, sort, posting age, home office, full/part time, minimum salary, and every facet the results page offers (contract type, experience, discipline, category, sector, city, region, skills, application method, language). country=uk searches Totaljobs (StepStone's UK board) with the same fields; its facets (salary, work policy, discipline, contract type, skills, category, sector, city, region, application method) work the same way. total is StepStone's count; 25 jobs per page. Facets come back in facets; pass a value's filter (e.g. ct=222) back as filter (repeatable). Each job: id, global_id, title, url, company, company_id, company_url, logo, location, remote, salary (StepStone's range, predicted when it is the site's estimate), snippet, benefits, posted_at, expires_at, top_job, sponsored, labels, skills and raw. Pass next_page back as page; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
q string Keywords, e.g. python, projektmanager. Required unless location is given. Example: python
country de | uk de (default): StepStone.de. uk: Totaljobs (totaljobs.com).
location string City or region, e.g. berlin. Example: berlin
radius integer Radius around the location, in km.
sort relevance | date Order.
age 1 | 7 Posted within this many days (country=de only).
remote partly | only | onsite Home office: partly (hybrid) or only (remote); onsite only with country=uk.
work_type full_time | part_time Full or part time (country=de only).
salary_min integer Minimum yearly salary in EUR, or GBP with country=uk (the site's bands: 10000 to 100000).
filter string More filters as key=value from facets[].values[].filter. Repeatable.
page integer Page number. Pass next_page from the previous response; null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/stepstone/v1/search?q=python" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.