ActorStack.dev

16 concurrent requests work. 24 buys a five-minute cooldown

Wellfound rate-limits per IP, and the difference between a datacentre address and a residential one was 24 failures out of 36 against zero out of 48.

By Oswaldo Carabano5 min read

Short answer

Wellfound rate-limits per IP address. At the same concurrency, a datacentre IP returned 24 of 36 requests as HTTP 429 while a residential IP returned 48 of 48 as HTTP 200, which is why residential proxying is the default rather than a recommendation. On concurrency itself, 16 in flight is the highest value measured without a block and 24 triggers a 429 with roughly a five-minute cooldown — so raising the setting past the ceiling makes a run take longer rather than less time, because blocked requests still consume the run.

Key points

  • Datacentre IP: 24 of 36 requests returned HTTP 429. Residential IP at the same concurrency: 48 of 48 returned HTTP 200.
  • 16 concurrent requests is the highest level measured without a block; the input caps there for that reason.
  • 24 concurrent triggers a 429 with roughly a five-minute cooldown, which is far more expensive than the throughput it was reaching for.
  • The default is 6, which leaves headroom rather than running at the measured edge.
  • Rate limiting is per IP, so the limit follows the address rather than the account — there being no account here at all.
On this page5 sections

Two numbers decide how a Wellfound run behaves: how many requests are in flight, and what kind of address they come from. Both were measured rather than guessed.

The limit follows the IP

Wellfound rate-limits per IP address. There is no account involved in this Actor at all, so the only thing a limit can attach to is the address the requests come from — which is why the proxy choice is not a performance tweak but the main variable.

Datacentre against residential

Proxy typeRequestsResult
Datacentre3624 returned HTTP 429
Residential4848 returned HTTP 200

Same concurrency, same targets. Two thirds failing against none. That is why residential is the default in the input schema rather than a line of advice in a README.

Where the concurrency ceiling is

16 in flight is the highest value measured without a block, and the input caps there for that reason. 24 triggers a 429 with roughly a five-minute cooldown. The default is 6, which leaves headroom rather than running at the measured edge — a limit that held today is not a limit that holds forever.

Why exceeding it makes a run slower

A blocked request is not free. It costs a round trip, it returns nothing, and the cooldown that follows stops the requests that would have succeeded. Past the ceiling, raising concurrency trades successful requests for failed ones at a bad exchange rate.

What to actually set

Leave the proxy on residential. Leave concurrency at 6 unless a run is time-critical, and do not exceed 16. Cap the run with maxJobs — not with pages per role.

Frequently asked questions

Do I need a residential proxy for Wellfound?
In practice yes, and it is the default. The same concurrency that returned 24 of 36 requests as HTTP 429 from a datacentre IP returned 48 of 48 as HTTP 200 from a residential one.
What is the maximum safe concurrency?
16 measured, which is where the input caps. 24 triggers a 429 with roughly a five-minute cooldown. The default of 6 leaves headroom deliberately.
Will raising concurrency finish a run faster?
Only up to the ceiling. Past it, requests come back as 429s that still take time and deliver nothing, and the cooldown costs more than the extra parallelism was gaining.

Sources

Every URL below was requested and returned a page on the date shown.

  1. Operator claimchecked 9 Sept 2026
    Wellfound Jobs Scraper — Actor README and input schemaActorStack / Apify Store
  2. Site declarationchecked 9 Sept 2026
    wellfound.com/robots.txtWellfound
A white measuring tape curving across a dark background, showing the numbers 15 to 45.
WellfoundMeasured

The ATS spread

`ats_source` names the applicant tracking system behind a posting. Its fill rate varies by 62 percentage points across role categories, which is why the average is not published.

6 min
Racks of network equipment in a dimly lit server room, lit blue by their indicators.
WellfoundMeasured

Cache age through a CDN

A row can be fetched seconds ago and still be a day old. Cloudflare's cache sat in front of Wellfound job pages at up to 23.4 hours, and `data_age_hours` counts it.

6 min
A laptop showing lines of code on a wooden desk in a dimly lit room.
WellfoundMeasured

Pagination ceilings

Each role paginates until its own corpus runs out. Measured ceilings ranged from 37 pages to 130, which is why a fixed page cap is the wrong way to bound a run.

5 min