Workana Jobs Scraper — Freelance Projects, Budgets & Skills
Pricing
from $1.50 / 1,000 results
Workana Jobs Scraper — Freelance Projects, Budgets & Skills
Scrape freelance projects from Workana, Latin America's biggest freelance marketplace: title, description, budget, required skills, bid count, client country, client rating and posted date. Filter by language, keyword or URL. No login or API key. Export JSON, CSV, Excel.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Security
Limited permissionsShare
Workana Scraper — Freelance Projects, Budgets, Skills & Client Data 💼🌎
Extract freelance projects from Workana, Latin America's largest freelance and remote-work marketplace, at scale — no login, no cookies, no coding. This Workana scraper converts public job listings across Spanish (es), Portuguese (pt), and English (en) editions into clean, structured rows: project title, full brief description, posted budget (fixed or hourly), required skills, freelancer bid count, category, client country & ISO code, client rating, payment verification, and posted date.
Export every project to JSON, CSV, Excel (XLSX), XML, or REST API.
💼 Built for software & creative agencies sourcing outbound project leads, freelancers hunting high-budget / low-competition gigs, recruiters mapping LatAm skill demand, rate-benchmarking analysts, and AI / market-intelligence teams.
⚡ At a Glance
| Feature | Details |
|---|---|
| Target Platform | Workana.com — Latin America & Global Freelance Marketplace |
| Language Editions | Spanish (es — largest project pool), Portuguese (pt), English (en) |
| Filtering Options | Language edition + Search Keyword (query) + Custom Filtered Workana URLs (startUrls) |
| Project Data Extracted | slug, title, url, clean description, budget, isHourly, totalBids, skills[], category, postedDate |
| Client Signals | countryName, countryCode (ISO-2), authorName, clientRating (0–5), hasVerifiedPaymentMethod, isCompany, isUrgent, isFeatured |
| Pagination & Scale | Auto-scaling pagination (maxPagesPerList: 0 = auto) + multi-category & multi-edition expansion — 1,000+ unique projects per run |
| Deduplication | 100% deduplicated across pages, categories, and start URLs via unique project slug |
📑 Table of Contents
- Why Scrape Workana?
- What This Workana Scraper Does
- Use Cases
- Input Configuration
- Output Schema & Field Reference
- Pagination & 1,000+ Scale
- How to Use
- API Usage Examples
- Tips for Best Results
- FAQ
- Related Scrapers
- Changelog
🔎 Why Scrape Workana?
Workana is the dominant freelance marketplace across Latin America (Brazil, Mexico, Argentina, Colombia, Chile, Peru) and Spain, hosting thousands of live freelance projects across software development, mobile apps, AI/data science, graphic design, video editing, digital marketing, SEO, copywriting, legal, finance, and virtual assistance.
Each listing contains rich market signals — exact budget ranges (USD 500 - 1,000, USD 15 - 45 / hora), required technical skills, number of competing bids (totalBids), client country, client rating, and verified-payment status — making it a premier source for freelance lead generation and LatAm labor-market analytics.
Collecting this data manually does not scale:
- No public bulk export API: Workana does not offer a public API for exporting live job listings or historical rate benchmarks.
- Single-list pagination caps: Anonymous browsing on a single unfiltered Workana feed shows ~9 projects per page and caps near 100 pages (~900 listings), requiring category and language segmentation to collect 1,000+ projects.
- Cluttered project descriptions: Workana appends structured category/subcategory boilerplate (
Categoría: X Subcategoría: Y ¿Qué necesitas?: Z) to the end of project descriptions.
This Workana data extractor solves all of those challenges automatically: it paginates across pages, expands across Workana categories and language editions when maxItems: 1000+ is requested, parses the category into a dedicated category field, strips boilerplate tails from description, and delivers a clean, deduplicated dataset.
✨ What This Workana Scraper Does
- 🌎 Multi-Language Edition Support (
es,pt,en) — target the Spanish (es), Portuguese (pt), or English (en) project catalogs, or let large runs sweep across all three. - 🔎 Keyword Search (
query) — filter projects by technology, tool, or role (e.g.,python,wordpress,react,shopify,logo,seo,n8n). - 🔗 Advanced Filter URLs (
startUrls) — paste any filtered Workana jobs URL (combining category, skills, budget tier, client country, or publication date) to scrape that exact slice. - 📄 Unlocked 1,000+ Project Pagination (
maxPagesPerList: 0) — whenmaxPagesPerListis0(default), the scraper walks all available pages and automatically fans out across Workana's 8 core categories (it-programming,design-multimedia,sales-marketing,writing-translation,admin-support,finance-management,engineering-manufacturing,legal) and editions to reach 1,000+ unique projects. - 💰 Structured Budget & Pricing Model — captures
budgetexactly as posted (USD 100 - 250,Less than USD 15 / hour,Mais de USD 3,000) plus the booleanisHourlyflag. - 📊 Competition & Bid Tracking — parses
totalBidsinto a clean integer so you can filter for low-competition opportunities (totalBids < 5). - 🧩 Normalized Skills & Category — extracts
skillsas a clean string array and parsescategorywhile stripping the redundant metadata tail fromdescription. - 🌍 Client Quality & Geo Signals — captures
countryName, ISO-2countryCode(MX,AR,BR,US,ES,CO),authorName,clientRating(0–5),hasVerifiedPaymentMethod,isCompany,isUrgent, andisFeatured.
🎯 Use Cases
| Persona / Team | How They Use This Workana Scraper |
|---|---|
| Software, Web & Marketing Agencies | Build an automated hourly/daily lead feed of high-budget projects (USD 1,000 - 3,000+) from verified-payment clients (hasVerifiedPaymentMethod: true). |
| Independent Freelancers & Consultants | Filter live projects by your exact skills, sort by lowest totalBids and highest clientRating, and apply before competitors pile in. |
| Freelance Rate & Pricing Analysts | Aggregate budget ranges by category, skills, and countryCode to benchmark hourly and fixed-price rates across Latin America, US, and Europe. |
| Tech Recruiters & Talent Sourcers | Track which programming languages, frameworks, and AI tools (python, langchain, flutter, nextjs) have the fastest-growing project demand. |
| B2B SaaS & Product Researchers | Analyze thousands of real client project briefs (description) to identify recurring small-business pain points and automation opportunities. |
| AI Agents & Alerting Workflows | Pipe live Workana project feeds into Slack, Discord, Telegram, Make, or n8n with LLM scoring to qualify and draft proposals automatically. |
📥 Input Configuration
All fields are optional. Press Start with default settings to collect a fast 60-project sample, or increase maxItems to 1000+ for bulk extraction.
| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Language | language | string | "es" | Workana edition: "es" (Spanish — largest pool), "pt" (Portuguese), or "en" (English). |
| Search Keyword | query | string | "" | Optional keyword filter (e.g., "wordpress", "python", "shopify", "design"). Leave empty for all projects. |
| Start URLs | startUrls | array<object|string> | [] | Optional filtered Workana listing URLs (e.g., https://www.workana.com/es/jobs?category=it-programming). |
| Max Items | maxItems | integer | 100 (prefill 60) | Maximum unique projects to collect. Set 0 for unlimited (1,000+ supported). |
| Max Pages per List | maxPagesPerList | integer | 0 (Auto) | Pages to scrape per list (~9 projects/page). 0 = auto/unlimited governed by maxItems. |
| Proxy Configuration | proxyConfiguration | object | { "useApifyProxy": true } | Apify Proxy configuration. Default datacenter proxy works out of the box. |
Example 1 — Bulk 1,000+ Freelance Projects Sweep
{"language": "es","query": "","maxItems": 1200,"maxPagesPerList": 0,"proxyConfiguration": { "useApifyProxy": true }}
Example 2 — Niche Keyword Search (python)
{"language": "es","query": "python","maxItems": 250,"maxPagesPerList": 0}
Example 3 — Multiple Filtered Workana URLs
{"startUrls": [{ "url": "https://www.workana.com/es/jobs?category=it-programming&skills=react" },{ "url": "https://www.workana.com/pt/jobs?category=it-programming" },{ "url": "https://www.workana.com/en/jobs?category=design-multimedia" }],"maxItems": 600}
📤 Output Schema & Field Reference
Each scraped project is returned as a flat, normalized JSON object.
Sample Output Record
{"slug": "especialista-en-cierre-de-ventas-por-whatsapp-y-productos","title": "Especialista en Cierre de Ventas por Whatsapp y Productos","url": "https://www.workana.com/job/especialista-en-cierre-de-ventas-por-whatsapp-y-productos","description": "Se busca un profesional con experiencia en estrategias de ventas y cierre para productos, utilizando WhatsApp como canal principal de comunicación. El objetivo es optimizar el proceso de ventas, gestionar la interacción con clientes potenciales y existentes, y aumentar las tasas de conversión.","budget": "USD 100 - 250","isHourly": false,"totalBids": 4,"skills": ["Ventas","Marketing","Lead Generation","Telemarketing","Social Media Marketing","Experiencia de cliente"],"category": "Marketing Digital y Ventas","countryName": "Estados Unidos","countryCode": "US","authorName": "J. H.","clientRating": 4.95,"hasVerifiedPaymentMethod": true,"isUrgent": false,"isCompany": true,"isFeatured": false,"postedDate": "Hace 2 horas","scrapedAt": "2026-11-10T05:00:00.000Z"}
Emoji-Grouped Field Reference & Coverage
📋 Project Identity & Brief
| Field | Type | Coverage | Description |
|---|---|---|---|
slug | string | 🟢 High (100%) | Unique Workana project slug (used for cross-page and cross-list deduplication). |
title | string | 🟢 High (100%) | Clean project title (HTML unwrapped). |
url | string | 🟢 High (100%) | Canonical URL to the project page (https://www.workana.com/job/{slug}). |
description | string | 🟢 High (100%) | Full human-written project brief with Workana's category/subcategory metadata tail removed. |
category | string|null | 🟢 High (99%+) | Workana category label (e.g., Programación y Tecnología, Diseño y Multimedia, Marketing Digital y Ventas). |
skills | array<string> | 🟢 High (95%+) | Array of required technical or professional skills tagged on the project. |
postedDate | string | 🟢 High (100%) | Relative or formatted publication date as shown on Workana (e.g., Hace 2 horas, Ayer). |
💰 Budget, Pricing & Competition
| Field | Type | Coverage | Description |
|---|---|---|---|
budget | string | 🟢 High (100%) | Posted project budget — fixed range (e.g., USD 100 - 250) or hourly rate (USD 15 - 45 / hora). |
isHourly | boolean | 🟢 High (100%) | true when the project pays an hourly rate; false for fixed-price projects. |
totalBids | integer|null | 🟢 High (100%) | Number of freelancer proposals submitted so far. |
isUrgent | boolean | 🟢 High (100%) | true when the client marked the project as urgent. |
isFeatured | boolean | 🟢 High (100%) | true when the project is promoted/featured in search results. |
🌍 Client Profile & Trust Signals
| Field | Type | Coverage | Description |
|---|---|---|---|
countryName | string|null | 🟢 High (100%) | Client's country name (e.g., México, Brasil, España, Estados Unidos, Argentina). |
countryCode | string|null | 🟢 High (100%) | Client's ISO-2 country code (MX, BR, ES, US, AR, CO, CL). |
authorName | string|null | 🟢 High (100%) | Client display label (Workana displays initials publicly, e.g., J. H.). |
clientRating | number|null | 🟡 Conditional | Client rating on a 0.0–5.0 scale (~17–25% of listings; null when the client has no prior reviews). |
hasVerifiedPaymentMethod | boolean | 🟢 High (100%) | true when the client has a verified payment method on file. |
isCompany | boolean | 🟢 High (100%) | true when the client account is a business/company entity. |
scrapedAt | string | 🟢 High (100%) | ISO-8601 UTC timestamp when the record was scraped. |
🔁 Pagination & 1,000+ Scale
Workana's public listing feed returns ~9 projects per page and caps any single listing query at roughly 100 pages (~350–900 unique projects per list). To ensure you can collect 1,000+ unique projects in a single run without hitting a single-list ceiling:
- Auto-Scaling Pagination (
maxPagesPerList: 0): LeavemaxPagesPerListat0(default) so pagination is governed automatically bymaxItems. - Automatic 8-Category & Multi-Edition Expansion: When
maxItems > 250andmaxPagesPerList === 0(without restrictive customstartUrls), the scraper first paginates the main listing feed and then automatically iterates across Workana's 8 core categories (it-programming,design-multimedia,sales-marketing,writing-translation,admin-support,finance-management,engineering-manufacturing,legal) and language editions (es,pt,en), deduplicating every project bysluguntilmaxItemsis reached. - Multi-URL Queueing: You can also pass any number of custom filtered URLs in
startUrls; each URL is crawled as its own paginated list into one unified, deduplicated dataset.
⚙️ How to Use
- Open Workana Scraper in the Apify Console.
- Select a Language (
eshas the largest volume, followed byptanden) and optionally enter a Search Keyword (query). - (Optional) Paste custom filtered Workana URLs into Start URLs (
startUrls). - Set Max Items (
maxItems) — e.g.,60for a quick test,1000+ for a deep market sweep, or0for unlimited — and leave Max Pages per List (maxPagesPerList) at0. - Click Start and export your results in JSON, CSV, Excel, HTML, or RSS, or fetch them via the Apify API.
💻 API Usage Examples
Node.js (apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('haketa/workana-scraper').call({language: 'es',query: '',maxItems: 1000,maxPagesPerList: 0,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Collected ${items.length} unique Workana projects`);
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/workana-scraper").call(run_input={"language": "es","query": "python","maxItems": 300,"maxPagesPerList": 0,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], job["budget"], job["totalBids"], job["countryCode"])
cURL
curl -X POST "https://api.apify.com/v2/acts/haketa~workana-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"language": "es","maxItems": 500,"maxPagesPerList": 0}'
🗂️ Supported Workana Categories & Filter URLs
Workana organizes projects across 8 primary verticals. When maxPagesPerList: 0 and maxItems > 250, the scraper automatically expands across these categories — or you can target any specific vertical directly via startUrls:
| Category Slug | Spanish Edition URL (es) | Typical Project Roles |
|---|---|---|
it-programming | https://www.workana.com/es/jobs?category=it-programming | Full-stack web, mobile apps, Python, AI/ML, WordPress, Shopify, APIs |
design-multimedia | https://www.workana.com/es/jobs?category=design-multimedia | UI/UX design, branding, logos, video editing, 3D modeling, motion graphics |
sales-marketing | https://www.workana.com/es/jobs?category=sales-marketing | Meta/Google Ads, SEO, WhatsApp sales funnels, CRM automation, lead gen |
writing-translation | https://www.workana.com/es/jobs?category=writing-translation | Copywriting, blog content, technical writing, ES/PT/EN translation |
admin-support | https://www.workana.com/es/jobs?category=admin-support | Virtual assistance, customer support, data entry, project management |
finance-management | https://www.workana.com/es/jobs?category=finance-management | Accounting, financial modeling, ERP setup, business consulting |
engineering-manufacturing | https://www.workana.com/es/jobs?category=engineering-manufacturing | CAD, architecture, civil/electrical engineering, product design |
legal | https://www.workana.com/es/jobs?category=legal | Contract drafting, corporate law, trademark & compliance consulting |
🔌 Integrations & Automation Workflows
- Real-Time Agency Lead Alerts (Slack / Telegram / Discord): Schedule the actor to run every 30–60 minutes with
maxItems: 60and connect a Make, Zapier, or n8n webhook to notify your sales channel whenever a high-budget (USD 1,000 - 3,000+) project is posted. - AI Proposal Drafting (OpenAI / Claude + n8n): Pipe each new project's
title,description,skills, andbudgetinto an LLM workflow to score fit (1–10) and draft a tailored Spanish or Portuguese proposal automatically. - Google Sheets & BI Dashboards: Sync daily runs to Google Sheets, Looker Studio, or Power BI to track skill demand, bid competition (
totalBids), and budget distributions bycountryCode.
💡 Tips for Best Results
- Leave
maxPagesPerListat0: SettingmaxPagesPerList: 0letsmaxItemscontrol the run automatically and enables multi-category expansion for1,000+project runs. - Filter for high-intent clients: In your exported dataset or downstream automation, filter on
hasVerifiedPaymentMethod == trueandtotalBids <= 5to surface fresh, funded projects with minimal competition. - Start with Spanish (
es) and Portuguese (pt): Because Workana is headquartered in Latin America, theesandpteditions carry over 90% of total platform volume. - Schedule hourly runs for real-time lead alerts: Schedule the actor every hour with
maxItems: 50and push newslugIDs to Slack, Telegram, or HubSpot via Make/n8n.
❓ FAQ
Do I need a Workana account or API key?
No. The actor collects publicly visible project listings without requiring any login, cookies, or API key.
How many projects can I scrape in a single run?
You can collect 1,000 to 5,000+ unique projects in a single run. When maxPagesPerList is 0 (default) and maxItems is set to 1000+, the scraper automatically expands across Workana's categories and language editions to bypass single-list page caps.
Why is authorName shown as initials (e.g., J. H.)?
Workana masks client full names as initials on public listings. You still receive the client's full countryName, countryCode, clientRating, hasVerifiedPaymentMethod, and isCompany status.
Why is clientRating null on some projects?
clientRating is populated whenever the client has completed prior projects and received ratings on Workana (~17–25% of listings). New clients posting their first project naturally have clientRating: null.
Can I filter by specific Workana categories, skills, or countries?
Yes. Configure your desired filters on workana.com/jobs, copy the URL from your browser address bar, and paste it into Start URLs (startUrls).
What export formats are supported?
You can export the scraped dataset directly from the Apify Console or REST API in JSON, CSV, Excel (XLSX), HTML table, XML, or RSS.
How fresh is the data?
Every run fetches live project listings directly from Workana at execution time (scrapedAt). Schedule the actor hourly or daily to maintain a real-time feed of newly posted freelance gigs.
Does the scraper handle duplicate projects across pages or URLs?
Yes. Every project is deduplicated across all pages, categories, and startUrls using its unique slug.
🔎 Also Searched As
Workana scraper · scrape Workana · Workana jobs scraper · Workana data extractor · Workana freelance projects API · Latin America freelance market data · Workana lead generation · export Workana to CSV Excel JSON · Workana budget & skill intelligence · freelance gig scraper LatAm
🔗 Related Scrapers
Pair Workana Scraper with our companion freelance, remote-work, and job-market actors:
- Fiverr Gig & Freelancer Scraper — Extract Fiverr gigs, package pricing, seller ratings, and review counts.
- Freelancermap IT Projects Scraper — Scrape European & global IT freelance contracts and project leads.
- Seek Jobs Scraper — Extract job listings, salaries, and employer data from Seek.
- ZipRecruiter Jobs Scraper — Scrape US & UK job postings and compensation ranges.
- XING Jobs Scraper — Extract DACH-region job postings and company profiles.
📋 Changelog
v1.2.0 (2026-11)
- Unlocked 1,000+ Multi-Category & Multi-Edition Pagination: Set
maxPagesPerListprefill and default to0(auto/unlimited governed bymaxItems) and added automatic fan-out across all 8 Workana categories (it-programming,design-multimedia,sales-marketing,writing-translation,admin-support,finance-management,engineering-manufacturing,legal) and language editions (es,pt,en) whenmaxItems > 250. - Fast Default & Prefill Limits: Set
maxItemsdefault to100and prefill to60so quick test runs finish in ~20 seconds whilemaxItems: 1000+scales seamlessly. - Documentation Upgrade: Added
⚡ At a Glancesummary table, emoji-grouped field tables with coverage indicators, and updated API examples.
v1.1.0 (2026-11)
- Cleaner
descriptionField: Automatically strips Workana's appended category/subcategory boilerplate tail after extracting thecategoryfield (99.4% category coverage). - Scale Verification: Verified 355 unique Spanish (
es) projects in a single list with 0 duplicates and 100% coverage on core fields.
v1.0.0 (2026-08)
- Initial release of Workana Jobs Scraper supporting Spanish (
es), Portuguese (pt), and English (en) editions, keyword filtering, customstartUrls, and 19 normalized output fields.