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
2 days ago
Last modified
Categories
Share
Adecco Scraper — Multi-Country
Extract job listings from Adecco, one of the world's largest staffing agencies, as clean structured JSON — across six European markets from a single actor. Pick a country, search by keyword, and get job titles, locations, salary, employment type, posting dates and full description excerpts.
No login. No cookies. No browser automation. The actor talks to the same global JSON API adecco.com uses for every market it runs on.
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 (Adecco often embeds the end client directly in the title)
- Hiring company (Adecco), plus a best-effort extracted client company name
- Location (city, region, country)
- Language of the posting
- Employment type and contract type
- Salary, when disclosed
- 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 was tested and excluded: adecco.de runs a separate legacy platform (a client-side React app) with no equivalent JSON API, so it can't be covered by this actor without a full separate build. All seven markets above were verified live against real, current listings before shipping.
Why use it
- Pan-European staffing market research — track what roles Adecco is placing across six markets from one tool instead of six.
- Recruitment and sourcing — build a live feed of temp and permanent positions for a role, client industry or region.
- Client intelligence — Adecco frequently names its end client directly in the job title; this actor surfaces that as a separate field.
- Salary benchmarking — a meaningful share of listings disclose pay rate and time scale.
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/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 — each result costs one extra request to fetch its full description, so keep this proportional to how much detail you need.
- Leave the proxy on the default residential setting (the API rate-limits aggressively from a single IP) and click Start.
The actor pages through Adecco's search API (10 results per page) until it reaches your Max Results or runs out of listings, fetches the full description for each selected job, applies your location filter, and writes everything 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 in the local language. Empty = all current listings, most recent first. |
location | string | Optional city/region filter, applied client-side. |
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","clientCompany": "Soudal","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 | Best-effort extracted end client (from the job title's pipe-delimited convention) |
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 | Raw salary information, when disclosed |
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
Each run makes one listing-page request per 10 results plus one detail request per result (to fetch the full description). Both are lightweight JSON API calls, no browser — a 50-result run is around 55 requests total plus proxy traffic. Usage is only charged after a run finishes with status SUCCEEDED — a failed or aborted run doesn't bill for partial results.
Limitations
- Germany is not covered.
adecco.deruns on a different platform with no equivalent JSON API (verified live — the shared endpoint returns HTTP 500 forcountryCode: DE). urlis Adecco's apply link, not a guessed canonical detail page. Adecco's public job-detail URL slugs are inconsistent across markets (checked via sitemap: Italy/Spain use a UUID suffix, France uses a plain numeric ID, Poland uses the internal reference code) and can't be reliably reconstructed from the search API. Using the apply link guarantees everyurlactually works.clientCompanyis best-effort. It's extracted from Adecco's own pipe-delimited title convention when present; roughly half of listings don't name the client and the field is left empty.- Location filtering is client-side. Adecco's API doesn't expose a reliable structured location parameter.
- Fixed page size of 10. Verified live —
pageSize,top,rowsandtakeparameters have no effect on the API.
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.