Freelancer.nl Opdrachten Scraper avatar

Freelancer.nl Opdrachten Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Freelancer.nl Opdrachten Scraper

Freelancer.nl Opdrachten Scraper

Scrape freelance and ZZP project listings from Freelancer.nl — the Netherlands' largest freelance platform. Filter by keyword, location, sector and hourly rate. Full descriptions in HTML, text and Markdown. Repost detection & daysOld filtering. No API key required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Freelancer.nl Scraper

Freelancer.nl Scraper

Scrape freelance assignments from freelancer.nl — the Netherlands' dedicated marketplace for freelance and ZZP projects with 750+ active listings across all disciplines. Filter by keyword, city, and budget type. No API key required. Fast, lightweight and cost-efficient.


Why this scraper?

⚡ Low memory footprint — 256 MB

This scraper runs at 256 MB memory instead of the 1024+ MB typically required by heavier scraping setups. Lower memory means lower compute cost per run — the difference adds up significantly at scale.

🔄 Cross-run repost detection

Clients frequently repost the same assignment to keep it visible. Over a 90-day window, this scraper tracks every assignment it has seen and tags returning ones with isRepost: true, originalPublishDate, and originalUrl. Use skipReposts: true to exclude them entirely from your dataset, or keep them to monitor repricing and demand signals.

📄 Three description formats

Fetching the full description in three formats eliminates preprocessing work in your pipeline:

FieldFormatUse case
descriptionHTMLDirect rendering, CMS import
descriptionTextPlain textSearch indexing, keyword extraction
descriptionMarkdownMarkdownRAG pipelines, LLM agents, Pinecone, Weaviate

💰 Structured budget data

Budget ranges are extracted and normalized into machine-readable fields — no regex parsing required in your workflow:

FieldExample
budget"€40 — €60"
budgetMin40
budgetMax60
budgetType"Per Uur" / "Vaste Prijs" / "In overleg"

Both hourly and fixed-price formats are handled. Assignments without a specified budget return "In overleg" with null for min/max.

⏱️ Freshness filter with daysOld

Set daysOld: 7 to only retrieve assignments posted in the last week. The exact publishDateISO field (ISO 8601) is pulled from the detail page for reliable date filtering — relative timestamps like "3 uur geleden" are resolved to an absolute date.

🔗 Direct URL targeting with startUrls

Bypass the search entirely and point the scraper at any freelancer.nl category page, city page, or filtered search URL. Useful for monitoring a specific niche or scheduling targeted runs per discipline.


Input parameters

ParameterTypeDescriptionDefault
searchQuerystringKeyword to search, e.g. "developer" or "marketing"""
citystringFilter by city, e.g. "Amsterdam". Used when no searchQuery is set.""
budgetTypestring"hourly", "fixed", or "tbd" (In overleg). Leave empty for all.""
budgetMinintegerMinimum budget in euros. Applied when budgetType is "hourly" or "fixed".
budgetMaxintegerMaximum budget in euros. Applied when budgetType is "hourly" or "fixed".
startUrlsarrayList of specific freelancer.nl URLs to scrape directly.[]
maxResultsintegerMaximum number of assignments to return. Controls your spend.100
fetchDetailsbooleanFetch each detail page for full description, exact date, duration, and category.true
skipRepostsbooleanSkip assignments already seen in a previous run.false
daysOldintegerOnly return assignments posted within this many days.

Output schema

{
"id": "frnl5cc20736",
"url": "https://freelancer.nl/opdrachten/houten/hr-administratie-finance-secretarieel/freelance-hr-administratieve-support-bij-tech-bedrijf-in-houten-12-uur-pw-5cc20736",
"title": "Freelance HR & Administratieve Support bij Tech-bedrijf in Houten (12 uur p/w)",
"location": "Houten",
"isRemote": false,
"isHybrid": false,
"budget": "€40 — €60",
"budgetMin": 40,
"budgetMax": 60,
"budgetType": "Per Uur",
"skills": ["HR administratie", "finance", "secretarieel"],
"reactionsCount": 3,
"viewsCount": null,
"summary": "Freelance HR & Administratieve Support bij Tech-bedrijf in Houten...",
"category": "Administratie & Support",
"status": "Open",
"startDate": "Per direct",
"duration": "3 Maanden",
"publishDate": "23-03-2026",
"publishDateISO": "2026-03-23",
"description": "<p>Freelance HR &amp; Administratieve Support...</p>",
"descriptionText": "Freelance HR & Administratieve Support bij Tech-bedrijf in Houten...",
"descriptionMarkdown": "Freelance HR & Administratieve Support bij Tech-bedrijf in Houten...",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null,
"contentHash": "a3f4c9e1b2d07c45",
"source": "freelancer.nl",
"scrapedAt": "2026-03-27T14:30:00.000Z"
}

Examples

All development & IT assignments:

{ "searchQuery": "developer", "maxResults": 50, "fetchDetails": true }

Hourly-rate assignments in Amsterdam, last 7 days:

{
"searchQuery": "marketing",
"city": "Amsterdam",
"budgetType": "hourly",
"budgetMin": 60,
"daysOld": 7,
"maxResults": 100
}

Scheduled monitoring run — new assignments only:

{
"maxResults": 500,
"skipReposts": true,
"daysOld": 1,
"fetchDetails": true
}

Scrape a specific category page directly:

{
"startUrls": [
{ "url": "https://freelancer.nl/opdrachten/development-en-it" },
{ "url": "https://freelancer.nl/opdrachten/marketing-en-communicatie" }
],
"maxResults": 200,
"fetchDetails": true
}

💰 Pricing

$1.00 per 1,000 results — you only pay for successfully retrieved assignments. Failed retries and skipped reposts are never charged.

ResultsCost
100~$0.10
1,000~$1
10,000~$10
100,000~$100

Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the Max results cap in the input to control your spend exactly.


Performance

RunTime
100 assignments (list only, no detail)~15s
100 assignments (with detail pages)~2 min
1,000 assignments (with detail pages)~18 min

Performance is measured with fetchDetails: true on Apify's shared infrastructure. List-only runs (fetchDetails: false) are approximately 8x faster.


Known limitations

  • Apply URL: Freelancer.nl requires a registered account to respond to assignments. applyUrl is not exposed in the public HTML — the call-to-action links directly to the detail page.
  • Budget: Not all clients specify a budget — budgetMin and budgetMax are null when the budget is listed as "In overleg".
  • View count: The viewsCount field is only populated when fetchDetails: true is set.
  • Platform scale: Freelancer.nl is a niche Dutch platform with ~750 active listings, significantly smaller than generalist job boards. The full dataset fits in a single run.

Technical details

  • Source: freelancer.nl — Dutch freelance assignment marketplace
  • Memory: 256 MB
  • Repost storage: KeyValueStore freelancer-nl-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request

Additional services

Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.


Built by unfenced-group · Issues? Open a ticket or send a message.