Freelancer.com Scraper
Pricing
from $0.95 / 1,000 results
Freelancer.com Scraper
[๐ฐ $0.95 / 1K] Extract active project listings from Freelancer.com โ titles, descriptions, skills, budgets, bid counts, and employer flags. Filter by keyword, category, fixed vs hourly, budget range, country, and sort order. Built for lead generation, market research, and pricing intelligence.
Pricing
from $0.95 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
52
Total users
19
Monthly active users
11 days ago
Last modified
Categories
Share
Pull active project listings from Freelancer.com at scale โ titles, full descriptions, skills tags, fixed and hourly budgets, bid counts and average bid amounts, employer country, posted and bid-close dates, and seven quality badges including Featured, Urgent, Sealed, NDA-required, Recruiter-assisted and Preferred-Freelancer-only. Built for sales teams, agencies, and market-research analysts who need fresh freelance-marketplace demand signal without building and maintaining their own data pipeline.
Why This Scraper?
- 16 top-level Freelancer categories โ Websites/IT/Software, Mobile & Computing, Writing & Content, Design Media & Architecture, Engineering & Science, Sales & Marketing, Translation, Trades & Services, and 8 more โ selectable from a single dropdown.
- 7 project-quality badges per row โ Featured, Urgent, Sealed, NDA-required, Recruiter-assisted, Preferred-Freelancer-only and IP-agreement โ surface high-intent posts at a glance. Recruiter-assisted fires on roughly 1 in 8 active projects, and Preferred-Freelancer-only on 1 in 14, so they are working filters rather than rare curiosities.
- 50-country employer filter, matched on the client's own country โ not on the currency they pay in, so a Malaysian client paying in US dollars is found under Malaysia. Pinpoint clients in the US, UK, Canada, Australia, India, UAE, Germany, Singapore, Brazil and 41 more, with a 2-letter ISO
countryon every row of a country-filtered run. - Every budget priced twice, natively and in dollars โ
budgetMin/budgetMaxin the project's own currency,budgetMinUsd/budgetMaxUsdon the same row in USD, plus the ISOcurrencycode. Roughly half of all active projects are posted outside the dollar, so this is the difference between a rate benchmark and a number that mixes rupees with pounds. - Live bid intelligence, comparable across all 9 currencies Freelancer prices in โ USD, EUR, GBP, INR, AUD, CAD, SGD, NZD and HKD. Every row carries
bidCount,bidAvgin the project's own currency, andbidAvgUsdconverted to dollars, so you can average going rates across a mixed result set instead of hand-converting each row. - Posted and closing timestamps โ
submitDateandbidEndDateISO 8601, plus a human-readabletimeLeftstring like "3 days left" or "Closes today". - Direct URL pasting โ drop any Freelancer.com URL (
/jobs/<skill>,/jobs/<skill>/<page>,/search/projects?q=...) into the input and it's parsed into the right filters automatically. - Four sort orders โ Relevance, Newest first, Lowest budget first, Highest budget first.
- Up to 10,000 results per run, spread across searches โ any one search term or URL returns about 5,000 projects at most, so stacking two or more searches is what fills a full 10,000-row snapshot in a single pass.
Use Cases
Lead Generation
- Build outreach lists of clients posting projects matching your service area
- Filter by minimum budget to target premium clients with real spend
- Capture employer country to prioritize same-timezone leads
- Identify Featured and Urgent posts where clients want to move fast
Market Research & Demand Tracking
- Track freelance demand by skill, region, and budget range over time
- Compare project volume across the 16 Freelancer categories
- Measure average budgets per skill to benchmark market rates
- Spot rising and declining technology demand week over week
Competitive Intelligence
- See exactly which projects competing agencies are bidding on
- Monitor average bid counts to gauge how saturated a niche is
- Track which client countries dominate a given skill category
- Watch a competitor's preferred client patterns by mirroring their search filters
Pricing & Rate Benchmarking
- Compute average fixed-price and hourly budgets per skill
- Compare US-employer budgets against India, Philippines, or UK budgets
- Build internal rate cards anchored to live marketplace data
- Detect when premium-budget projects appear in your niche
Recruiting & Sourcing
- Find clients who post recurring work in a specific skill area
- Identify long-bid-window projects ideal for thoughtful proposals
- Track NDA-flagged, Sealed and IP-agreement projects for high-trust opportunities
- Chase Recruiter-assisted and Preferred-Freelancer-only posts, where the client has already paid to narrow the field
Getting Started
Search by Keyword
The simplest way to start:
{"searchQueries": ["shopify"],"maxResults": 100}
Filter by Category and Budget
{"searchQueries": ["react native"],"category": "websites-it-software","projectType": "fixed","minBudget": 500,"maxBudget": 5000,"sortBy": "newest","maxResults": 200}
Target Premium US Clients
{"searchQueries": ["seo", "content marketing"],"country": "us","minBudget": 1000,"sortBy": "budget_high","maxResults": 500}
Paste Freelancer.com URLs Directly
{"searchUrls": ["https://www.freelancer.com/jobs/web-development","https://www.freelancer.com/job-search/?q=wordpress&fixed_min=500&fixed_max=3000"],"maxResults": 300}
Input Reference
Search Inputs
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array of strings | ["seo"] | Free-text keywords. Each query produces its own result set. |
searchUrls | array of strings | [] | Paste Freelancer.com category, search, or project URLs. Filters in the URL are honored. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
category | string | none | One of 16 Freelancer categories (e.g. websites-it-software, design-media-architecture, writing-content). |
projectType | string | all | all, fixed, or hourly. |
minBudget | integer | none | Keep only projects whose posted budget starts at or above this amount. Other currencies are converted to USD first. |
maxBudget | integer | none | Keep only projects whose posted budget tops out at or below this amount. Open-ended budgets are excluded. |
country | string | none | 2-letter employer country code (e.g. us, gb, de). Matches the client's own country, not the currency they pay in. 50 countries supported. |
Sort & Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
sortBy | string | relevance | relevance, newest, budget_low, or budget_high. |
maxResults | integer | 1000 | Total row cap across all queries and URLs. Maximum 10,000. Set to 0 to request the full 10,000-row maximum. Any one search term or URL returns about 5,000 projects at most, so 10,000 in one run needs two or more searches. |
Output
Example Row
{"projectId": 38492013,"projectName": "Shopify Plus migration with custom theme","projectDescription": "We are migrating from BigCommerce to Shopify Plus...","projectDescriptionHtml": "We are migrating from BigCommerce to Shopify Plus...<br><br>Requirements:...","url": "https://www.freelancer.com/projects/shopify-plus-migration-custom-theme","seoUrl": "shopify-plus-migration-custom-theme","jobType": "fixed","currency": "USD","budgetMin": 1500,"budgetMax": 4500,"budgetMinUsd": 1500,"budgetMaxUsd": 4500,"budgetDisplay": "$1,500 - $4,500 USD","bidCount": 27,"bidAvg": 2890.5,"bidAvgUsd": 2890.5,"timeLeft": "5 days left","submitDate": "2026-05-06T14:22:01Z","bidEndDate": "2026-05-13T14:22:01Z","country": "us","location": "Hayward, California, United States","skills": ["Shopify", "Liquid", "JavaScript", "BigCommerce"],"featured": true,"urgent": false,"sealed": false,"nda": false,"recruiterAssisted": true,"preferredFreelancerOnly": false,"ipAgreement": false,"language": "en","scrapedAt": "2026-05-08T10:31:42Z"}
Core Fields
| Field | Type | Description |
|---|---|---|
projectId | integer | Numeric Freelancer project ID. |
projectName | string | Project title. |
projectDescription | string | Full plaintext description with line breaks. |
projectDescriptionHtml | string | Same description with <br> tags for HTML rendering. |
url | string | Direct link to the project page on Freelancer.com. |
seoUrl | string | URL slug portion (e.g. shopify-plus-migration-custom-theme). |
jobType | string | fixed or hourly. |
language | string | Language code declared by the employer. |
Budget & Currency
| Field | Type | Description |
|---|---|---|
currency | string | ISO 4217 currency code (e.g. USD, EUR, GBP). |
budgetMin | number | Minimum budget in the project's native currency. |
budgetMax | number | Maximum budget in the project's native currency. |
budgetMinUsd | number | The same minimum converted to US dollars, so budgets from every currency sort and average on one scale. |
budgetMaxUsd | number | The same maximum converted to US dollars. null only when the employer posted an open-ended budget with no ceiling. |
budgetDisplay | string | Human-readable budget label (e.g. $1,500 - $4,500 USD). Open-ended budgets read from $10,000 USD or up to $500 USD. Hourly projects carry the rate unit, exactly as Freelancer.com shows it: $15 - $25 USD / hour, from $50 USD / hour. |
Engagement & Bids
| Field | Type | Description |
|---|---|---|
bidCount | integer | Number of bids submitted so far. |
bidAvg | number | Average bid amount in the project's native currency. |
bidAvgUsd | number | The same average bid converted to US dollars, so you can compare going rates across projects posted in different currencies without supplying your own exchange rates. |
skills | array of strings | Skill tags the employer attached (e.g. ["Shopify", "Liquid"]). |
Employer & Location
| Field | Type | Description |
|---|---|---|
country | string | Lowercase 2-letter ISO country code of the employer. Taken from the location the employer published, otherwise from the country you filtered on. Filter by country and every row carries it; leave the filter blank and it is filled for the projects that publish a location, null for the rest. |
location | string | City, region and country the employer published, e.g. "Hayward, California, United States". Country names always come back in English, so the same place groups cleanly no matter what language the employer posts in. Present on local projects, where the employer wants someone on site; null on remote projects, which have no location to publish. |
Quality Badges
| Field | Type | Description |
|---|---|---|
featured | boolean | Featured listing โ paid placement boost. |
urgent | boolean | Marked urgent by the employer. |
sealed | boolean | Bids are hidden from competing freelancers. |
nda | boolean | NDA required to view full details. |
recruiterAssisted | boolean | A Freelancer.com recruiter is shortlisting candidates for this client โ usually a sign of a bigger, better-funded brief. |
preferredFreelancerOnly | boolean | Only Preferred Freelancer Program members can bid, so the field is far less crowded. |
ipAgreement | boolean | The client requires an intellectual-property transfer agreement before work starts. |
Timestamps
| Field | Type | Description |
|---|---|---|
submitDate | string | ISO 8601 UTC โ when the project was posted. |
bidEndDate | string | ISO 8601 UTC โ when the bid window closes. |
timeLeft | string | Human-readable countdown (e.g. "3 days left", "Closes today", "Closed"). |
scrapedAt | string | ISO 8601 UTC โ when this row was extracted. |
Tips for Best Results
- Drop the keyword for pure budget sorts. When
searchQueriesis set, results are blended with a relevance score โ for clean lowest-or-highest budget order, usesearchUrlswithsortBy=budget_loworbudget_highand no query. - Combine
country=uswithminBudget=1000to surface premium US clients in your timezone โ one of the highest-ROI filter combinations for outreach. - Set the country filter when you want
countryon every row. Freelancer only publishes a client location on on-site "local" projects, so an unfiltered run fillscountryfor those and leaves it blank elsewhere rather than guessing from the payment currency. - Trim the page number off a pasted URL. A URL ending in a page number tells the actor to skip that many projects from the start of its own result order, which is not the order the Freelancer.com website shows you. You still get real, matching projects, just not the exact cards you were looking at. Paste the URL without the page number and let
maxResultsdecide how deep to go. - Set the budget boxes on Freelancer.com before you copy the URL. The Fixed Price and Hourly min/max boxes in the site's own filter panel come across with the URL, already converted to US dollars, so the run applies the same range you were just looking at. Fill only one of the two pairs: a fixed-price range and an hourly rate range describe different things, and only one can be applied per URL.
- Use
searchUrlsfor category landing pages likehttps://www.freelancer.com/jobs/seoto ride Freelancer's own skill taxonomy instead of guessing keywords. - Sort by
newestfor live monitoring. Run the actor on a schedule (every 30 minutes) with a tightmaxResultsto capture fresh posts the moment they appear. - Filter by
projectType=hourlywhen benchmarking long-term retainers โ fixed-price posts skew toward one-off work. - Watch
bidCountfor saturation. Categories with averagebidCountabove 40 are crowded; below 15 means less competition for your bids. - Benchmark rates on
bidAvgUsd, notbidAvg. Roughly half of all active projects are posted outside the dollar, so averaging the native column mixes rupees with pounds and inflates the result many times over. Sort or average onbidAvgUsdand every row is on the same scale. - The default
maxResults=1000is the sweet spot for most queries โ comprehensive enough to map an active niche, low enough to keep runs quick. Bump up to10000(or set to0) for full-market snapshots โ and split those across two or more search terms or URLs, because a single search tops out near 5,000 projects and cannot fill a 10,000-row run on its own.
Pricing
From $0.80 per 1,000 results. No compute charges โ you only pay per result returned.
Apify's loyalty tiers discount every result you pull. Find your current tier in your Apify account billing page.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.095 | $0.090 | $0.085 | $0.080 |
| 1,000 | $0.95 | $0.90 | $0.85 | $0.80 |
| 10,000 | $9.50 | $9.00 | $8.50 | $8.00 |
| 100,000 | $95.00 | $90.00 | $85.00 | $80.00 |
Each run also carries a one-off $0.00005 start charge, which is less than a hundredth of a cent no matter how large the run. Billing is rounded to the nearest cent, and runs that return 0 results cost nothing.
Integrations
- Zapier & Make โ trigger downstream workflows when new high-budget projects appear.
- Google Sheets โ push fresh listings into a sheet for your sales team to work each morning.
- Apify API & webhooks โ kick off runs from your own backend or get notified the moment a run finishes.
- CRM systems โ drop
projectId,country,budgetMax, andskillsdirectly into Salesforce, HubSpot, or Airtable as new lead records. - BI tools โ connect output datasets to Looker, Power BI, or Tableau for trend dashboards.
Legal & Ethical Use
This actor extracts only publicly listed active projects โ content that Freelancer.com surfaces to anonymous visitors. It does not access freelancer profiles, private bids, or any logged-in user data.
You are responsible for using the data lawfully. Respect Freelancer.com's Terms of Service, applicable data-protection laws (GDPR, CCPA), and any sender-permission rules (CAN-SPAM, GDPR consent) before contacting employers based on extracted information. Do not use the data for spam or harassment.