moxlade/guides/vs parseforge

moxlade/upwork-freelancers vs parseforge/upwork-freelancers-scraper: the lane's most used actor, measured against ours

parseforge/upwork-freelancers-scraper had 345 users and 58 in the last 30 days when we measured the lane on 2026-09-11 — the most of any Upwork talent scraper on the store — and it works: its filters held on every row we asked for. This page puts it next to ours on the same query and says where each one wins. Written by the maker of ours.

published 2026-09-13 · updated 2026-09-13

Disclosure: Moxlade makes one of the two actors on this page. The parseforge figures are from our own runs of it on 2026-09-11 (and 2026-08-20), read from the settled run objects; ours are from our release runs on 2026-09-12 and our table on 2026-09-13.

Side by side

parseforge/upwork-freelancers-scrapermoxlade/upwork-freelancers
how it worksreads Upwork's search result at run timeanswers from a census of 30,042 profiles; live read on request
list price$0.005 per start + $0.02266 per row (free tier); tiered to $0.02078 on the paid tier we ran on$0.004 per stored row, $0.005 live, $0.02 per full profile; no start fee
paid, per 1,000 delivered$22.4 (3 rows, exactly list) to $23.9 (10 rows: a second start event and one extra row charged)$4.00; charged events equalled rows on every release run
time27–67 s per run even for 3 rows; 1.5 s per row at 2525 stored rows in 0.4–1.9 s; 25 live rows in under 30 s
filters that heldtopRatedOnly, country, region, subRegion — 3 of 3 eachbadge, country, region, numeric rate band, JSS, hours, jobs, earnings, hire-again, tenure, recency, skills — 25 of 25
exact earningsyes, but 0 on 2 of 25 rows where the figure existed ($62,858 and $7,230 in a same-second payload) — and 0 is also its value for hiddenwith earnings_precision: exact / band / hidden, never a bare 0
Job Success Scorea 0..1 fraction (1, 0.9375), not the profile's scorethe percentage, on 90.3% of stored rows; a filter and a sort
idsciphertext on 34% of rows (vanity URLs otherwise), no numeric idciphertext and person_id on 100%
skillsslugs (django-framework)display names
contracts, feedback, education, employment, languagesnoyes — 395,022 contract rows, 156,836 with feedback both ways; sections on 99.2% of profiles
historynofetched_at, versions, changedSince with diffs; private profiles answered
freshnessread at run timestored rows up to 30 days old, stated per row; liveSearch / fullProfiles read now
record26 keys65 typed fields

Where parseforge wins

  • It is the one people already use, with the reviews to show it (one, at 5.0) and a 97% run success rate over 30 days.
  • Every row is read at run time. If a freelancer changed their rate this morning, parseforge's row has it; our stored row has it once the census re-reads the profile, and says how old it is. (liveSearch closes that gap for a search; fullProfiles for a profile.)
  • Region and sub-region filters worked on the day (Europe → three Ukrainians; Latin America → Mexico and Colombia). Ours has regions; it has no sub-region filter.

Where ours wins

  • Price: $4 against $22–24 per 1,000 delivered rows, and no start fee — the run that charged a second start event is the kind of thing a per-row price cannot do.
  • Time: seconds against a 27–67 s floor per run.
  • Filters: a numeric rate band, JSS, hours, jobs, earnings, hire-again rate, tenure, recency, skills — parseforge filters on badge and place.
  • The figure you can trust: an earnings value with a precision flag, and a JSS that is the score.
  • The history: every contract with feedback both ways, education, employment, languages, certificates — not on the search page, so not in parseforge's row.
  • Change: what moved since a date, with the diff, from a census that remembers.

How this was measured

Query python developer on 2026-09-11: parseforge with topRatedOnly + country: United States (3 rows), region: Europe (3), subRegion: Latin America (3), and a plain 25-row run started in the same second as three other actors; plus a 10-row topRatedOnly run from 2026-08-20. Charges read from the settled run objects. Ours on the same query and filters in the release suite of 2026-09-12. The full lane is on Best Upwork freelancer scrapers, measured; the harness and the per-run numbers are on GitHub.

use it

Same query, one fifth of the price, seconds instead of a minute, and the history parseforge cannot return.

moxlade/upwork-freelancers on Apify
$4.00 per 1,000 stored rows · $5.00 per 1,000 live search rows · $20.00 per 1,000 full profiles · no start fee, a zero-row run is free

Questions

Do parseforge and moxlade return the same freelancers for a query?
For a plain query, largely yes — every run-time scraper reads Upwork's one result set, and on the 25-row run 23 people were in all four delivering actors. A stored search of ours sorts by our columns; liveSearch returns Upwork's order.
Why is parseforge five times the price?
It charges per row at $0.02266 (free tier) plus a start event, and reads Upwork on every run. Ours answers most searches from a table it already holds and charges $0.004 per row.
Which one should I use for a one-off list of Top Rated US developers?
Either delivers it. Ours does it in seconds for $4 per 1,000 with the JSS and rate as filters, and the rows carry the same badge and country parseforge honoured.