Upwork Rate & Market Intelligence — Freelance Skill Rates avatar

Upwork Rate & Market Intelligence — Freelance Skill Rates

Pricing

from $475.30 / 1,000 skill benchmarks

Go to Apify Store
Upwork Rate & Market Intelligence — Freelance Skill Rates

Upwork Rate & Market Intelligence — Freelance Skill Rates

Benchmark any freelance skill on Upwork: live demand (open jobs), hourly & fixed rate distribution (median, p25, p75), hourly-vs-fixed split, experience-tier mix, posting freshness and adjacent skills. One clean row per skill.

Pricing

from $475.30 / 1,000 skill benchmarks

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Upwork Rate & Market Intelligence

Stop guessing what a freelance skill is worth. Give this Actor a list of skills and it returns one clean benchmark row per skill — live demand, the real rate distribution (median, 25th and 75th percentile, full range), the hourly-vs-fixed split, the experience level clients are actually hiring, how fresh the market is, typical engagement length, and the skills each one is hired alongside.

It is built for people who need to price and position, not scroll job feeds: freelancers setting their rate, agencies scoping a new service line, recruiters and talent teams benchmarking contractor cost, analysts tracking the freelance economy, and AI agents that need structured labor-market data on demand.


What you get — one row per skill

Each skill you pass in produces a single, decision-ready record. No raw-posting dump to clean up yourself — the Actor samples the live market and does the statistics for you.

FieldWhat it tells you
skillThe skill / keyword you benchmarked
demand_open_jobsLive demand — the total number of open jobs for this skill right now
sample_sizeHow many recent postings were sampled for the rate stats
hourly_median_usd / fixed_median_usdHeadline median rates, ready for a table
hourly_rate_usdFull hourly distribution: median, p25, p75, min, max, mean, count
hourly_min_usd / hourly_max_usdDistribution of the posted hourly band edges
fixed_budget_usdFull fixed-price budget distribution (same stats)
job_type_splitHourly vs fixed counts and shares — how this skill is usually contracted
experience_mixEntry / intermediate / expert counts + expert_share (how senior the demand is)
freshnessPostings in the last 24h / 7d / 30d, newest/oldest age, and an estimated posts-per-day velocity
engagement_weeksTypical project length distribution where stated
adjacent_skillsThe skills most often requested alongside this one (with counts and shares)
scraped_atISO timestamp of the run

Why the percentiles matter

A single "average rate" hides the market. The p25–p75 band tells you where the bulk of real jobs sit, so a freelancer knows whether their rate is competitive or leaving money on the table, and an agency knows what a project will actually cost to staff. The expert_share and experience_mix tell you who the demand is for — a skill that's 70% expert-level pays very differently from one that's mostly entry-level work.

Why the adjacency map matters

adjacent_skills is the quiet superpower: it shows what each skill is bundled with in real postings. If you sell "React" and the market keeps pairing it with "TypeScript" and "Next.js", that's your upsell and your positioning, straight from demand data.


Input

{
"skills": ["python developer", "react", "copywriting"],
"sampleSize": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
InputTypeDefaultDescription
skillsarray of stringsOne or more skills/keywords to benchmark. Each runs independently and yields one row.
sampleSizeinteger100Recent postings sampled per skill for the rate stats (10–500). Demand counts are always the full market total.
proxyConfigurationobjectRESIDENTIAL / USApify proxy used to reach the target. Billed to the run owner.

Tip: start with a handful of skills and sampleSize 100 for a fast, cheap read. Bump sampleSize toward 300–500 when you want tighter, more stable percentiles on a high-volume skill.


Example output (abridged)

{
"skill": "python developer",
"demand_open_jobs": 1880,
"sample_size": 100,
"hourly_median_usd": 38.0,
"fixed_median_usd": 750.0,
"expert_share": 0.41,
"hourly_rate_usd": { "median": 38.0, "p25": 25.0, "p75": 60.0, "min": 12.0, "max": 150.0, "count": 63 },
"job_type_split": { "hourly": 63, "fixed": 37, "hourly_share": 0.63, "fixed_share": 0.37 },
"experience_mix": { "entry": 18, "intermediate": 41, "expert": 41, "expert_share": 0.41 },
"freshness": { "posted_24h": 22, "posted_7d": 71, "est_posts_per_day": 9.4 },
"adjacent_skills": [ { "skill": "Django", "count": 31, "share": 0.31 }, { "skill": "AWS", "count": 24, "share": 0.24 } ]
}

How it works

The Actor reaches Upwork's public job search through the site's own visitor API. Upwork is a protected target — it requires a residential proxy for reliable access — so the Actor routes every request through the Apify RESIDENTIAL proxy on a sticky session, obtains a short-lived visitor token the same way the public site does, and then queries the public job-search endpoint for each skill. It samples the most recent postings (so the freshness and velocity numbers reflect the live market), computes the distributions, and writes one row per skill.

Only public job-posting data is collected — titles, descriptions, skills, budgets, experience tier, post time and the search-wide demand count. No client-account or applicant data is requested.


Pricing

This Actor is pay-per-result: you are charged per skill successfully benchmarked. A skill that returns no live postings is not charged. Apify platform/proxy usage during the run is billed to your own account by Apify, as with any Actor.


Common uses

  • Set your freelance rate against the real p25–p75 band for your skill.
  • Scope an agency service line — see demand, senior-share and typical project budget before you staff it.
  • Benchmark contractor cost for a hiring or finance team.
  • Track the freelance economy — run the same skill list on a schedule and watch demand and rates move.
  • Feed an AI agent structured, on-demand labor-market data via the Apify API or MCP.

FAQ

Does this need my Upwork login? No. It uses only the public job search; you never provide credentials.

Why a residential proxy? The target requires it for reliable access. It's the default and billed to your run.

Can I benchmark non-tech skills? Yes — pass any skill or keyword (copywriting, video editing, bookkeeping, voice over, …). The same benchmark is computed for all.

How fresh is the data? Every run is live. The freshness block tells you exactly how recent the sampled postings are.