StepStone Jobs API

StepStone job ads with the site's own filters, full descriptions and employer jobs, as JSON

StepStone is one of Germany's largest job boards and also runs stepstone.at, stepstone.be and stepstone.nl.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a StepStone Jobs endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
S
/stepstone/v1

3 active endpoints, on 2 and 3 credit tiers.

  • POST/stepstone/v1/search
  • POST/stepstone/v1/job
  • POST/stepstone/v1/company_jobs

What StepStone Jobs endpoints does ReefAPI ship?

3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

3 endpoints

search

2 cr

Search live StepStone job ads by keyword and location with the site's own filters.

required
—
optional
query, location, radius, market, page, posted_within_days, min_salary, work_from_home, work_type, contract_type, experience, application_method, sector_id, skill_id, language, exact_matches_only

job

3 cr

The full job posting.

required
—
optional
job_id, url, market

company_jobs

2 cr

All open jobs of one employer on StepStone, 25 per page.

required
company_id
optional
company_id, query, market, page

Every parameter, every allowed value →

StepStone Jobs API

3 of 3 endpoints, ready to run

View docs ↗

StepStone jobs by title and city, 25 a page, with live filter counts

2 credits0 required · 4 optional
POST/stepstone/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the StepStone Jobs API works

StepStone Jobs is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 598 engines.

02
Call
POST /stepstone/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From a StepStone search to full job ads and the employer's other jobs

Search with the filters you need, open the ads, then see what else the employer is hiring for.

01search?query=buchhalter&location=M%C3%BCnchen&posted_within_days=7
GET/stepstone/v1/search?query=buchhalter&location=M%C3%BCnchen&posted_within_days=7

25 jobs a page with title, employer, location, dates, summary, benefits and StepStone's salary estimate; total, last_page and every filter value with its count.

02job?job_id=<job_id>
GET/stepstone/v1/job?job_id=<job_id>

The full ad as clean text sections, contract and work type, address with coordinates when published, benefits and the employer card.

03company_jobs?company_id=<company_id>
GET/stepstone/v1/company_jobs?company_id=<company_id>

All open jobs of that employer, 25 a page.

A daily StepStone job feed with full descriptions, employer ids and salary estimates, filtered the way StepStone filters.

request
curl -X POST https://api.reefapi.com/stepstone/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"software engineer","location":"Berlin","market":"de"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "stepstone",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What a StepStone field actually contains

Fields that read differently from how they look. Measured against live stepstone.de, .at, .be and .nl answers on 2026-11-03.

FieldWhat it holds
salaryStepStone's own salary estimate for the job, not the employer's offer. StepStone prints it as "geschätzt für Vollzeit" (estimated for full time); is_estimate is true and type is Predicted on every row measured. The search row and the full ad carried the same range on 3 of 3 jobs that had one (for example 55,000 to 75,000 EUR a year).
salary (what is not there)No ad measured carried a salary from the employer in its structured data, and the figure StepStone shows behind "Gehalt anzeigen" needs a StepStone login, so it is not returned. The estimate is what StepStone shows every visitor.
total and countstotal is every job StepStone lists for the search, including the jobs it adds from nearby regions and similar titles. counts.main is the strict match; counts.regional and counts.semantic are the additions. Each row says which kind it is in match_type; exact_matches_only drops the additions.
home_officetrue when the ad is flagged for home office. Ads found with the remote-only filter carry the same flag as partial home office, so to get remote-only jobs use work_from_home=full on search.
job_id, company_idStepStone's own numeric ids, returned as strings. A job_id from search opens the same ad in job; a company_id opens that employer's list in company_jobs.
date_posted, publish_toWhen StepStone published the ad and when it is scheduled to go offline. Ads run about 30 days; a posted_within_days=30 filter changes nothing, so only 1, 3, 7 and 14 are offered.
facetsEvery filter value StepStone offers for the current search with its live count, and the parameter it feeds (for example sectors → sector_id, skills → skill_id). The count matches the filtered total: contract type permanent showed 473 and the filtered search returned 473.

StepStone has no French job board any more (stepstone.fr redirects to the group's corporate site), so France is not covered. StepStone's date sort does not change the order of results for visitors who are not logged in, so no sort parameter is offered; use posted_within_days instead.

StepStone coverage, measured

Every number below was read from live StepStone answers on 2026-11-03.

Sites

stepstone.de, stepstone.at, stepstone.be and stepstone.nl. stepstone.fr no longer runs a job board. Germany is the large one: software engineer in Berlin 735 jobs, buchhalter in München 786; Austria software engineer in Wien 426; Belgium software engineer in Brussel 206.

Filters that narrow

Software engineer in Hamburg, 512 jobs: last 7 days 284, last day 26, salary from 60,000 398, partial home office 377, remote only 20, part time 57, permanent 473, working student 8, no experience 120, quick apply 53, IT and Internet 304, Python 88, English ads 51; radius 100 km 698. Each filtered total equals the count StepStone shows next to that filter.

Accuracy

For 12 jobs taken from 12 different searches (8 in Germany, 1 in Austria, 3 in Belgium) the title, employer and posting date in the search row matched the full ad and the ad's own structured data, 12 of 12; the salary estimate matched on 3 of 3 jobs that had one.

Paging

25 jobs a page; pages 1 to 3 of one search held 75 different jobs; the last page (32) returned 11 and has_more false.

Speed and size

Search answered in a median 2.6 seconds (39 of 40 searches), a full job ad in 3.3 seconds (15 of 15), employer jobs in 1.9 seconds (5 of 5).

Limits

Salary is StepStone's estimate, not the employer's figure. Results cannot be sorted by date for visitors who are not logged in. Each page includes StepStone's nearby and similar-title jobs after the exact matches; match_type marks them and exact_matches_only drops them.

What people build with StepStone Jobs

The jobs this data is most often used for.

3

endpoints

2/3

credits per call

01

Collect new German, Austrian, Belgian and Dutch job ads every day by title, city and posting date for a job aggregator.

02

Track which companies are hiring for a skill or role and how many open jobs each has.

03

Build salary benchmarks from StepStone's salary estimates by title and city.

04

Generate B2B leads from employers that post many jobs in a sector or region.

What StepStone Jobs data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 598 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/stepstone/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"software engineer","location":"Berlin","market":"de"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/stepstone/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "query": "software engineer",
  "location": "Berlin",
  "market": "de"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up StepStone Jobs.

Get a free key →
Which StepStone countries are covered?▾

Germany (stepstone.de), Austria (stepstone.at), Belgium (stepstone.be) and the Netherlands (stepstone.nl), chosen with market. Germany is by far the largest: a search for buchhalter in München listed 786 jobs on 32 pages, the same title in the Netherlands board returns a handful.

Do I get the full job description?▾

Yes, from job: every section StepStone shows (introduction, tasks, profile, what the employer offers, extra information) as clean text, plus the original HTML. Across 9 ads measured the text ran from about 1,600 to 4,300 characters; 6 of 6 ads in a field check had text sections, industry and employment type, 5 of 6 had map coordinates.

Is the salary the real salary?▾

It is StepStone's estimate, flagged with is_estimate: true. In a München accountant search 24 of 25 rows carried one. Across 150 search rows in six searches 85 carried an estimate; StepStone does not show a salary figure from the employer to visitors who are not logged in.

Which filters actually work?▾

All the filters offered narrow the results, measured on software engineer in Hamburg (512 jobs): posted in the last 7 days 284, minimum salary 60,000 398, partial home office 377, part time 57, permanent 473, no experience required 120, quick apply 53, IT and Internet industry 304, Python skill 88, ads in English 51, radius 100 km 698. A filter StepStone does not apply returns an error rather than an unfiltered list.

How do I page through all results?▾

Pass page=2, 3 and so on; each page holds 25 jobs. The answer gives last_page and has_more. Three pages in a row returned 75 different jobs with no repeats; the last page (32) returned the remaining 11 and has_more false, and a page beyond it returns an error naming the last page.

Can I get all jobs of one company?▾

Yes. Take company_id from any search row or job and call company_jobs. Measured: Schwarz Digits 33 open jobs, BIOTRONIK 12, every row from the requested employer. A keyword narrows it (Schwarz Digits with engineer: 15).

Does the result depend on where the request comes from?▾

No. The same search returned the same total, the same jobs and the same salary estimates in the same minute from four different countries.

What is the StepStone Jobs API?▾

StepStone Jobs API is a ReefAPI endpoint group for stepstone job ads in germany, austria, belgium and the netherlands: search with the site's own filters, full postings and every open job of an employer. It returns live JSON through POST requests under /stepstone/v1.

Is the StepStone Jobs API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. StepStone Jobs calls use the same shared credit balance as every other ReefAPI engine.

Do I need a StepStone Jobs login or account?▾

No login to StepStone Jobs is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the StepStone Jobs data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the StepStone Jobs API use?▾

StepStone Jobs actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call StepStone Jobs from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call stepstone actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the StepStone Jobs API a StepStone Jobs scraper?▾

It is the managed alternative to a DIY StepStone Jobs scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same stepstone job ads in germany, austria, belgium and the netherlands: search with the site's own filters, full postings and every open job of an employer back as clean JSON.

18 Jobs & Hiring APIs on the same key

One key, one credit pool, one response envelope. If you are pulling StepStone Jobs, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 597 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-03.