Skip to content
RankFabrik · data

VSJobs API · JSearch

JSearch vs RankFabrik — a jobs API comparison, with numbers you can re-run

JSearch (by letscrape) is the default jobs API most developers land on through RapidAPI. It is also measurably slow, and it bills a call whether the result was useful or not. Below is a field-by-field comparison, live-measured, not a marketing table.

JSearch figures measured live on its RapidAPI listing, September 2026. Last updated September 2026.

6,634ms

JSearch median response time, same query

2.9/5

JSearch RapidAPI rating, 429 votes

<2,000ms

RankFabrik — target SLA, not a guarantee

Head to head

 JSearch (letscrape)RankFabrik Jobs
Median latency6,634 ms< 2,000 ms — target SLA
RapidAPI rating2.9 / 5 · 429 votesNew listing, no legacy debt
Failed or empty runBilled like any other callNever billed
Fill rate shown before you payNot shownCompleteness block on every response
Pricing modelPer request, hard tier caps + overagePay per event returned — $2.50–$4.00 per 1,000
1,000-result capInherited from the source, hit silentlySegmented past it — up to ~6,000 postings per sweep
MigrationField-mapped, mirrors JSearch's response shape

The failed-run line is the one that compounds: on JSearch's per-request billing, a rate-limited or empty call still counts against your quota. RankFabrik's rule is unconditional — a run that returns no usable data is never charged, checked on the event, not on the attempt.

Why 3.3× matters in production

6,634 ms is not an inconvenience, it's a budget problem: at 3.3× a <2,000 ms target, a single slow upstream call can push your own endpoint past its own SLA, or back up a worker queue under load. That's the gap this page measures, not a synthetic benchmark.

JSearch latency vs 2s budget 100%
RankFabrik latency vs 2s budget 29%

Don't take the number on faith — the playground runs the real endpoint, so you can time your own query on both before committing a line of production code.

Pricing, in plain units

One event is one job posting returned — job for a plain listing, job-complete for a row enriched with description, seniority and applicant count.

$2.50/1k

job — posting

$4.00/1k

job-complete — posting + company

Pay per posting returned — you are charged only for events the actor actually returns, never for an empty run. Metered and billed by Apify; no separate RankFabrik account to open.

Run it on Apify — pay per posting returned → Read the docs

Questions

Why is JSearch so slow?

It aggregates Google for Jobs and several boards live, per request, without a warm cache tier — that's why its measured median lands around 6.6 seconds. Fine for a one-off script; painful once it sits behind your own endpoint's SLA and a slow upstream call starts queueing your own workers.

How do I migrate from JSearch to RankFabrik?

The response is field-mapped to mirror JSearch's shape, so most integrations change the base URL and the auth header (X-Cle-API instead of X-RapidAPI-Key) and keep the rest of their parsing code. We hand over a field mapping table for the handful of names that differ.

Is RankFabrik Jobs also billed per request like JSearch?

No — Apify meters it per event returned ($2.50–$4.00 per 1,000), and a run that comes back empty is never billed. JSearch's per-request tiers charge the call whether the result was useful or not — a 429, a 403 or an empty page still counts against your quota.

What if RankFabrik's data is thinner than JSearch's on my query?

Every response carries a completeness block scoring each field before you commit to volume, and because an empty run costs nothing, you can benchmark the same query against both APIs at zero risk before switching a single line of production code.

Sources — JSearch latency, rating and vote count measured live on its RapidAPI listing (letscrape), September 2026. Search-demand context: DataForSEO, US, September 2026. RankFabrik's latency figure is a target SLA, verifiable in the live playground — shown for comparison, not as a guarantee of individual query results.

Related