ActorStack.dev

The empty run that looks correct: Workana skill slugs

`react` returns zero projects with HTTP 200. `react-js` returns hundreds. A wrong slug is the worst kind of failure, so it gets checked before the run rather than after.

By Oswaldo Carabano5 min read

Short answer

Workana skill slugs are exact strings, and a wrong one returns zero projects with HTTP 200 rather than an error — `react` gives nothing while `react-js` gives hundreds. The Actor validates the slug before the run starts, because an empty run that looks like a correct one is the failure mode most likely to be believed.

Key points

  • A wrong skill slug produces zero results and no error, which is indistinguishable from a genuinely empty market.
  • `react` returns nothing; `react-js` returns hundreds. The difference is not guessable.
  • The Actor checks the slug before the run and reports what is wrong instead of charging for an empty result.
  • Only one skill applies per query: Workana keeps the first value and silently drops the rest.
  • The field is free text on purpose, because Workana keeps adding skills and a fixed list would go stale.
On this page5 sections

react returns zero projects. react-js returns hundreds. Both requests succeed with HTTP 200, and nothing in either response says which one was a mistake.

The failure mode

An unknown skill slug on Workana does not produce an error. It produces an empty result set with a 200 status, which is indistinguishable from a skill nobody is currently hiring for.

That is the worst shape a failure can take, because the wrong conclusion is reasonable: you asked for React projects in Argentina, you got zero, you conclude the market is dead. The market is fine; the slug was wrong.

Finding the right slug

From Workana's own URLs. Filter by the skill on the site and read the slug out of the address bar. That is authoritative, and it stays correct as Workana adds skills.

The pattern is usually lowercase and hyphenated, but the exceptions are exactly where the trouble is: framework names with a suffix (react-js), names with a dot removed, names in Spanish. There is no rule that predicts them, which is why guessing is not a strategy.

One skill per query

Workana keeps the first skill value and silently drops the rest, so a two-skill query is a one-skill query wearing a disguise. Run one query per skill and union the results, deduplicating on slug.

This is the same silent-drop behaviour as the thirteen decorative parameters — the site accepts more input than it uses, without saying so.

Why validation happens before the run

The Actor checks the slug first and tells you what is wrong instead of charging you for nothing. Under pay-per-result that costs you no money either way — an empty run delivers no rows — but it costs you something worse: a conclusion.

Validating before the run turns a silent wrong answer into a loud error message, which is the entire point.

Why the field is free text

It would be friendlier to offer a dropdown. It would also go stale: Workana keeps adding skills, and a fixed list in a scraper becomes a list of the skills that existed when the scraper was written.

So the field is free text — you can use any slug the site supports the day you run it — with validation to catch the typo. That trade is deliberate: flexibility where the platform changes, checking where a human can be wrong.

Frequently asked questions

Why does my Workana skill query return nothing?
Almost certainly a wrong slug. Workana returns zero projects with HTTP 200 for an unknown skill — `react` gives nothing, `react-js` gives hundreds. Take the slug from a Workana URL rather than guessing it from the skill name.
Where do I find the correct slug?
From the site's own URLs: filter by the skill on Workana and read the slug out of the address bar. That is authoritative in a way that a maintained list in a scraper's documentation would not stay.
Can I query several skills at once?
No. Workana keeps the first value and drops the rest silently, so run one query per skill and union the results.

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
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 laptop showing lines of code on a wooden desk in a dimly lit room.
WorkanaReference

Workana data fields

55 fields measured on 718 projects across 12 subcategories and 8 countries — reported as how often a field carries useful information, not how often the key exists.

8 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