Freelancer Jobs Scraper avatar

Freelancer Jobs Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Freelancer Jobs Scraper

Freelancer Jobs Scraper

Extract freelance project listings and contract opportunities from Freelancer.com marketplace.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Jobs Scraper

Jobs Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Security

Limited permissions

Share

What does Freelancer Jobs Scraper do?

Freelancer Jobs Scraper reads active public freelance projects from Freelancer.com through its native project API. It requests full descriptions and skill details, preserves native IDs and original currencies, and never turns page navigation, metadata, previews or diagnostic messages into project records.

These are fixed-price or hourly freelance projects, not salaried employment vacancies. Source budgets and average bids are not salaries. Unknown employer details and locations stay absent instead of becoming a placeholder client or the currency's country.

Why use this Freelancer project API Actor?

Use source-backed records for project monitoring, skill/category research and marketplace analysis. Apify provides scheduling, API access, integrations, monitoring and JSON/CSV/Excel exports. A full-description search response often supplies all needed data in one HTTP request. Only missing full descriptions need additional native detail lookups, with bounded concurrency.

The tested public API route accepted anonymous read-only requests. This Actor does not use an account session, paid vendor key, browser, proxy, fingerprint change or CAPTCHA solver. Public API availability may change; denial stops the run rather than switching sources or fabricating data.

What data can it extract?

FieldTypeMeaning
recordId, projectIdstring / integerOriginal native project identity
title, descriptionstringNative title and full project body as inert source text
descriptionPreviewstringSeparate native short preview, never called a full description
skills, skillDetailsarraysNative skill names, IDs, categories and source slugs
budget, currencyobjectsOriginal-currency budget and currency metadata
bidCount, bidAveragenumbersPublic source bid aggregates, not individual bidder identities
bidPeriodDaysintegerNative bid-window duration, not invented days remaining
projectType, projectStatusstringsNative fixed/hourly type and active status
isLocal, locationDetailsboolean / objectExplicit source project-location information
datePosted, updatedAtstringsISO dates from native source timestamps
projectUrl, projectApiUrlstringsIndividual project and official API identity URLs
rawDataobjectSelected original public source fields for provenance

There are 38 declared output fields. Zero counts and explicit false flags are retained; nulls, blank strings and empty containers are omitted. Text is untrusted data and must never be executed or inserted into a page without escaping.

How to get real Freelancer project output

  1. Open the Input tab and keep maxItems at ten for an initial check.
  2. Use the default python query, choose exact skill names or IDs, or supply an official source URL.
  3. Optionally choose fixed/hourly type, a native currency and budget intersection, or explicit project-location text.
  4. Run and inspect Source metadata together with the actual dataset.
  5. Download the dataset in various formats such as JSON, HTML, CSV, or Excel.

For local verification, use apify run. Local storage is not automatically uploaded to Apify Console. Deployment and a separate successful platform run are required to establish production behavior.

Inputs, source selection and filters

See the Input tab for full configuration options. Defaults are ten records, five search pages, twenty source items per page, up to three parallel missing-description lookups, and a 25-second request timeout. Empty startUrl/startUrls means a native active-project API search. A nonempty startUrl overrides startUrls and projectIds; projectIds are used only when no source URL is supplied.

Official /jobs/ search and /jobs/skill-slug/ URLs are converted to API selectors, not crawled as HTML pages. Exact project URLs resolve through the source SEO-path lookup; numeric project IDs use the native detail endpoint. Native source URL query/category selection takes precedence over the general search query. Direct projects are not re-filtered by a default keyword. Arbitrary hosts, account/profile routes, contests, credential-bearing URLs and unsupported URL filters are rejected explicitly.

Exact skillNames resolve against the official skill catalog. skillIds avoid ambiguity. Skill filters are any-of; categoryIds match the source categories attached to a project's skills. Country/language filters are passed to the provider and are not independent proof of project geography. Location text matches explicit project location, not employer location, proxy region or currency country.

Budget filters require currencyCode to prevent comparing unlike currencies. A project must have a native range intersecting the requested minimum/maximum interval. No USD conversion is performed. includeBudget false redacts monetary fields after filtering, including raw monetary fields. If modern and legacy monetary flags conflict, either explicit false keeps monetary values out, including when a CLI prefill inserted true. includeEmployerDetails requests basic owner identity in the same API response only; the source can withhold it.

The global maxPages cap bounds search requests. Duplicate IDs are removed, and scanning stops at maxItems or source/page exhaustion. Fewer genuine matches produce fewer records, never padding.

Output examples

These two simplified anonymized contract examples are illustrative, not live-run evidence:

[
{
"recordId": "12345678",
"projectId": 12345678,
"title": "Example API development project",
"projectType": "fixed",
"budget": {"minimum": 100, "maximum": 300},
"currency": {"code": "USD"},
"extractionStatus": "full_project_api"
},
{
"recordId": "12345679",
"projectId": 12345679,
"title": "Example design project",
"projectType": "hourly",
"budget": {"minimum": 15, "maximum": 25},
"currency": {"code": "EUR"},
"extractionStatus": "full_project_api"
}
]

RUN_SUMMARY contains actual counts and status. SOURCE_METADATA records exact official request URLs, status codes, timings, scan counts and skipped records. ERROR_DIAGNOSTIC is separate from the dataset. Invalid input, a denied source, unavailable full descriptions or zero matching records cannot be presented as a successful diagnostic-only data run.

Cost, privacy, limitations and support

No paid vendor key or proxy is used by this implementation, but Apify platform usage and any configured Store event charges still apply. Check the current Pricing tab; this README does not promise free platform execution. Keep limits small to reduce unnecessary requests.

Only active, nondeleted, public projects with a full source description are emitted. Native descriptions can themselves be short or incomplete, and a public active flag is not a guarantee of project quality or continuing availability. No application, bid, hiring transaction or account change is made. The native bid period does not reliably establish an expiry deadline, so days-left and delivery-deadline fields are not invented.

This project Actor does not fetch freelancer profiles, private contact details, payment information, account balances or individual bids. Public source descriptions can still contain personal information; use them only for a legitimate purpose and follow applicable privacy rules and source terms.

Legacy keyword, fixed/hourly jobType, includeSalary and includeCompanyDetails aliases are supported where meaningful. Currency budgets are still not salaries. Salaried seniority, remote eligibility, relative employment-date filters and unsupported sort values are rejected rather than guessed. Old browser/proxy/country-routing options are not used by the API-only path. Legacy browser helpers may remain in the local source tree but are not imported by the new entry point.

For source API structure, see the official Freelancer SDK. Report sanitized errors and native IDs through the Issues tab; never share credentials. Use the API tab for programmatic integration and validate exported real records before downstream use.