Freelancer.com Jobs & Projects Scraper

Find public Freelancer.com project leads by keyword, skill, budget, and date. Export fresh freelance jobs with titles, URLs, budgets, skills, and descriptions.

Data fields

FieldTypeDescription
titlestringValue exported as title.
urlstringValue exported as url.
projectIdstring | nullValue exported as projectId.
descriptionstring | nullValue exported as description.
budgetTextstring | nullValue exported as budgetText.
currencystring | nullValue exported as currency.
budgetMinnumber | nullValue exported as budgetMin.
budgetMaxnumber | nullValue exported as budgetMax.

Input preview

startUrlsStart URLs
keywordsKeywords
skillsSkills
maxItemsMaximum projects
includeDetailsFetch project detail pages
sortSort mode

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Scrape public Freelancer.com jobs and projects from RSS, jobs, and project URLs. The Actor returns project titles, URLs, IDs, descriptions, budgets, currencies, skills/categories, published dates, bid hints, and scrape timestamps for lead generation, market research, and freelance project monitoring.

What does this Freelancer.com scraper do?

Freelancer.com Jobs & Projects Scraper helps you monitor public freelance project demand without manually refreshing Freelancer.com search pages. You can collect recent projects, filter by keywords or skills, and export structured records for analysis, sales outreach, recruiting research, or product planning.

The Actor is designed for public project discovery. It does not log in to Freelancer.com, place bids, contact clients, or access private account data. It saves only fields that are visible from public project sources.

Who is it for?

  • Freelancers tracking new projects in their niche.
  • Agencies looking for demand signals and buyer intent.
  • Recruiters and market researchers studying freelance job categories.
  • Sales teams building lead lists around public project needs.
  • Product teams watching trends in outsourced software, design, writing, marketing, and data work.

Examples

Example: recent web scraping projects

Use this example input to collect recent Freelancer.com projects that mention web scraping.

{
  "startUrls": [{ "url": "https://www.freelancer.com/rss.xml" }],
  "keywords": ["web scraping"],
  "maxItems": 20,
  "includeDetails": false,
  "sort": "recent"
}

Example: skill-filtered projects

{
  "startUrls": [{ "url": "https://www.freelancer.com/rss.xml" }],
  "skills": ["python", "data mining"],
  "maxItems": 20
}

Example: budget-filtered research

{
  "startUrls": [{ "url": "https://www.freelancer.com/rss.xml" }],
  "keywords": ["shopify"],
  "minBudget": 100,
  "maxBudget": 2000,
  "maxItems": 20
}

Input recipes

Use startUrls for public Freelancer.com jobs or project sources. If you leave it empty, the Actor uses a default public project source. Use keywords or skills to keep only matching projects. Add minBudget and maxBudget to filter by visible budget values when Freelancer exposes them.

Important input fields:

  • maxItems limits how many project records are saved.
  • keywords matches title, description, skills, and categories.
  • skills matches visible skill/category text.
  • sort can keep recent source order or prioritize keyword relevance.
  • maxRunSeconds sets a safety deadline for long runs.

Output

Each dataset item contains structured Freelancer.com project data:

  • title and url
  • projectId
  • description
  • budgetText, currency, budgetMin, budgetMax, and budgetType
  • skills and categories
  • publishedAt
  • source
  • isFeatured and isGuaranteed
  • bidsCount and averageBidText when visible
  • scrapedAt

Some fields can be empty when Freelancer.com does not expose the value for a project. The raw project URL and title are still saved whenever a matching record is available.

API usage

Run the Actor through the Apify API with the same JSON input used in the Console. After the run succeeds, read the default dataset to download Freelancer.com project records as JSON, CSV, Excel, XML, or RSS.

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  startUrls: [{ url: 'https://www.freelancer.com/rss.xml' }],
  keywords: ['web scraping'],
  maxItems: 20,
};

const run = await client.actor('fetch_cat/freelancer-jobs-projects-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/freelancer-jobs-projects-scraper').call(run_input={
    'startUrls': [{'url': 'https://www.freelancer.com/rss.xml'}],
    'keywords': ['web scraping'],
    'maxItems': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~freelancer-jobs-projects-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://www.freelancer.com/rss.xml"}],"keywords":["web scraping"],"maxItems":20}'

MCP

You can use this Actor from Apify MCP-compatible workflows by passing the same input JSON shown above. This is useful when an AI workflow needs fresh public freelance project data before drafting outreach, market summaries, or opportunity reports.

Add Apify MCP to Claude

claude mcp add apify -- npx -y @apify/actors-mcp-server --actors fetch_cat/freelancer-jobs-projects-scraper

MCP server JSON config

{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--actors",
        "fetch_cat/freelancer-jobs-projects-scraper"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Example prompts showing MCP usage

  • "Run Freelancer.com Jobs & Projects Scraper for web scraping projects and summarize the highest-budget opportunities."
  • "Find recent Freelancer.com projects mentioning Python and data mining, then group them by visible skill category."
  • "Collect 20 Shopify-related Freelancer.com projects and draft a market-demand summary from the dataset."

Data quality notes

Freelancer.com project pages and feeds can vary by category, country, and listing type. Budget parsing is best-effort from visible text. When precise budget fields are not available, keep budgetText in your downstream workflow so a human or model can interpret the original wording.

Public data and use limits

This Actor is intended for public Freelancer.com project data. It does not sign in, bid on projects, message clients, or collect private account data. Use the exported records only in workflows that fit your Freelancer.com terms, privacy, and retention obligations.

Troubleshooting

If a run returns fewer items than expected, broaden your keywords, remove tight budget filters, or increase maxItems. If a public source has no matching projects at that moment, the Actor can finish successfully with an empty dataset.

Common questions

Questions and answers reused from the canonical actor README.

Can I use a project URL directly?

Yes, public Freelancer.com RSS, jobs, and project URLs are accepted.

Why are some budget fields empty?

Freelancer does not expose every field for every project in public feeds; raw budgetText is kept when available.

Does this Actor bid on projects?

No. It only collects public project records.

How do I get support?

Open an issue on the Actor page with your run ID and input.