Freelancer.com Projects Scraper
Pricing
Pay per event
Freelancer.com Projects Scraper
Scrape public Freelancer.com project listings with budgets, skills, bid counts, descriptions, and URLs for lead generation and market 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
4 days ago
Last modified
Categories
Share
Extract public Freelancer.com project listings, budgets, skills, bid counts, and project URLs for lead generation, freelance opportunity monitoring, and marketplace research.
What does Freelancer.com Projects Scraper do?
Freelancer.com Projects Scraper collects public project cards from Freelancer.com job listing pages. It reads the same public project listings that visitors can browse without logging in. The actor saves structured rows that are easy to export to CSV, JSON, Excel, Google Sheets, Airtable, or your CRM.
Use it when you need a repeatable way to monitor freelance project demand instead of manually refreshing Freelancer.com search pages.
Who is it for?
- π§βπ» Freelancers tracking new projects in a niche
- π’ Agencies looking for qualified project leads
- π Market researchers analyzing demand by skill and budget
- π§² Lead generation teams building outreach workflows
- π§ͺ Product teams validating demand for services or tools
- π§Ύ Recruiters and operations teams monitoring outsourcing trends
Why use this actor?
Freelancer.com is a large marketplace, but manually reviewing project cards is slow. This actor turns public project pages into a clean dataset with titles, descriptions, budgets, skills, bid counts, and URLs. You can run it daily for monitoring, run it by category for market snapshots, or run it from hand-picked URLs for focused research.
What data can you extract?
| Field | Description |
|---|---|
title | Project title shown on Freelancer.com |
projectUrl | Canonical public project URL |
projectId | Numeric ID parsed from the URL when present |
descriptionSnippet | Listing-card description |
description | Full or best available description |
budget | Raw budget or average bid text |
currency | Currency symbol/code when visible |
budgetMin | Parsed lower numeric budget |
budgetMax | Parsed upper numeric budget |
budgetType | fixed, hourly, or unknown |
skills | Skills/categories displayed on the listing card |
timeRemaining | Time left signal shown on Freelancer.com |
bidsCount | Number of bids when visible |
averageBid | Parsed average bid/budget number when visible |
sourceUrl | Listing page that produced the row |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape Freelancer.com projects?
This actor uses pay-per-event pricing.
A small start event is charged per run and a per-project event is charged for every saved listing.
The default input is intentionally small so your first run is inexpensive.
You can increase maxItems when you are ready for larger monitoring or research jobs.
Input options
Start URLs
Provide one or more public Freelancer.com listing URLs. Examples:
https://www.freelancer.com/jobs/https://www.freelancer.com/jobs/web-scraping/https://www.freelancer.com/jobs/python/https://www.freelancer.com/jobs/lead-generation/
Search query
If you do not provide start URLs, the actor can build a Freelancer.com jobs URL from a query. Example queries:
web scrapingpython automationdata entrylead generationshopify
Category or skill slug
Use a Freelancer skill/category slug such as:
web-scrapingpythondata-entrysaleslead-generation
Limits
maxItemscontrols how many projects are saved.maxPagescontrols pagination depth.requestDelayMsadds a conservative delay between requests.
Detail pages
includeDetails attempts to open each public project page for extra details.
Keep it off for fast monitoring runs.
Turn it on when you need richer descriptions or best-effort client signals.
Example input
{"startUrls": [{ "url": "https://www.freelancer.com/jobs/web-scraping/" }],"maxItems": 25,"maxPages": 2,"includeDetails": false,"requestDelayMs": 750}
Example output
{"title": "Web Scraping and Data Extraction","projectUrl": "https://www.freelancer.com/projects/web-scraping/example-12345678","projectId": "12345678","descriptionSnippet": "Need a scraper for public ecommerce data...","description": "Need a scraper for public ecommerce data...","budget": "$250 - $750 USD","currency": "$","budgetMin": 250,"budgetMax": 750,"budgetType": "fixed","skills": ["Python", "Web Scraping"],"timeRemaining": "6 days left","bidsCount": 12,"averageBid": 250,"isRemote": true,"sourceUrl": "https://www.freelancer.com/jobs/web-scraping/","scrapedAt": "2026-06-20T22:00:00.000Z"}
How to scrape Freelancer.com projects
- Open the actor on Apify.
- Paste a Freelancer.com jobs, category, or search URL.
- Set
maxItemsto the number of projects you need. - Keep
includeDetailsoff for the fastest run. - Start the actor.
- Download the dataset as CSV, JSON, Excel, XML, or RSS.
Monitoring workflows
Run the actor every day or every few hours to monitor new public opportunities. Use Apify schedules and integrations to send the dataset to your CRM, Slack, Google Sheets, or webhook endpoint.
Lead generation workflow
- Pick categories that match your offer.
- Scrape recent project listings.
- Filter by skills, budget, or bid count.
- Review the project URL manually before outreach.
- Store qualified leads in your CRM.
Market research workflow
Use the output to answer questions such as:
- Which skills appear most often?
- What budgets are common in a category?
- Which niches have low bid counts?
- Which project types appear repeatedly?
- How does demand change week over week?
Tips for better results
- Start with category pages rather than very broad pages.
- Keep
maxPagesmodest for frequent monitoring. - Use exact Freelancer skill slugs when possible.
- Export to CSV for quick spreadsheet filtering.
- Use
sourceUrlto compare different categories in one dataset.
Integrations
You can connect the actor to:
- Google Sheets for a project lead spreadsheet
- Airtable for a lead database
- Slack for new project notifications
- Make or Zapier for no-code workflows
- CRM systems via webhooks
- BI dashboards for marketplace analytics
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-projects-scraper').call({startUrls: [{ url: 'https://www.freelancer.com/jobs/web-scraping/' }],maxItems: 25});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/freelancer-projects-scraper').call(run_input={'startUrls': [{'url': 'https://www.freelancer.com/jobs/web-scraping/'}],'maxItems': 25,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~freelancer-projects-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"startUrls":[{"url":"https://www.freelancer.com/jobs/web-scraping/"}],"maxItems":25}'
MCP usage
Use this actor from Claude or other MCP-compatible clients through Apify MCP.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/freelancer-projects-scraper
Claude Code setup:
$claude mcp add apify-freelancer-projects "https://mcp.apify.com/?tools=automation-lab/freelancer-projects-scraper"
Claude Desktop JSON configuration:
{"mcpServers": {"apify-freelancer-projects": {"url": "https://mcp.apify.com/?tools=automation-lab/freelancer-projects-scraper"}}}
Example prompts:
- "Scrape 25 Freelancer.com web scraping projects and summarize common budgets."
- "Find Freelancer projects tagged Python and return URLs with low bid counts."
- "Monitor lead generation projects on Freelancer.com and group them by skill."
Data quality notes
Freelancer.com may change labels, page structure, or availability over time.
Some fields are visible only on listing cards.
Some client signals are best-effort and may be empty unless public detail pages expose them.
Always review the original projectUrl before making business decisions.
Limitations
- The actor does not log in.
- The actor does not place bids.
- The actor does not scrape private dashboards.
- The actor does not bypass paywalls or authenticated data.
- Detail-page enrichment is optional and best-effort.
Legality and ethical use
This actor extracts public data from public Freelancer.com pages. Use the results responsibly and comply with Freelancer.com terms, privacy laws, and anti-spam regulations. Do not use the data for abusive automation, spam, credential collection, or attempts to access private account information.
FAQ
Can I scrape private Freelancer.com account data?
No. This actor only targets public Freelancer.com listing and project pages that are visible without logging in.
Can I use this as a Freelancer.com project monitor?
Yes. Use Apify schedules with category URLs and a modest maxItems value to build a recurring project opportunity feed.
Troubleshooting
Why did I get zero results?
Check that your URL is a public Freelancer.com jobs listing or category page.
Try the default https://www.freelancer.com/jobs/ URL with maxItems set to 10.
Why are some client fields empty?
Freelancer listing cards do not always expose client details.
Turn on includeDetails for best-effort enrichment, but expect some fields to remain empty.
Why is a project URL unavailable?
Projects may expire, be removed, or change visibility after appearing in search results. The actor keeps the listing-card data and logs detail-page request issues as warnings.
Related scrapers
Explore related Automation Lab actors on Apify:
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/google-maps-lead-finder
- https://apify.com/automation-lab/linkedin-jobs-scraper
- https://apify.com/automation-lab/upwork-jobs-scraper
Changelog
0.1
Initial Freelancer.com public project listing scraper.
Support
If Freelancer.com changes its public layout or you need a field added, open an Apify issue with your input, run URL, and desired output.
Summary
Freelancer.com Projects Scraper helps teams monitor public freelance project opportunities with structured data instead of manual browsing. Use it for lead generation, freelance opportunity alerts, and marketplace intelligence.