Freelancer.com Project Listings Scraper
Pricing
Pay per event
Freelancer.com Project Listings Scraper
Scrape Freelancer.com project listings, budgets, skills, bid counts, payment verification, and URLs for lead generation and demand research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public Freelancer.com project listings for lead generation, hiring demand research, and marketplace monitoring.
What does Freelancer.com Project Listings Scraper do?
Freelancer.com Project Listings Scraper extracts public project cards from Freelancer.com jobs pages. It collects project titles, URLs, descriptions, skills, budgets, bid counts, time-left labels, payment verification signals, source pages, and timestamps. Use it to monitor active freelance demand without logging in or visiting each category manually.
Who is it for?
- π§² Agencies looking for new client leads in specific service categories.
- π©βπ» Freelancers tracking demand for skills such as Python, web scraping, Shopify, data entry, or design.
- π Marketplace analysts measuring budgets and competition by category.
- π§βπΌ Recruiters and sales teams building prospect lists from public project demand.
- π οΈ Tool builders feeding Freelancer.com leads into CRMs, sheets, alerts, or dashboards.
Why use this scraper?
Freelancer.com pages are useful but repetitive to monitor by hand. This actor turns public listings into structured data that is easy to filter, enrich, export, and schedule. You can scrape one category, many categories, or generated query pages in one run.
What data can you extract?
| Field | Description |
|---|---|
title | Project title shown on Freelancer.com |
url | Absolute project URL |
description | Project summary text from the listing card |
skills | Skills and category tags |
budgetText | Budget or average-bid text as displayed |
budgetAmount | Parsed numeric budget / bid amount when available |
currency | Currency symbol/code when detected |
bidCount | Number of bids shown on the listing |
averageBidText | Average-bid display text |
timeLeft | Time remaining label |
paymentVerified | Whether payment verification is visible |
sourceUrl | Result page that produced the listing |
sourceQuery | Query used to generate the source URL, if any |
pageNumber | Pagination page number |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape Freelancer.com project listings?
The actor uses pay-per-event pricing.
There is a small run-start charge and a per-project-listing charge.
You control cost with maxItems and maxPagesPerSource.
Start with the default 20 listings, then scale once you confirm the categories you need.
How to scrape Freelancer.com jobs
- Open the actor on Apify.
- Add one or more Freelancer.com jobs URLs such as
https://www.freelancer.com/jobs/python/. - Optionally add search queries such as
web scrapingordata entry. - Set
maxItemsandmaxPagesPerSource. - Run the actor.
- Export results as JSON, CSV, Excel, or connect them to an integration.
Input options
Start URLs
Use public Freelancer.com jobs pages. Examples:
https://www.freelancer.com/jobs/python/https://www.freelancer.com/jobs/web-scraping/https://www.freelancer.com/jobs/data-entry/
Search queries
Queries are converted to Freelancer.com jobs URL slugs.
For example web scraping becomes /jobs/web-scraping/.
This is convenient when you want to monitor many skill categories.
Maximum project listings
maxItems limits the total number of saved listings.
Use a low number for testing and a higher number for scheduled monitoring.
Maximum pages per source
maxPagesPerSource controls pagination depth for every start URL or query.
Freelancer.com category pages normally expose multiple pages.
Proxy configuration
Proxy use is optional. Leave it disabled for cheap first runs. Enable Apify Proxy if your network is blocked or you run larger scheduled jobs.
Output example
{"title": "AI for Maritime Safety Intelligence Platform","url": "https://www.freelancer.com/projects/ai-development/for-maritime-safety-intelligence","description": "AI / LLM Engineer Needed...","skills": ["AI Development", "Data Analysis", "Python"],"budgetText": "$502 Avg Bid","budgetAmount": 502,"currency": "$","bidCount": 133,"timeLeft": "6 days left","paymentVerified": true,"sourceUrl": "https://www.freelancer.com/jobs/python/","sourceQuery": "python","pageNumber": 1,"scrapedAt": "2026-06-24T00:00:00.000Z"}
Tips for better results
- π― Use specific skill pages for targeted lead lists.
- π Keep default limits low while testing a new category.
- π§Ύ Export CSV for sales workflows and JSON for automation.
- π Schedule daily runs to monitor new opportunities.
- π§ Combine skills such as Python, FastAPI, data extraction, and web scraping for a broader lead view.
Lead generation workflows
Send the dataset to Google Sheets, Airtable, HubSpot, Pipedrive, or a custom webhook. Filter for budgets, bid counts, payment verification, and relevant skills. Sales teams can use the source URL and title to qualify projects before outreach.
Marketplace analytics workflows
Run the actor across the same categories every day.
Track budget changes, project volume, high-demand skills, and bid competition over time.
Analysts can aggregate budgetAmount, bidCount, and skills for category intelligence.
Freelancer monitoring workflows
Freelancers can schedule this actor for their core skills and receive fresh project leads. Use Apify integrations or webhooks to notify Slack, email, or a CRM whenever new listings appear.
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-project-listings-scraper').call({searchQueries: ['python', 'web scraping'],maxItems: 100,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/freelancer-project-listings-scraper').call(run_input={'searchQueries': ['python', 'web scraping'],'maxItems': 100,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~freelancer-project-listings-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchQueries":["python","web scraping"],"maxItems":100}'
MCP integration
Use this actor from Apify MCP in Claude Desktop or Claude Code. The tool URL is:
https://mcp.apify.com/?tools=automation-lab/freelancer-project-listings-scraper
Add it from Claude Code with:
$claude mcp add --transport http apify-freelancer-projects https://mcp.apify.com/?tools=automation-lab/freelancer-project-listings-scraper
Claude Desktop JSON configuration example:
{"mcpServers": {"apify-freelancer-projects": {"url": "https://mcp.apify.com/?tools=automation-lab/freelancer-project-listings-scraper"}}}
Example prompts:
- "Scrape 100 Python projects from Freelancer.com and summarize the best leads."
- "Find Freelancer.com jobs for web scraping and rank them by budget."
- "Monitor data entry projects and show me payment-verified opportunities."
Integrations
The actor works with Apify datasets and integrations. Common patterns include:
- Dataset to Google Sheets for lead review.
- Webhook to Slack for daily opportunity alerts.
- Dataset API to BI tools for marketplace analysis.
- CRM import for agency prospecting.
- MCP workflows for AI-assisted lead qualification.
Scheduling
Schedule the actor daily or hourly depending on your monitoring needs. For lead generation, daily runs are often enough. For competitive freelance categories, shorter intervals may help you react faster.
Data quality notes
The actor extracts what is visible on public listing cards.
Some fields may be missing when Freelancer.com does not display them.
Budget text is preserved exactly, while budgetAmount is a best-effort numeric parse.
Limitations
- It does not log in to Freelancer.com.
- It does not place bids or contact clients.
- It does not scrape private messages or authenticated project data.
- It focuses on public listing pages, not full detail-page enrichment.
Troubleshooting
Why did I get fewer items than requested?
The chosen category may have fewer visible listings, or pagination may end before your limit.
Increase maxPagesPerSource or add more categories.
Why are budget fields sometimes null?
Some listings display ranges, hidden budgets, contest details, or average-bid labels.
The raw budgetText is kept even when a numeric amount cannot be parsed.
Should I enable proxies?
Try without proxies first. If Freelancer.com blocks your network or you run large jobs, enable Apify Proxy in the input.
Legality and ethics
This actor extracts publicly visible Freelancer.com listing information. Use it responsibly, respect Freelancer.com's terms, avoid spam, and comply with privacy, platform, and outreach laws in your jurisdiction.
Related scrapers
Explore related Automation Lab actors:
- https://apify.com/automation-lab/upwork-jobs-scraper
- https://apify.com/automation-lab/linkedin-jobs-scraper
- https://apify.com/automation-lab/indeed-jobs-scraper
- https://apify.com/automation-lab/company-contact-scraper
Changelog
0.1
Initial private build for public Freelancer.com project listing extraction.
Support
If a category stops returning results, try a smaller run, enable proxy settings, or provide the source URL and run ID when requesting help.
FAQ
Can I scrape multiple skills at once?
Yes. Add several searchQueries or several Freelancer.com jobs URLs.
Can I export the results?
Yes. Apify supports JSON, CSV, Excel, XML, RSS, and API exports.
Does this actor require a Freelancer.com account?
No. It uses public jobs pages only.
Can I scrape more than 100 listings?
Yes. Increase maxItems and maxPagesPerSource.
Is the output suitable for CRM enrichment?
Yes. The actor includes title, URL, skills, budget text, bid count, and source information that can be enriched or qualified downstream.