OrbTop

Workana Jobs Scraper

JOBSLEAD GENERATIONAUTOMATION

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 publishedDate field is a relative string ("Published: 3 hours ago"). If you need absolute timestamps, combine it with scrapedAt.
  • Results are ordered by order parameter. Default is recent (newest first).