Workana Jobs Scraper
Workana Jobs Scraper
Scrapes job listings from Workana.com — Latin America's largest freelance marketplace. Returns job titles, budgets, required skills, proposal counts, and client info for every listing that matches your filters.
Works without login. No headless browser required. Supports keyword search, category filters, country, and sort order.
What You Get
Each record is a job listing with the following fields:
| Field | Type | Description |
|---|---|---|
jobId |
string | Unique job slug (Workana-native ID) |
title |
string | Job listing title |
url |
string | Direct link to the listing on Workana |
description |
string | Short description of the job requirements |
budget |
string | Budget or rate (e.g. "USD 100 – 500" or "USD 25 / hour") |
isHourly |
boolean | True for hourly rate, false for fixed price |
skills |
string | Comma-separated list of required skills |
country |
string | Client's country |
totalBids |
number | Number of proposals received |
publishedDate |
string | How long ago the job was posted |
deadline |
string | Project deadline if specified |
isUrgent |
boolean | Whether the client marked it urgent |
isFeatured |
boolean | Whether it's a promoted listing |
clientRating |
string | Client rating out of 5.00 |
clientHasVerifiedPayment |
boolean | Whether the client verified payment |
authorName |
string | Client name (abbreviated for privacy) |
scrapedAt |
string | ISO-8601 timestamp of when this record was scraped |
Sample Output
{
"jobId": "build-rest-api-for-inventory-management-system",
"title": "Build REST API for Inventory Management System",
"url": "https://www.workana.com/job/build-rest-api-for-inventory-management-system",
"description": "Looking for a backend developer to build a REST API using Node.js and PostgreSQL...",
"budget": "USD 300 - 800",
"isHourly": false,
"skills": "Node.js, PostgreSQL, REST API",
"country": "Argentina",
"totalBids": 12,
"publishedDate": "Published: 3 hours ago",
"deadline": "",
"isUrgent": false,
"isFeatured": false,
"clientRating": "4.80",
"clientHasVerifiedPayment": true,
"authorName": "J. C. M.",
"scrapedAt": "2026-06-03T00:00:30.260Z"
}
Why Use This
Affordable — Pay-per-result pricing at $0.001 per record, plus a $0.10 start fee. A 1,000-listing run costs about $1.10.
Broad coverage — Workana reports 10,000+ active listings across 8 job categories and 15+ LATAM countries. No login, no captcha, no rate limit drama. The scraper handles pagination automatically and stops when it reaches your maxItems limit.
Clean output — Returns structured JSON with consistent field names. Skills come back as a comma-separated string. Budget is a plain text value directly from Workana — no parsing required.
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems |
integer | 20 | Maximum number of job listings to return |
keyword |
string | (all) | Keyword to filter listings (e.g. "python", "design") |
category |
string | (all) | Category slug (see list below) |
language |
string | all |
Language filter: all, en, es, pt |
country |
string | (all) | Country slug (e.g. "argentina", "brazil", "mexico") |
order |
string | recent |
Sort order: recent, relevance, ending-soon |
Category Slugs
it-programming, design-multimedia, writing-translation, sales-marketing, admin-support, legal, finance-management, engineering-manufacturing
Example Input
{
"maxItems": 100,
"keyword": "python",
"category": "it-programming",
"language": "all",
"country": "",
"order": "recent"
}
Pricing
Pay-per-event: $0.10 per run + $0.001 per result.
A 500-record run costs around $0.60. A full 10,000-record export runs about $10.10.
Notes
- Workana abbreviates client names for privacy — this scraper returns what Workana displays.
- Budget values are returned as text strings (e.g. "USD 100 - 500 / hour") directly from the site. Parse them in your pipeline if you need numeric ranges.
- The
publishedDatefield is a relative string ("Published: 3 hours ago"). If you need absolute timestamps, combine it withscrapedAt. - Results are ordered by
orderparameter. Default isrecent(newest first).