Freelancermap IT Projects & Freelancer Finder
Pricing
from $0.49 / 1,000 results
Freelancermap IT Projects & Freelancer Finder
Search freelancermap.com IT freelance projects and freelancer profiles by category, workplace type, contract type, location, and skills, or fetch full detail by URL.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Xyrelith Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Security
Limited permissionsShare
Freelancermap Projects & Freelancer Profiles
Scrape live IT project listings and freelancer profiles from freelancermap.com, one of Europe's largest freelance marketplaces. Search by keyword, skill, category, country, city, contract type and workplace setup, or paste project/profile URLs for a full detail export. Everything runs over plain HTTP with no account, cookies or proxy setup.
Highlights
- Four modes — project search, freelancer search, project detail and freelancer profile detail.
- Multiple queries per run —
searchQueriesaccepts a list and merges the results. - Paste any freelancermap URL — search URLs keep their filters; direct project/profile URLs become detail records.
- Far more than one results page — anonymous freelancermap only serves page 1 per search, so this actor splits each query across the site's own facets (contract type, workplace, category, country, industry, date, language, rates, availability) and de-duplicates the merged pool.
- Full project rows — description, skills, industry, contract and remote share, budget amount/currency, start and duration, workload, status flags, dates, reference number, company link, poster/company block and locations.
- Full freelancer rows — rate and currency, experience, skills, spoken languages, availability, travel preference, certificates, project history, portfolio, recommendations, attachment file names, membership/freshness signals and avatar.
- Omit-empty output — fields the source does not publish are left out instead of being sent as
null. - No credentials, no proxy — freelancermap serves all of this publicly.
Modes
| Mode | What it does |
|---|---|
projectSearch | Search or browse IT projects. |
freelancerSearch | Search or browse freelancer profiles. |
projectDetail | Fetch full records for project URLs or slugs. |
freelancerProfile | Fetch full records for freelancer profile URLs or slugs. |
Project output fields
Search rows use recordType: "projectListing"; detail rows use recordType: "project".
projectId, slug, title, company, companyUrl, companyVerified (only when true), city, country, locations[], additionalLocations[], states[], contractType, remotePercent, remoteType, industry, skills[], budget, budgetAmount, budgetCurrency, startText, startYear, startMonth, startAvailability, duration, durationText, durationMonths, extensionPossible, workloadPercent, isEndClient, isEndcustomerProject, isTopProject, isActive, applicationsPaused, isArchived, updateCount, description, created, updated, postedLabel, expires, referenceNumber, posterName, posterId, posterCompany, posterCity, posterZip, posterCountry, posterWebsite, posterAccountType, posterMembership, posterMemberSince, searchQuery, sourceUrl, scrapedAt.
remotePercentis the published remote share (0, 20, 40, 60, 80 or 100);remoteTypeisOn-site,HybridorRemote.contractTypeisFreelance,PermanentorAgency contract.budgetkeeps the source object for compatibility;budgetAmountis the amount in whole currency units andbudgetCurrencyis the ISO code.startAvailabilityandpostedLabelare compatibility aliases (startTextand the posting date).durationis the published duration text, as before.- Dates are ISO 8601.
poster*fields describe the recruiter/company account that published the listing, never a private email or phone number.
Freelancer output fields
Search rows use recordType: "freelancerListing"; detail rows use recordType: "freelancer".
profileId, slug, name, headline, about, city, country, postalCode, rate, rateCurrency, experienceYears, freelancerSinceYear, graduation, skills[], skillsCount, skillsSummary, languages[], availability, availabilityPercent, unavailableUntil, profileCompletionPercent, isVerified, isActive, isAnonymousProfile, membershipTier, travelAvailability, certificates[], projectHistory[], portfolioItems[], reviews[], avatarUrl, websiteUrl, youtubeUrl, attachmentNames[], subCategories[], memberSince, profileUpdatedAt, lastLoginAt, hasAttachments, hasPortfolio, hasCertifications, hasRatings, permanentJobs, employeeLeasingJobs, searchQuery, sourceUrl, scrapedAt.
languages[]entries look like{"language": "English", "code": "en", "level": 3}(level 1-4).rateis the figure the freelancer published; freelancermap does not expose whether it is hourly or daily.reviews[]contains only public recommendations (body,position,fullName,company,url). Reviewer phone numbers are never exported.attachmentNames[]lists uploaded CV/portfolio file names; the download links themselves require a freelancermap login, so they are not included.availabilityPercentis 0, 20, 40, 60, 80 or 100 andavailabilityisNot available,Partially availableorAvailable.
Input reference
| Field | Type | Default | Applies to |
|---|---|---|---|
mode | select | projectSearch | all |
searchQueries | string list | – | searches |
startUrls | URL list | – | searches (search URLs or direct detail URLs) |
category | select | – | searches |
country | select (165 countries) | – | searches |
city | text | – | searches |
radiusKm | integer 1-500 | – | searches |
industry | select | – | project search |
remoteType | onsite / hybrid / remote | – | project search |
contractType | contracting / permanent_position / employee_leasing | – | project search |
sortBy | newest / relevant / recentlyUpdated / lowestRate | newest | searches |
postedWithinDays | integer 1-365 | – | project search |
afterProjectId | integer | – | project search |
endClientOnly | boolean | false | project search |
includeDachRegion | boolean | false | searches |
technologySlug | text | – | searches |
minDurationMonths | integer 0-120 | – | project search |
language | select (43 languages) | – | freelancer search |
maxHourlyRate | integer 1-2000 | – | freelancer search |
maxDailyRate | integer 1-20000 | – | freelancer search |
updatedWithinDays | integer 1-365 | – | freelancer search |
minAvailabilityPercent | integer 1-100 | – | freelancer search |
hasAttachmentsOnly | boolean | false | freelancer search |
openToPermanentJobs | boolean | false | freelancer search |
openToAgencyContract | boolean | false | freelancer search |
excludeUnavailable | boolean | false | freelancer search |
recentlyActiveOnly | boolean | false | freelancer search |
requireDisplayedName | boolean | false | freelancer search |
verifiedOnly | boolean | false | freelancer search/profile |
includeDetails | boolean | true | searches |
projectSlugsOrUrls | string list | – | project detail |
profileSlugsOrUrls | string list | – | freelancer profile |
minExperienceYears | integer 0-60 | – | freelancer profile |
availableOnly | boolean | false | freelancer profile |
maxItems | integer 1-1000 | 50 | all |
The prefill (one Python project, no detail enrichment) is the cheapest possible run and produces a result on the first request. Turn includeDetails off for fast, low-cost bulk listings; turn it on when you need descriptions, budgets and rates on every row.
Examples
Search multiple skills and enrich the results:
{"mode": "projectSearch","searchQueries": ["python", "rust", "golang"],"country": "1","includeDachRegion": true,"includeDetails": true,"maxItems": 100}
Find available freelancers in Germany under a rate cap:
{"mode": "freelancerSearch","searchQueries": ["sap"],"country": "1","language": "5","maxHourlyRate": 90,"minAvailabilityPercent": 100,"maxItems": 50}
Re-use a search you built on freelancermap:
{"mode": "projectSearch","startUrls": [{"url": "https://www.freelancermap.com/projects/python?projectContractTypes[]=contracting&remoteInPercent[]=100"}],"maxItems": 80}
Fetch exact projects and profiles:
{"mode": "projectDetail","projectSlugsOrUrls": ["https://www.freelancermap.com/project/data-scientist-3066110","sc-cleared-devops-engineer-aws-azure-contract-inside-ir35-6-months-hybrid-london"]}
{"mode": "freelancerProfile","profileSlugsOrUrls": ["https://www.freelancermap.com/profile/jiri-lamos"],"minExperienceYears": 5}
Incremental daily run:
{"mode": "projectSearch","searchQueries": ["java"],"includeDachRegion": true,"afterProjectId": 3065000,"includeDetails": false,"maxItems": 200}
How result coverage works
freelancermap shows anonymous visitors only the first results page per search (about 22 projects / 18 profiles), and the page number itself is ignored past page 1. To go deeper, this actor asks the same JSON endpoint for several facet slices of the query — different sort orders, contract types, workplace buckets, categories, countries, industries, posting dates, languages, rate caps and availability thresholds — then merges the slices and removes duplicates.
That is why a broad query can return hundreds of rows without an account. When the source genuinely runs out of matching records, the run stops with the real total; it never pads the dataset.
Use cases
- Recruiters and staffing agencies monitoring fresh freelance IT demand.
- Sourcing shortlists of available freelancers by skill, language and rate.
- Rate and skill benchmarking across European IT markets.
- Lead generation from projects that disclose the hiring company and poster.
Data source and limitations
freelancermap.com is a public marketplace. This actor is independent and not affiliated with freelancermap.
- Project budgets are published on a minority of listings; workload and some start dates are also optional. Missing fields are omitted.
- Placeholder locations such as
Not Specifiedare omitted rather than emitted as a city.city+radiusKmkeeps every result inside the radius even when the city name differs. - Freelancer rates are published by roughly 85 % of profiles and the unit (hourly or daily) is not exposed by the source. The source offers one lower-rate ordering, exposed as
lowestRate. - Project category is not part of the public project payload; use the
categorysearch filter instead of expecting a category field on each row. - Freelancer email, phone and attachment downloads require a paid freelancermap login and are deliberately not scraped.
- The
.de,.atand.chsites expose a regional slice of the same inventory; this actor queries.comwithincludeDachRegionso you get the full pool.
FAQ
Do I need a freelancermap account, cookies or a proxy? No. All four modes use public endpoints and pages. There is no login, cookie, API key or proxy option.
How many records can one search return?
Broad queries commonly return several hundred unique projects or profiles; narrow ones return only what the source has. maxItems is the hard cap (up to 1,000 per run). The actor stops honestly when the source is exhausted.
Why is description missing on some rows?
Search rows are enriched from the detail page when includeDetails is on. If a detail page is temporarily unavailable, the listing row is still emitted without the extra fields rather than failing the run.
Why do some freelancer profiles have no name?
Freelancers can hide their name from anonymous visitors; those rows omit name instead of writing a placeholder. Enable requireDisplayedName to skip them, or leave it off to keep the row with its headline and skills.
Is the freelancer rate hourly or daily?
The profile publishes one figure, and freelancermap does not expose its unit. The actor reports the figure in rate with rateCurrency and leaves the interpretation to you.
Why is budgetAmount absent on most projects?
Most posters do not disclose a budget publicly. When they do, both budgetAmount and budgetCurrency are filled alongside the source budget object.
What does includeDachRegion change?
freelancermap hides most Germany/Austria/Switzerland listings from its default international view. Enable it to search the full DACH pool, which is usually the largest part of the marketplace.
How does afterProjectId help scheduled runs?
Project IDs increase over time. Store the highest ID from one run and pass it as afterProjectId next time to keep only newer projects. IDs are sequential but not a guaranteed timestamp, so treat it as an incremental filter rather than an exact date boundary.
Can I paste a search URL from the site?
Yes. Put it in startUrls; the actor copies the supported query parameters. A URL pointing directly at a project or profile is emitted as a detail record.
How fresh are profile activity fields?
profileUpdatedAt and lastLoginAt come from the public profile payload. They are signals published by freelancermap, not a guarantee that the freelancer is currently taking work.