Quick answer
We tested "pin the proxy exit country on a country-scoped site" before paying for it, instead of assuming it. Same URL, same minute, two proxy tiers: a US-exit datacenter request returned 200, title "Python Jobs und Stellenangebote", totalCount: 1727, top result inovex GmbH. A RESIDENTIAL/DE-pinned request returned 200, the same title, totalCount: 1750, the same top result. Identical German job data from two different exit countries. The StepStone Jobs Scraper ships on the cheaper US datacenter pack by default, because the measurement — not the instinct — decided the proxy tier.
Doesn't a country-scoped site require a matching exit country?
Often, yes — that's a good enough prior that we start every new country-scoped target by assuming it. It's also a prior worth pricing before you commit to it, because getting it wrong costs twice. First, this account's datacenter pack (BUYPROXIES94952) is a static US-only pool — pinning apifyProxyCountry: DE against it doesn't get you German data, it fails the proxy tunnel outright, because the pack simply has no German IPs to hand out. Second, escalating to RESIDENTIAL to satisfy the pin isn't free: it's a more expensive proxy tier per request, and Apify's own review process treats an Actor that defaults to residential as belonging to the anti-bot-prone class, which comes with more publish scrutiny. So before eating either cost, we ran the actual comparison: identical query, identical minute, US-datacenter exit against RESIDENTIAL/DE exit. totalCount differed by 23 out of 1,727 — well inside normal listing churn for a live job board between two requests — and the top-ranked result was identical on both. stepstone.de does not vary its result set by the requester's exit geography. The country pin was protecting against a failure mode that doesn't exist here.
So when should you actually pin a proxy country?
When you've checked, not when you've assumed. A geo pin is a testable hypothesis about the target, not a blanket best practice — some sites genuinely do serve different prices, stock, or catalogs per exit country (we've shipped Actors where that's exactly the finding), and some just don't vary at all. The only way to know which one you're looking at is to run the same query through two tiers and diff the response. Guessing wrong costs you either a failed tunnel (wrong pack, right instinct) or a needlessly expensive and more heavily scrutinized default (right instinct, unnecessary cost) — two request's worth of measurement is cheaper than either.
Below the proxy question, the parsing question had its own thing worth stating precisely: StepStone's job data lives in window.__PRELOADED_STATE__["app-unifiedResultlist"], not in server-rendered HTML you'd need to reconstruct from DOM structure. And pagination distinctness — the thing that actually protects your dataset from silent duplicate rows across pages — was verified directly: page 1 and page 2 share zero job ids, page 2 and page 3 share zero job ids.
A proxy country pin is a hypothesis about the target, and testing it costs one extra request. Skipping the test costs you either a failed tunnel against a pack that can't serve the country, or an unnecessarily expensive and more heavily scrutinized tier protecting against a difference that isn't there.
What the Actor gives you
One deduplicated row per job listing across one or more keywords: id (dedupe key), title, companyName, companyId, location, datePosted (ISO-8601), url, salary when published, isSponsored, isHighlighted, isAnonymous, postCode, textSnippet, skills, labels, plus sourceKeyword / sourceLocation tagging which input search found each row. Run-wide dedup means the same job id never appears twice, even across pages or across multiple keywords batched into one run.
Honest limitations 🚧
List-page fields only — full job-description text isn't fetched; use the returned url for a follow-up detail-page job if you need it. .de only in this version; .at and .ch StepStone variants aren't covered. A narrow keyword + location combination can legitimately return zero rows, and that's a successful run, not a failure.
FAQ
Do you pin the proxy exit country to Germany by default?
No. We measured it: US-datacenter and RESIDENTIAL/DE returned the same totalCount, the same top result, and the same title for an identical query. stepstone.de doesn't vary by exit geo, so the default ships on the cheaper, less-scrutinized US datacenter pack.
Do I need a StepStone account or API key?
No — this reads StepStone's public search result pages.
Can I search multiple keywords in one run?
Yes — pass an array to keywords; every row is tagged with the keyword (and location) that produced it, and dedup applies across the whole run, not per keyword.
$0.20 per run plus $0.003 per deduplicated job row — $3.20 per 1,000 results. A zero-match search still succeeds and costs only the start fee.
→ StepStone Jobs Scraper on Apify
Built by Devil Scrapes. We rotate browser fingerprints, retry with backoff, and route every request through Apify Proxy — and before we spend your money on a more expensive proxy tier, we measure whether the target actually needs it.
Top comments (0)