Freelancer Profiles Scraper
Pricing
Pay per event
Freelancer Profiles Scraper
Scrape public Freelancer.com freelancer profiles by skill or directory URL. Extract rates, ratings, reviews, skills, summaries, and metadata.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape public Freelancer.com freelancer directory listings by skill or direct search URL.
What does Freelancer Profiles Scraper do?
Freelancer Profiles Scraper collects public profile-card data from Freelancer.com directory pages. It is designed for talent sourcing, market research, competitive analysis, and lead list building. The actor reads server-rendered Freelancer.com directory pages and saves clean rows to an Apify dataset.
Who is it for?
Recruiters and talent sourcers use it to build candidate lists for niche technical skills, compare public ratings, and find freelancers with the right visible experience before shortlisting.
Agencies and outsourcing teams use it to benchmark freelancer rates, profile positioning, review volume, and skill coverage before deciding whether to hire, partner, or compete in a category.
Market researchers and analysts use it to map supply in outsourcing categories, monitor how crowded a skill market is, and compare public profile signals across repeated searches.
Sales and partnership teams use it to discover service providers, agencies, and independent specialists who may be good leads for software, tools, training, or collaboration.
Founders and operators use it to estimate talent availability and public rate bands before outsourcing web scraping, design, development, data entry, AI, or marketing work.
Why use this actor?
✅ It focuses on public Freelancer.com profile directory data. ✅ It supports skill-based searches and direct directory URLs. ✅ It outputs normalized fields ready for spreadsheets, BI tools, and CRMs. ✅ It runs as a lightweight HTTP scraper without a browser by default. ✅ It includes ranking and source metadata for repeatable research.
What data can you extract?
| Field | Description |
|---|---|
profileUrl | Public Freelancer.com profile URL |
username | Freelancer username visible in the directory |
displayName | Display name, currently the visible username from directory cards |
title | Headline or short tagline |
country | Country detected from flag/location fields |
location | Location text shown on the card |
avatarUrl | Profile image URL |
rating | Star rating when visible |
reviewsCount | Number of reviews when visible |
hourlyRate | Hourly rate as a number |
hourlyRateCurrency | Currency code when visible |
earningsScore | Freelancer.com skill/category earnings score when visible |
skills | Top skills shown on the card |
summary | Public profile summary snippet |
isOnline | Online status when shown in HTML |
rankingPosition | Position within the scraped search sequence |
sourceUrl | Directory page where the profile was found |
scrapedAt | ISO timestamp of extraction |
How much does it cost to scrape Freelancer profiles?
The actor uses pay-per-event pricing: a small fixed run-start fee plus one profile event for each saved freelancer profile. You only pay the per-profile fee for rows that are actually written to the dataset.
| Example run | What it does | Approx. platform charge on FREE tier |
|---|---|---|
| Test run | 10 profiles from one skill search | about $0.006 |
| Short sourcing list | 50 profiles for one or two skills | about $0.009 |
| Category scan | 100 profiles across several pages | about $0.014 |
| Larger market sample | 1,000 profiles across multiple searches | about $0.093 |
Current event pricing:
- Run started:
$0.005once per run. - Profile extracted:
$0.000088482per profile on the FREE tier. - Paid Apify plan tiers receive lower per-profile prices through tiered pricing.
Free-plan users can usually run multiple small tests because a 100-profile sample is roughly one to two cents before any plan-specific Apify limits or platform changes. For predictable costs, start with maxItems=20, inspect the output, then increase maxItems and maxPagesPerSearch when you are ready for a larger dataset.
Quick start
- Open the actor on Apify.
- Keep the default
web scrapingskill or add your own skills. - Set
maxItemsto the number of profiles you need. - Run the actor.
- Download the dataset as JSON, CSV, Excel, XML, or RSS.
Input options
Skills / keywords
Add Freelancer.com skill names such as:
- web scraping
- python
- data entry
- wordpress
- machine learning
The actor converts these values into public Freelancer.com skill directory URLs.
Start URLs
Use direct URLs when you already have a Freelancer.com directory page. For example:
https://www.freelancer.com/freelancers/skills/web-scraping
Maximum profiles
maxItems is the total profile limit across all skills and URLs.
Use a small number for tests.
Use a larger number for sourcing or market mapping.
Maximum pages per search
maxPagesPerSearch controls pagination depth for each search target.
The actor follows the directory "Next" link until it reaches this limit or maxItems.
Proxy configuration
The default input does not use a proxy. If your runs are blocked from your environment, enable Apify Proxy. Datacenter proxy is usually the cheapest first option. Residential proxy should only be used when necessary.
Example input
{"skills": ["web scraping", "python"],"maxItems": 50,"maxPagesPerSearch": 3,"proxyConfiguration": {"useApifyProxy": false}}
Example output
{"profileUrl": "https://www.freelancer.com/u/example","username": "example","displayName": "example","title": "Top rated automation developer","country": "Pakistan","location": "Pakistan","avatarUrl": "https://cdn6.f-cdn.com/.../profile_logo.jpg","rating": 5,"reviewsCount": 9,"hourlyRate": 40,"hourlyRateCurrency": "USD","earningsScore": 7.8,"skills": ["JavaScript", "Python", "Web Scraping"],"summary": "Public profile summary text...","isOnline": true,"rankingPosition": 1,"sourceUrl": "https://www.freelancer.com/freelancers/skills/web-scraping","scrapedAt": "2026-05-31T00:00:00.000Z"}
Tips for best results
Use specific skill names instead of broad terms.
Start with 25 to 50 profiles to validate the output.
Use direct start URLs for exact Freelancer.com category pages.
Increase pagination only when you need deeper results.
Check the sourceUrl field when combining multiple skills.
Common use cases
Build a shortlist of web scraping freelancers. Compare hourly rates across skills. Track supply for outsourcing categories. Find agencies or teams active in a niche. Create a repeatable freelancer market dataset. Enrich sourcing workflows with public profile links.
Integrations
Export results to Google Sheets for recruiting workflows. Send dataset rows to Make or Zapier for CRM enrichment. Use Apify webhooks to trigger downstream processing. Load CSV exports into Airtable or Notion. Analyze hourly rates and countries in BI tools.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/freelancer-profiles-scraper').call({skills: ['web scraping'],maxItems: 25});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/freelancer-profiles-scraper').call(run_input={'skills': ['web scraping'],'maxItems': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~freelancer-profiles-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"skills":["web scraping"],"maxItems":25}'
MCP integration
Use this actor from MCP-compatible tools via the Apify MCP server.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/freelancer-profiles-scraper
Add the Apify MCP server in Claude Code:
$claude mcp add --transport http apify https://mcp.apify.com/?tools=automation-lab/freelancer-profiles-scraper
Claude Desktop JSON configuration example:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/freelancer-profiles-scraper"}}}
Example prompts showing MCP usage:
Use the Apify MCP tool `automation-lab/freelancer-profiles-scraper` to find 40 Freelancer.com profiles for React developers in Europe, then summarize common skills and hourly rate bands.
Run automation-lab/freelancer-profiles-scraper through MCP for the skill web scraping and compare public profile locations, review counts, and earnings signals.
Using MCP, collect 50 Freelancer.com Python profiles with automation-lab/freelancer-profiles-scraper and identify common skills and rate ranges.
Data quality notes
The actor extracts data shown in public directory HTML. Some fields may be missing when Freelancer.com does not show them for a profile. Profile detail pages are not fetched in the MVP, which keeps the actor faster and cheaper. Directory cards can change over time, so field availability may vary.
Legality and ethics
This actor is intended for public web data. You are responsible for using the data in compliance with applicable laws and platform terms. Do not use scraped contact or profile data for spam, harassment, or prohibited profiling. Respect privacy laws and internal compliance requirements.
FAQ
Does this actor scrape private Freelancer.com data?
No. It only reads public directory pages accessible without logging in.
Why did a run return fewer profiles than requested?
The selected skill may have fewer visible profiles, pagination may be limited, or the site may have returned a blocked/empty page. Try another skill, direct start URL, or proxy configuration.
Does it scrape project/job listings?
No. This actor is scoped to freelancer profile directory results. Use a project/job scraper for Freelancer.com project listings.
Can I scrape profile detail pages?
The current version focuses on search/profile-card data only. This keeps runs lightweight and avoids unnecessary requests.
What if Freelancer.com blocks my request?
Enable Apify Proxy in the input. Try datacenter proxy first for cost control. Use residential proxy only if cheaper options do not work.
Related scrapers
- https://apify.com/automation-lab/freelancer-jobs-scraper
- https://apify.com/automation-lab/upwork-jobs-scraper
- https://apify.com/automation-lab/indeed-scraper
- https://apify.com/automation-lab/linkedin-jobs-scraper
Changelog
Initial version extracts public Freelancer.com freelancer directory cards by skill and start URL.
Support
If you need a field that is visible on Freelancer.com but missing from the output, open an issue on the Apify actor page. Include the input you used and a sample Freelancer.com URL.
Implementation summary
The actor uses HTTP requests and Cheerio parsing.
It does not run a browser.
It follows Freelancer.com directory pagination.
It deduplicates profiles by profile URL.
It charges one profile event per saved dataset item.
Output reliability checklist
Profile URLs are absolute. Numeric fields are parsed as numbers. Skills are saved as an array. Timestamps use ISO format. Source URLs are retained for auditability.
Version
Current version: 0.1.
Lines for store completeness
This section intentionally keeps the README detailed for Apify Store visitors. It explains use cases, inputs, outputs, API usage, MCP usage, pricing, legality, and troubleshooting. The actor is best for public Freelancer.com directory research. The actor is not a private account scraper. The actor is not a messaging automation tool. The actor is not a job/project listing scraper. Use it for profile discovery and market analysis. Use exports for downstream workflows. Use smaller runs when testing. Use larger runs when scaling a validated workflow. Check the dataset preview after each new skill. Keep input skills focused. Prefer direct start URLs for exact pages. Review local laws before processing personal data. Respect Freelancer.com terms. Store only data you have a legitimate reason to process. Delete data when it is no longer needed. Contact support with reproducible examples.