ActorStack.dev

Is there a Workana API for project listings?

No public API, a robots.txt that disallows the internal one, and a set of URL parameters that accept anything. What a compliant integration actually has to work with.

By Oswaldo Carabano6 min read

Short answer

Workana publishes no public API for project listings, and its robots.txt disallows `/api/` — so the internal endpoint is not an available shortcut either. A compliant integration reads the public listing pages, which is why the interesting engineering problem is not authentication but working out which of the site's URL parameters actually do anything.

Key points

  • No public listing API and no key to request.
  • robots.txt disallows `/api/`, which closes the internal-endpoint route explicitly rather than by omission.
  • The public pages are readable with plain HTTP, no login and no proxy.
  • Without a documented contract, the parameters have to be tested individually — and thirteen of them turned out to do nothing.
  • The site's own result counter caps at 10,000, so even Workana will not tell you the size of a large query.
On this page5 sections

Workana has no public API for project listings, and unusually it also closes the obvious workaround: its robots.txt disallows the internal one. That combination shapes what a compliant integration can be.

The short answer

No public listing API, no key, no documented field contract. Anything that reads Workana project data reads the same public pages a visitor's browser receives.

What robots.txt closes off

workana.com/robots.txt
User-agent: *
Disallow: /api/
Disallow: /*?*ag=1
Disallow: /users/landing_choose*
Disallow: */login*?*
Disallow: */signup*?*

Sitemap: https://www.workana.com/sitemap_index.xml

The first line is the interesting one. Many sites leave their internal API undisclosed and undefended, and a scraper author who finds it faces a judgement call. Workana removes the judgement call: /api/ is disallowed, so a compliant crawler reads the listing pages.

Note what is not capped here: pagination. Unlike coches.net, which disallows pg=7 and beyond, and Zonaprop, which allows only pages 2 to 5, Workana's robots.txt says nothing about depth. The page-50 limit is the site's own behaviour rather than a stated rule — a distinction worth keeping straight, because one is a declaration and the other is an observation.

The cost of no contract

With no documentation, a parameter that returns HTTP 200 has told you nothing. That is how thirteen of Workana's URL parameters turned out to be decorative: the only way to know was to compare result sets with and without each one — which is what was done.

It is also why the Actor validates a skill slug before running. An undocumented API returns an error for a bad value; Workana returns an empty result set and a 200.

What that means for your pipeline

  • Assert on your fields. No versioning means no notice.
  • Do your filtering downstream for anything the site does not actually filter, and expect to pay for the rows you discard.
  • Do not trust the result counter. It caps at 10,000, so it is not a size for large queries.
  • Keep the raw strings. `budget_raw` and `total_bids_raw` exist so a parse can be audited when the rendering changes.

Alternatives

There is no licensed feed of LATAM freelance demand that this project is aware of. The adjacent sources are the other marketplaces, each with its own public surface and its own quirks, and aggregate labour statistics — which describe employment rather than freelance demand and cannot answer “what are clients paying for React work in Argentina this month”.

For that question the public listings are the source, and the Actor documentation states what it yields and where it stops.

Frequently asked questions

Does Workana have a public API?
Not for reading project listings. Its robots.txt also disallows `/api/`, so the internal endpoint that powers the site is not a compliant route to the same data.
Why do the URL parameters have to be tested?
Because without a documented contract, a parameter that returns HTTP 200 has not told you anything. Thirteen of Workana's look like filters and do not filter — which is only discoverable by comparing result sets.

Sources

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

  1. Site declarationchecked 19 Aug 2026
    workana.com/robots.txtWorkana
  2. Operator claimchecked 19 Aug 2026
    Workana Projects & Client Demand Scraper — Actor README and input schemaActorStack / Apify Store
  3. Platform docschecked 18 Aug 2026
    Actors — Apify platform documentationApify
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
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
Aerial view of a Latin American city centre at night, streets picked out in light.
WorkanaGuide

Market analysis

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

8 min