Freelancer.com Project Listings Scraper avatar

Freelancer.com Project Listings Scraper

Pricing

Pay per event

Go to Apify Store
Freelancer.com Project Listings Scraper

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

Stas Persiianenko

Maintained by Community

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

FieldDescription
titleProject title shown on Freelancer.com
urlAbsolute project URL
descriptionProject summary text from the listing card
skillsSkills and category tags
budgetTextBudget or average-bid text as displayed
budgetAmountParsed numeric budget / bid amount when available
currencyCurrency symbol/code when detected
bidCountNumber of bids shown on the listing
averageBidTextAverage-bid display text
timeLeftTime remaining label
paymentVerifiedWhether payment verification is visible
sourceUrlResult page that produced the listing
sourceQueryQuery used to generate the source URL, if any
pageNumberPagination page number
scrapedAtISO 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

  1. Open the actor on Apify.
  2. Add one or more Freelancer.com jobs URLs such as https://www.freelancer.com/jobs/python/.
  3. Optionally add search queries such as web scraping or data entry.
  4. Set maxItems and maxPagesPerSource.
  5. Run the actor.
  6. 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 ApifyClient
client = 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.

Explore related Automation Lab actors:

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.