Freelancer Jobs Scraper avatar

Freelancer Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Freelancer Jobs Scraper

Freelancer Jobs Scraper

Scrape public Freelancer.com projects and job listings by keyword, category, budget, bids, skills, and recency for lead generation.

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 project and job listings from search, skill, and category pages.

Use this actor when you need structured freelance lead data from Freelancer.com without manually opening dozens of search pages.

What does Freelancer Jobs Scraper do?

Freelancer Jobs Scraper extracts public project cards from Freelancer.com job listing pages.

It saves one dataset row per project.

Each row can include the project title, URL, description preview, visible budget, parsed budget range, bid count, time-left label, skill tags, source URL, and scrape timestamp.

The actor is designed for public search pages such as:

  • https://www.freelancer.com/jobs/
  • https://www.freelancer.com/jobs/python/
  • https://www.freelancer.com/jobs/web-scraping/
  • Freelancer search URLs generated from keywords

Who is it for?

This actor is useful for teams that monitor freelance project demand.

  • πŸ§‘β€πŸ’Ό Agencies can find new clients looking for specific services.
  • πŸ§‘β€πŸ’» Freelancers can track projects in their niche.
  • πŸ“ˆ Market researchers can measure demand for skills and categories.
  • 🧲 Sales teams can discover public project leads.
  • πŸ§ͺ Product teams can watch emerging service requests.
  • πŸ“Š Analysts can export recurring job-market snapshots.

Why use this actor?

Freelancer.com has many public project listings, but manual monitoring is slow.

This actor turns those pages into a structured dataset.

You can run it on a schedule, export results, connect it to automations, or call it from your own application.

What data can you extract?

The actor extracts the fields visible on public listing cards.

FieldDescription
titleProject title shown on Freelancer
urlAbsolute project URL
projectIdProject URL slug
descriptionListing-card description preview
budgetRaw visible budget or hourly rate text
currencyParsed currency symbol or code
minBudgetParsed lower budget value
maxBudgetParsed upper budget value
budgetTypefixed, hourly, or unknown
averageBidParsed visible average bid when Freelancer shows it
bidCountVisible number of bids
timeLeftTime-left label shown on the card
skillsPublic skill tags
categorySlugCategory segment from project URL
sourceUrlSearch/listing page that produced the row
scrapedAtISO timestamp when the row was saved

How much does it cost to scrape Freelancer jobs?

The actor uses pay-per-event pricing.

You pay a small start fee per run and a per-result fee for each Freelancer project saved.

Platform pricing uses the minimum accepted tier floor: BRONZE is $0.10 per 1,000 saved listings, with lower prices on higher Apify tiers, plus a $0.005 run-start event.

Actual Store pricing is shown on the Apify actor page before you start a run.

How to scrape Freelancer jobs

  1. Open the actor on Apify.
  2. Add one or more Freelancer job URLs, keywords, or category slugs.
  3. Set maxItems to the number of projects you need.
  4. Optionally set budget filters.
  5. Click Start.
  6. Export the dataset as JSON, CSV, Excel, XML, or RSS.

Input options

You can use three discovery modes together.

Start URLs

Use direct Freelancer URLs when you already know the page you want.

Example:

{
"startUrls": [{ "url": "https://www.freelancer.com/jobs/python/" }],
"maxItems": 25
}

Keywords

Use keywords to generate Freelancer job-category URLs. For example, web scraping becomes /jobs/web-scraping/.

Example:

{
"keywords": ["web scraping", "shopify"],
"maxItems": 50
}

Category slugs

Use category slugs from Freelancer URLs.

Example:

{
"categorySlugs": ["python", "web-scraping", "data-entry"],
"maxItems": 100
}

Output example

{
"title": "Python Web Scraping Project",
"url": "https://www.freelancer.com/projects/python/example-project",
"projectId": "example-project",
"description": "I need a Python developer to collect public data...",
"budget": "$250 - $750",
"currency": "$",
"minBudget": 250,
"maxBudget": 750,
"budgetType": "fixed",
"averageBid": null,
"bidCount": 12,
"timeLeft": "6 days left",
"skills": ["Python", "Web Scraping", "Data Mining"],
"categorySlug": "python",
"sourceUrl": "https://www.freelancer.com/jobs/python/",
"scrapedAt": "2026-05-30T08:00:00.000Z"
}

Tips for better results

  • Start with a small maxItems value to verify your query.
  • Use category slugs for cleaner niche-specific results.
  • Use broad keywords if a specific keyword returns too few listings.
  • Leave proxy disabled unless you see blocking.
  • Schedule recurring runs to build a time series of demand.
  • Use budget filters after you confirm the source page has enough results.

Budget filtering

The actor parses visible budget text from listing cards.

For example, $250 - $750 becomes minBudget: 250 and maxBudget: 750.

minBudget keeps projects whose parsed maximum is at least your threshold.

maxBudget keeps projects whose parsed minimum is no more than your threshold.

Budget parsing is best-effort because the source page controls the text format.

Proxy settings

Freelancer public job pages usually work without proxy.

If your environment receives blocks, enable useProxy.

You can optionally set proxyGroups such as SHADER.

Residential proxies are not the default because they cost more.

Scheduling workflows

Run the actor daily or hourly to monitor new project demand.

Common schedules include:

  • Daily agency lead list for one category.
  • Hourly alerts for urgent keywords.
  • Weekly market snapshot for pricing research.
  • Monthly skill-demand export for reports.

Integrations

You can connect the dataset to downstream tools.

  • πŸ“¬ Send new matching projects to Slack or email.
  • 🧾 Export CSV files to Google Sheets.
  • 🧠 Feed listings into lead scoring workflows.
  • πŸ”Ž Monitor demand for a niche over time.
  • 🧩 Combine with CRM enrichment tools.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/freelancer-jobs-scraper').call({
categorySlugs: ['python'],
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 3));

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/freelancer-jobs-scraper').call(run_input={
'keywords': ['web scraping'],
'maxItems': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items[:3])

API usage with cURL

curl "https://api.apify.com/v2/acts/automation-lab~freelancer-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"categorySlugs":["python"],"maxItems":25}'

MCP usage

You can use this actor from Apify MCP tools in Claude Code, Claude Desktop, or other MCP-compatible clients.

Use an MCP URL that includes this actor as an enabled tool:

https://mcp.apify.com/?tools=automation-lab/freelancer-jobs-scraper

Claude Code setup example:

$claude mcp add apify-freelancer-jobs https://mcp.apify.com/?tools=automation-lab/freelancer-jobs-scraper

Claude Desktop JSON configuration example:

{
"mcpServers": {
"apify-freelancer-jobs": {
"url": "https://mcp.apify.com/?tools=automation-lab/freelancer-jobs-scraper"
}
}
}

Example prompts:

  • "Scrape 25 Python projects from Freelancer and summarize the budgets."
  • "Find Freelancer jobs for web scraping and group them by skill tags."
  • "Run the Freelancer Jobs Scraper daily and alert me about projects over $500."

Data quality notes

The actor extracts public listing-card data.

It does not log in.

It does not scrape private messages.

It does not guarantee fields that are not visible in the public HTML.

Descriptions are previews from search result cards, not full private project documents.

Legality

This actor is intended to extract publicly available information from Freelancer.com listing pages.

You are responsible for using the data in compliance with applicable laws, Freelancer.com's terms, privacy rules, and your own data-processing obligations.

Avoid collecting or using personal data in ways that violate privacy, anti-spam, or platform rules.

FAQ

Is this an official Freelancer.com API?

No. This actor extracts public listing-card data from Freelancer.com pages. It is not affiliated with Freelancer.com.

Can it scrape full private project details?

No. The v0.1 actor focuses on public search/listing cards and does not log in or access private pages.

Troubleshooting

Why did I get fewer results than maxItems?

The source may have fewer public listings for your query, or your budget filters may remove many rows.

Try a broader keyword or a category URL.

Why are some budgets null?

Some listing cards may not show a standard budget format.

The actor keeps the raw budget text when visible and uses best-effort parsing for numeric fields.

Should I enable proxy?

Start without proxy.

Enable proxy only if requests are blocked or return empty pages unexpectedly.

Other automation-lab actors may help with adjacent workflows:

  • https://apify.com/automation-lab/indeed-scraper
  • https://apify.com/automation-lab/google-maps-scraper
  • https://apify.com/automation-lab/linkedin-jobs-scraper
  • https://apify.com/automation-lab/upwork-jobs-scraper

Changelog

0.1

Initial version.

  • Public Freelancer job listings.
  • Keyword, category slug, and direct URL inputs.
  • Budget parsing.
  • Skill tags.
  • Optional proxy support.

Support

If a run fails, include the run URL and input when reporting the issue.

Small reproducible examples are the fastest to debug.

Summary

Freelancer Jobs Scraper gives you structured, exportable Freelancer.com public project listings for lead generation, research, and market monitoring.