Freelancermap IT Freelance Projects Scraper
Pricing
from $0.56 / 1,000 results
Freelancermap IT Freelance Projects Scraper
Scrapes IT freelance/contract project listings from Freelancermap — a European freelance project board. Returns full job description, company, contract type, remote %, budget, duration and location for any search you paste in.
Pricing
from $0.56 / 1,000 results
Rating
0.0
(0)
Developer
Ibnu Adzim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Freelancermap IT Freelance Projects Scraper (Europe)
Scrapes IT freelance/contract project listings from Freelancermap — a European freelance project board.
Public data only. No login, no cookies, no browser. No bot challenge of
any kind — fully open robots.txt, no WAF observed on any surface
touched during recon.
The one thing you need to know before using this
Each search URL returns one page (~22 projects) — there is no working
pagination. Freelancermap's own search page believes it has dozens of
pages, but every way of asking for page 2 (the exact link the site itself
generates, alternate parameter names, XHR-style headers) returned page 1's
content again — a real, verified constraint (see CRAWLING_METHOD.md), not
a missing feature. To get broader coverage, pass multiple search URLs
with different keywords, countries or categories rather than expecting one
URL to page through everything.
What you get
Two record types share one dataset, told apart by recordType.
PROJECT — one row per listing
Rows are the upstream's own result objects, almost verbatim — title, a
full HTML description (not an excerpt — no detail page needed at
all), company/poster (contact info), country, city, contractType,
projectContractType.remoteInPercent, budget, industry,
beginningText/durationText, created/updated/expires timestamps,
and a computed projectUrl. Two internal ML-only fields (embedding, a
~500-float recommendation vector, and matching, relevance-scoring
metadata) are dropped — everything else is passed through as-is.
SEARCH_SUMMARY — one row per search URL
How many projects came back, plus (informational only)
upstreamBelievedTotalPages — what the site's own pagination widget
claims, even though this actor cannot reach past page 1 (see above).
ERROR — one row per input that could not be processed
Every input maps to at least one row, so nothing disappears silently.
Input
| Field | What it does |
|---|---|
| Search URLs | full freelancermap.com/projects... URLs, copied from the site — one fetch each |
| Max concurrent requests | absorbs latency variance — not the throttle |
| Min interval between requests | the actual speed control — 0.5s default |
Example
{"searchUrls": ["https://www.freelancermap.com/projects?query=python","https://www.freelancermap.com/projects?remoteInPercent=100","https://www.freelancermap.com/projects/web-and-software-development"]}
Notes on reliability
- Query filters are genuinely applied server-side — verified with
query=,countries=,remoteInPercent=, and a gibberish query (honest zero results, not a silent fallback to the unfiltered baseline). - No WAF, no rate limit observed. Residential proxy is still the cloud default, as elsewhere in this portfolio.
Known limits
- No pagination past page 1 of a given search URL (see above) — this is the main thing to plan around when using this actor.
- No detail-page enrichment offered or needed — the search row already carries the full HTML description and every field the detail page would.