Freelancer Profiles Scraper avatar

Freelancer Profiles Scraper

Pricing

Pay per event

Go to Apify Store
Freelancer Profiles Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
profileUrlPublic Freelancer.com profile URL
usernameFreelancer username visible in the directory
displayNameDisplay name, currently the visible username from directory cards
titleHeadline or short tagline
countryCountry detected from flag/location fields
locationLocation text shown on the card
avatarUrlProfile image URL
ratingStar rating when visible
reviewsCountNumber of reviews when visible
hourlyRateHourly rate as a number
hourlyRateCurrencyCurrency code when visible
earningsScoreFreelancer.com skill/category earnings score when visible
skillsTop skills shown on the card
summaryPublic profile summary snippet
isOnlineOnline status when shown in HTML
rankingPositionPosition within the scraped search sequence
sourceUrlDirectory page where the profile was found
scrapedAtISO 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 runWhat it doesApprox. platform charge on FREE tier
Test run10 profiles from one skill searchabout $0.006
Short sourcing list50 profiles for one or two skillsabout $0.009
Category scan100 profiles across several pagesabout $0.014
Larger market sample1,000 profiles across multiple searchesabout $0.093

Current event pricing:

  • Run started: $0.005 once per run.
  • Profile extracted: $0.000088482 per 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

  1. Open the actor on Apify.
  2. Keep the default web scraping skill or add your own skills.
  3. Set maxItems to the number of profiles you need.
  4. Run the actor.
  5. 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.

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 ApifyClient
client = 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.

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.