Adecco Scraper — Multi-Country Staffing Agency Jobs
Pricing
from $1.20 / 1,000 result scrapeds
Adecco Scraper — Multi-Country Staffing Agency Jobs
Scrape job listings from Adecco across Belgium, the Netherlands, France, Spain, Italy and Poland — one of the world's largest staffing agencies. No login or cookies required.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Adecco Scraper (Belgium, Netherlands, France, Spain, Italy, Poland)
Get current Adecco job listings for Belgium (Dutch and French), the Netherlands, France, Spain, Italy and Poland as structured JSON. Pick a country and a keyword, and every row has the title, location, employment type, posting date and a 300 to 400 character description excerpt. In a France run for "comptable", 28 of 50 rows also carried a salary.
A 50-row run takes about 80 seconds and costs about $0.105 ($0.005 start plus $0.002 per row). No login, no cookies, no browser. The actor calls the same JSON API adecco.com uses for every market.
What this actor does
Adecco runs one shared platform at adecco.com with a locale path per market (nl-be, fr-be, nl-nl, fr-fr, es-es, it-it, pl-pl, ...) and a single job-search API behind all of them. This actor calls that API directly for your chosen country and returns one row per job with:
- Job title, plus the title split into its '|' parts
- Hiring company (always Adecco), plus the client company when Adecco publishes it
- Location (city, region, country)
- Language of the posting
- Employment type and contract type
- Salary, when the listing has one (28 of 50 in France, 3 of 30 in Poland, none in the Belgian runs we tested)
- Posting date
- A 300–400 character description excerpt (fetched from Adecco's job-detail endpoint)
- Adecco's own apply link for the job
Supported countries
| Input value | Market |
|---|---|
BE-nl | Belgium (Dutch), default |
BE-fr | Belgium (French) |
NL | Netherlands |
FR | France |
ES | Spain |
IT | Italy |
PL | Poland |
Germany is not available (see Limitations).
Why use it
- Staffing market research. Track which roles Adecco is placing across six markets from one actor.
- Recruitment and sourcing. Build a feed of temp and permanent positions for a role or region.
- Title details. Belgian titles often add a town, shift, hours or sector after a '|'.
titlePartsgives these parts as a list. - Salary benchmarking. French listings disclose salary most often.
How to scrape Adecco data
- Open the actor and pick a Country (e.g.
FRfor France). - Set a Search Query in the local language (e.g.
comptablefor France,magazijnierfor Belgium and the Netherlands,almacenfor Spain). Leave it empty to get the most recent listings for the whole country. - Optionally set a Location filter to narrow results to a city or region.
- Set Max Results (up to 500). Each result needs one extra request for its description, so larger runs take longer.
- Leave the proxy on the default residential setting and click Start.
The actor pages through Adecco's search API (10 results per page), skips listings that do not match your location filter, and stops at Max Results or when the listings run out. It then fetches the description for each selected job and writes the rows to the dataset.
Input
| Field | Type | Description |
|---|---|---|
country | string | Market to search. One of BE-nl, BE-fr, NL, FR, ES, IT, PL. Default: BE-nl. |
searchQuery | string | Keyword, best in the local language. Empty returns all current listings of the country. The prefilled warehouse only matches English-language listings. |
location | string | Optional city or region, matched as text against the listing location. |
maxResults | integer | Maximum number of listings to return (max 500). Default: 50. |
proxyConfiguration | object | Apify proxy settings. Default: residential. |
Example input
{"country": "FR","searchQuery": "comptable","location": "","maxResults": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Each dataset item looks like this:
{"title": "Magazijnier","company": "Adecco","titleParts": ["Magazijnier"],"locationRaw": "TURNHOUT, Antwerpen","locationParsed": { "city": "TURNHOUT", "region": "Antwerpen", "country": "Belgium" },"language": "nl","postedAt": "2026-08-03T15:13:13.101Z","descriptionSnippet": "Wil jij deel uitmaken van het magazijnteam bij SOUDAL? Dan is dit jouw kans! Bij Adecco Turnhout zoeken we enthousiaste magazijniers die graag in een vast ploegensysteem willen werken...","url": "https://coaching.adecco.be/associate/apply?vacancyId=180-32423-&jobTitle=Magazijnier&CampaignID=1&LanguageID=NL","employmentType": "Tijdelijk contract - optie vast","source": "adecco.com/nl-be","scrapedAt": "2026-08-04T17:20:58.580Z","jobId": "180-32423-2","externalReference": "180-32423"}
Output fields
| Field | Type | Description |
|---|---|---|
title | string | Job title, as posted |
company | string | Always Adecco |
clientCompany | string | End client, only when Adecco's job record names it. Usually empty. |
titleParts | array | The title split on the pipe character |
locationRaw | string | Location as shown on the listing |
locationParsed | object | { city, region, country } |
language | string | ISO 639-1 language code of the posting |
postedAt | string | ISO 8601 posting timestamp |
descriptionSnippet | string | 300–400 character plain-text excerpt |
url | string | Adecco's own apply/job link |
employmentType | string | Contract type + employment type |
salaryRaw | string | Salary text from the listing. Empty when the listing has none. |
source | string | Source identifier, e.g. adecco.com/nl-be |
scrapedAt | string | ISO 8601 timestamp of collection |
jobId | string | Unique Adecco job identifier |
externalReference | string | Adecco's internal reference code |
Cost estimate
Pay per event: $0.005 per run start plus $0.002 per row on the Free and Bronze plans ($0.0015 Silver, $0.0012 Gold and above).
| Rows | Cost on Free or Bronze | Run time we measured |
|---|---|---|
| 20 | $0.045 | about 55 seconds |
| 30 | $0.065 | about 90 seconds |
| 50 | $0.105 | about 80 seconds |
| 500 | $1.005 | not measured |
Limitations
- Germany is not covered.
adecco.deruns on a different platform and the shared endpoint returns HTTP 500 forcountryCode: DE. urlis Adecco's apply link. The public job-detail URL formats differ per market and cannot be built from the search API, so the apply link is used.clientCompanyis usually empty. Adecco keeps the end client anonymous. Its job record had no client name on 120 of 120 jobs we checked in Belgium, the Netherlands, France and Italy. The parts of a title are mostly towns, shifts and sectors, so the actor does not guess a client from them.- Location filtering is a text match. A location of
Antwerpenwith the querywarehousein Belgium (Dutch) returned 7 rows, because only 7 matching listings exist. Adecco's API has no location parameter. - Page size is fixed at 10. Larger runs need proportionally more requests.
Related scrapers
Building a European staffing dataset? These sibling actors follow the same clean-JSON approach:
- Randstad Belgium Scraper: the world's largest staffing agency, Belgian market
- VDAB Scraper: Flemish public employment service
- Le Forem Scraper: Walloon public employment service
- Actiris Scraper: Brussels public employment service
- StepStone Scraper: Belgian commercial job board
Disclaimer
This actor collects publicly available data from Adecco for legitimate research and aggregation use. Respect Adecco's terms of service and applicable data protection law when using the output.