Jobs Search

Search job listings on Stepstone with keyword, location, and filter support. Covers Germany (de), Austria (at), Netherlands (nl), and Belgium (be).

Endpoint

GET /api/stepstone/jobs/search

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Parameters

query string Required

Job title, skill, or keyword (e.g. "Software Engineer", "Python")

location string Optional

City or region (e.g. "Berlin", "München")

country string Optional

Country code: de (Germany), at (Austria), nl (Netherlands), be (Belgium). Default: de

sort string Optional

Sort order: relevance (default) or date

radius integer Optional

Search radius in kilometres (e.g. 30)

job_type string Optional

Filter by type: full_time, part_time, internship, freelance

work_from_home boolean Optional

Filter for remote/work-from-home jobs (true/false)

date_posted integer Optional

Maximum age of posting in days: 1, 3, 7, 30

page integer Optional

Page number for pagination (default: 1)

limit integer Optional

Max results to return (1–100, default: 25)

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-api-key: YOUR_API_KEY_HERE',
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
<?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25');

return $response->json();
fetch('https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
const axios = require('axios');

axios.get('https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
import requests

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

puts JSON.parse(response.body)
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25", nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/stepstone/jobs?query=Software+Engineer&location=Berlin&country=de&sort=date&limit=25' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "success": true,
    "data": {
        "jobs": [
            {
                "id": "12345678",
                "title": "Senior Software Engineer (m/w/d)",
                "url": "https://www.stepstone.de/stellenangebote--Senior-Software-Engineer-Berlin--12345678-inline.html",
                "company": {
                    "id": 9876,
                    "name": "TechGmbH",
                    "logo_url": "https://cdn.stepstone.de/logo/9876.png",
                    "url": "https://www.stepstone.de/cmp/techgmbh"
                },
                "location": {
                    "formatted": "Berlin",
                    "city": "Berlin",
                    "region": null,
                    "country": null
                },
                "salary": null,
                "date_posted": "2026-03-19T08:00:00+01:00",
                "description": "We are looking for a Senior Software Engineer...",
                "skills": [
                    "Python",
                    "Docker",
                    "Kubernetes"
                ],
                "labels": [
                    "Home-Office m\u00f6glich"
                ],
                "work_from_home": true,
                "is_highlighted": false,
                "is_sponsored": false
            }
        ],
        "pagination": {
            "current_page": 1,
            "total_pages": 210,
            "total_jobs": 5234,
            "has_more": true,
            "next_page": 2
        },
        "metadata": {
            "query": "Software Engineer",
            "location": "Berlin",
            "country": "de",
            "timestamp": "2026-03-20T10:00:00Z"
        }
    }
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground