ProUnity Scraper — Belgian Freelance Missions & Consulting Jobs
Pricing
Pay per usage
ProUnity Scraper — Belgian Freelance Missions & Consulting Jobs
Scrape freelance missions, consulting assignments, and job listings from ProUnity (pro-unity.com) — Belgium's largest freelance talent marketplace with 3,200+ missions per year.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
ProUnity Scraper
Scrape freelance missions, consulting assignments, and IT job listings from ProUnity (pro-unity.com) -- Belgium's largest freelance talent marketplace connecting 3,200+ specialists with major companies across the Benelux region every year.
How to scrape ProUnity data
ProUnity is a Vendor Management System (VMS) and freelance marketplace used by large Belgian enterprises and government agencies to source external IT consultants, business analysts, project managers, and other specialists. Missions are typically 3-12 month consulting engagements at organizations like SMALS, BNP Paribas Fortis, Belgian federal services, and major telcos.
This actor extracts structured mission data from publicly available ProUnity job listings. It discovers missions through two channels:
- Sitemap crawling -- parses the XML sitemaps to discover all published mission URLs (5,000+ historical listings across multiple sitemap files)
- Listing page -- scrapes the
/freelance-missions/page for the ~45 most recently posted missions
Each mission detail page is then scraped for title, company, location, duration, dates, skills with proficiency levels, language requirements, and full description text.
Use cases
- Freelance consultants tracking new missions matching their skill set
- Recruitment agencies monitoring the Belgian consulting market
- HR analytics benchmarking skill demand and contract durations
- Market researchers analyzing Benelux IT staffing trends
- Competitors tracking which companies are hiring and for what roles
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | String | No | "" | Filter missions by keyword (e.g., "Java developer", "SAP", "project manager"). Matches against title, company, description, and skills. Leave empty to scrape all. |
maxResults | Integer | No | 100 | Maximum number of mission listings to return. The site has 1,000+ active missions at any time. |
language | String | No | "en" | Preferred site language (en, fr, nl). Note: mission content language depends on the posting itself. |
proxyConfiguration | Object | No | Auto | Proxy settings. Belgian residential proxies recommended for reliability. |
Example input
{"searchQuery": "Java","maxResults": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "BE"}}
Output
Each result contains complete mission details:
| Field | Type | Example |
|---|---|---|
title | String | "Fullstack Java developper Senior" |
referenceId | String | "K09931" or UUID |
company | String | "SMALS" |
location | String | "Brussels" |
country | String | "Belgium" |
duration | String | "6 months" |
startDate | String | "2026-06-10" |
endDate | String | "2026-12-31" |
description | String | Full mission description text |
skills | Array | [{"name": "Java", "level": "Expert"}, {"name": "Spring Boot", "level": "Confirmed"}] |
languages | Array | [{"name": "French", "level": "Active knowledge"}, {"name": "Dutch", "level": "Active knowledge"}] |
domain | String | "IT" or "Finance" |
experienceLevel | String | "Senior" |
remoteWork | String | "Hybrid", "Remote", or "On-site" |
url | String | Full mission detail page URL |
scrapedAt | String | ISO 8601 timestamp |
Example output
{"title": "Fullstack Java developper Senior","referenceId": "K09931","company": "SMALS","location": "Brussels","country": "Belgium","duration": "6 months","startDate": "2026-06-10","endDate": "2026-12-31","description": "We are looking for a senior Java developer to modernize legacy systems within a complex technological environment combining historical applications and modern components...","skills": [{ "name": "Java", "level": "Expert" },{ "name": "Spring Boot", "level": "Expert" },{ "name": "Angular", "level": "Confirmed" },{ "name": "Docker", "level": "Confirmed" },{ "name": "REST APIs", "level": "Expert" }],"languages": [{ "name": "French", "level": "Active knowledge" },{ "name": "Dutch", "level": "Active knowledge" },{ "name": "English", "level": "Active knowledge" }],"domain": "IT","experienceLevel": "Senior","remoteWork": "Hybrid","url": "https://www.pro-unity.com/job/1d09b541-e62b-496f-a221-b7119fd34737/","scrapedAt": "2026-06-01T14:30:00.000Z"}
How it works
- Discovery phase -- The actor reads the ProUnity XML sitemap index to find all job sitemap files, plus scrapes the listing page for the latest missions
- Deduplication -- URLs are deduplicated so each mission is only scraped once
- Detail scraping -- Each mission detail page is fetched and parsed using CheerioCrawler (fast HTTP-only, no browser needed)
- Filtering -- If a
searchQueryis provided, missions are matched against title, company, description, location, and skills - Validation -- Output is validated for required fields before the actor exits
Cost estimate
This actor uses CheerioCrawler (HTTP-only, no browser), making it very efficient:
- ~50 results per $0.10 of Apify compute credits
- A full run of 100 missions typically takes 1-2 minutes
- Sitemap discovery adds minimal overhead (a few XML requests)
Tips
- Start with a small run (
maxResults: 20) to verify the output matches your needs - Use search queries to narrow results -- the filter matches against title, company, description, and skills
- Belgian residential proxies work best since ProUnity is a Belgian platform
- Schedule regular runs to track new missions as they are posted (ProUnity adds missions daily)
- Skills data is structured -- each skill includes a proficiency level (Expert, Advanced, Confirmed, Junior), making it easy to filter programmatically
Limitations
- No rate/salary data -- ProUnity does not publicly display day rates or salary information on mission pages
- Company names may not always be extracted if the posting uses a logo instead of text
- Historical missions in the sitemap may have expired or been filled; the actor scrapes whatever is publicly available
- WordPress-based -- the site uses a WordPress theme (Avada) with custom job post types; structural changes may require scraper updates
- Language mix -- mission descriptions are posted in the language chosen by the client (French, Dutch, or English), regardless of the
languageinput setting