ActorStack.dev

Measuring LATAM freelance demand from project listings

What listing data supports — demand by skill, budget distributions, competition levels — and the four claims it cannot carry.

By Oswaldo Carabano8 min read
Aerial view of a Latin American city centre at night, streets picked out in light.
Photo: K on Pexels

Short answer

Project listings measure posted demand: how many projects appear in a skill or subcategory, what clients say they will pay, how many freelancers bid, and where the clients are. They do not measure what work was awarded, at what price, or the size of the market — because the ceiling caps every query and Workana's own counter caps at 10,000.

Key points

  • Posted demand is the measurable quantity. Awarded work is not visible in listings at all.
  • Budget distributions are more informative than averages, especially given that a quarter of budgets have no lower bound.
  • Proposal counts measure competition, but they move fast — the median goes from about 1 in the first hours to about 10 by the twelfth.
  • Country splits are the reliable dimension: `client_country_code` is at 100% and the axis measured almost purely additive.
  • No market-size claim is supportable, because the denominator is capped by the site.
On this page7 sections

Freelance marketplace listings are one of the few public windows into what work is actually being bought, at what price, in a region where labour statistics are thin. They are also easy to over-read, and the over-reading is always in the same direction: treating posted demand as if it were the market.

What listing data actually measures

Posted demand. How many projects appeared, what clients said they would pay, how many freelancers bid, and where the clients were. Every sentence you write should be phrased in those terms.

What it does not measure: what was awarded, at what price, to whom, or whether it was completed. None of that is in a listing, and no amount of listing volume substitutes for it.

Demand by skill and subcategory

The most robust analysis available here, because category, subcategory come from Workana's own taxonomy at 100% and skills at 98.6%.

Count projects per subcategory per country per week. That series is meaningful even under the coverage ceiling, as long as your partitioning stays constant — which is the important caveat: a change in how you query looks exactly like a change in demand.

Budget distributions, not averages

Report medians and quartiles within a budget_type and budget_unit, never a single mean. A quarter of budgets have no lower bound, so an average of budget_min is an average of the three quarters that do, tilted upward.

The distribution is also more useful commercially. “The median web-development budget in Argentina is USD 250, with a quarter above USD 600” tells a freelancer where to position; “the average is USD 410” tells them nothing they can act on.

Competition, and its half-life

total_bids is the competition measure, and it needs posted_age_hours beside it — median proposals go from about 1 in the first hours to about 10 by the twelfth, measured across 401 projects.

So compute proposals-per-hour, or bucket by age band. The interesting quantity is not how many proposals a project has, it is how fast it attracted them: the measurement.

Geography

client_country_code is at 100% and country splitting measured almost purely additive — 4% overlap across six countries — which makes country the firmest dimension the dataset offers.

Useful cuts: budget level by country, subcategory mix by country, and proposal counts by country (a proxy for how crowded the supply side is in each market). All three are comparisons within the dataset, which is what keeps them defensible.

Turning snapshots into a series

Run the same partitions on a schedule and keep every snapshot. slug is the join key. Two things become measurable:

  • Proposal growth on a specific project, which is the demand-side signal.
  • Disappearance, which means awarded, expired or withdrawn — indistinguishable from each other, so use it in aggregate as a liquidity proxy and label it as one.

Four things not to claim

  1. Rates paid. You have posted budgets. Clients pay what they negotiate.
  2. Market size. Workana's own counter caps at 10,000 and each query stops at ~350, so the denominator is unknown — the ceiling.
  3. Freelancer earnings. Nothing about the supply side is in a listing, and this Actor deliberately does not scrape profiles.
  4. Client quality. 80.5% of ratings mean “no history”, so any quality ranking is a ranking of the 19.4% with a track record.

Frequently asked questions

Can I measure freelance rates from Workana data?
You can measure posted budgets, which is not the same as rates paid. Report them as what clients said they would pay, and use distributions rather than averages given that a quarter of budgets have no lower bound.
Can I estimate the size of the LATAM freelance market?
No. Workana's own result counter caps at 10,000 and each query stops at about 350 projects, so the denominator is unknown. Any percentage of it is invented.
What is the most reliable dimension to analyse?
Country. `client_country_code` is present on 100% of rows and splitting by it is almost purely additive — 4% overlap across six countries — so country comparisons rest on the firmest ground the dataset offers.

Sources

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

  1. Operator claimchecked 19 Aug 2026
    Workana Projects & Client Demand Scraper — Actor README and input schemaActorStack / Apify Store
  2. Platform docschecked 18 Aug 2026
    Dataset storageApify
A laptop showing lines of code on a wooden desk in a dimly lit room.
WorkanaGuide

Scrape Workana

A walkthrough of extracting LATAM freelance demand: the five filters that work, the coverage ceiling nobody can exceed, and why the language setting changes what a budget means.

9 min
A white measuring tape curving across a dark background, showing the numbers 15 to 45.
WorkanaMeasured

Proposal velocity

Measured across 401 projects: competition on a freelance listing has a half-life measured in hours, which makes a stale row a wrong row.

6 min
Aerial view of a Latin American city centre at night, streets picked out in light.
WorkanaMeasured

The coverage ceiling

About 350 projects per query is the limit for every tool. The interesting part is that Workana cannot tell you what you are missing either — so the Actor writes a coverage report instead of a percentage.

7 min