Skip to content

Spinweb.nl Interim Requests & Professionals Scraper

Try for free

Export interim requests (interim-aanvragen) and available professionals from spinweb.nl, the Dutch secondment platform. Get title, region, hours, closing date, posting date and source per request, and role, agency, region, contact and phone per professional. No login needed.

🤝 Spinweb.nl Interim Requests & Professionals Scraper

Export the public interim requests (interim-aanvragen) and the available professionals from spinweb.nl, the Dutch platform where secondment agencies (detacheerders), brokers and end clients meet. One run reads the full lists in seconds: title, region, hours per week, closing date, posting date and source for every request, and role, agency, region, contact person and phone for every professional. No login needed. $1.00 per 1,000 rows, platform usage included.

✨ Why use Spinweb.nl Interim Requests & Professionals Scraper?

  • ⚡ Fast: both full lists (1,286 requests and 236 professionals on 2026-11-13) in one run of about 20 seconds.
  • 📅 Real closing dates: "Sluit over 6 dagen" and "Sluit vandaag om 17:00 uur" become a date, a time and a days-left number you can sort on.
  • 🔎 The site's own search and filters: search terms, branch (Branche), zzp allowed, plus posted-within and skip-closed filters.
  • 🔁 Made for monitoring: a stable requestKey per request and a posted-within filter, so a daily schedule gives you just the new requests.
  • 📇 Agency contacts: the agency, contact person and phone number the professionals list shows.
  • 🔓 No account: only the pages spinweb.nl shows to every visitor.

🎯 Use cases

  • 📈 Secondment and interim agencies: see every new interim request each morning and react before it closes.
  • 🧑‍💼 Freelancers (zzp): follow the requests that are open to self-employed professionals in your field.
  • 🤝 Partner search: find agencies that offer professionals with a given skill, with a contact person and phone.
  • 📊 Market research: count requests per region, branch, hours or source type over time.

🚀 How to use

  1. Keep Interim requests and/or Available professionals switched on.
  2. Optional: add Search terms (e.g. projectleider, java), pick a Branch, or tick Only requests open to freelancers (zzp) or Skip closed requests.
  3. Set Maximum rows per list (0 = everything).
  4. Run it, then download the rows as JSON, CSV or Excel, or schedule the run and send new rows to Slack, email or a webhook.

📥 Input

FieldWhat it does
includeRequestsExport the interim requests (default on)
includeProfessionalsExport the available professionals (default on)
searchTermsJob titles, skills or keywords; each one is searched with the site's search on both lists
maxResultsRows per list and per search term or link; 0 = everything
startUrlsspinweb.nl list links (/interim-aanvragen or /professionals, with the site's filters in the link). With links and no search terms, only the links are read, not the full lists
categoryBranch filter for requests (ICT, Government, Health, ...)
zzpOnlyOnly requests open to freelancers
skipClosedLeave out requests shown as closed (Gesloten)
postedWithinDaysOnly rows posted in the last N days
{
  "includeRequests": true,
  "includeProfessionals": false,
  "searchTerms": ["projectleider"],
  "zzpOnly": true,
  "skipClosed": true,
  "postedWithinDays": 7,
  "maxResults": 0
}

📤 Output

Every row has recordType: interim-request or professional. The dataset has a table view for each.

FieldInterim requestProfessional
titleRequest titleRole
locationRegion or cityRegion or city
hoursPerWeek, hoursLabelHours per week
closingDate, closingTime, closesInDays, closingLabel, isClosedClosing date (Amsterdam time) worked out from the closing text, and the text as shown
postedDatePosting datePosting date
sourceTypeEindklanten en Managed Service Providers, Dienstverleners en brokers or Spinweb members
additionalSourcesFurther sources the site lists (its +N badge)
matchTypeFor searches: title, allWords or anyWord, as the site groups the matches
requestKeyStable key to compare runs
company, contactPerson, phoneAgency, contact person, phone
professionalId, profileUrl, companyLogoUrlId, profile link, agency logo
searchTerm, listUrl, scrapedAtSearch term, list page, save timesame
[
  {
    "recordType": "interim-request",
    "title": "Business controller",
    "location": "Venlo",
    "hoursPerWeek": 40,
    "hoursLabel": "40 u p.w",
    "closingLabel": "Sluit over 6 dagen",
    "closingDate": "2026-11-19",
    "closingTime": null,
    "isClosed": false,
    "closesInDays": 6,
    "postedDate": "2026-11-13",
    "sourceType": "Eindklanten en Managed Service Providers",
    "additionalSources": 0,
    "matchType": null,
    "requestKey": "69de8c002bed1f4e",
    "category": null,
    "searchTerm": null,
    "listUrl": "https://spinweb.nl/interim-aanvragen",
    "scrapedAt": "2026-11-13T11:53:15Z"
  },
  {
    "recordType": "professional",
    "professionalId": "professional-20261112-8244",
    "title": "Productowner",
    "company": "Caesar Overheid",
    "location": "Uitgeest",
    "contactPerson": "Diana Kompier",
    "phone": "0630133485",
    "postedDate": "2026-11-12",
    "profileUrl": "https://spinweb.nl/professional/professional-20261112-8244",
    "companyLogoUrl": "https://spinweb-nl.s3.eu-west-3.amazonaws.com/logo/dcf87637-6b98-5ac4-b6e2-6a2c26ff1b43.jfif",
    "searchTerm": null,
    "listUrl": "https://spinweb.nl/professionals",
    "scrapedAt": "2026-11-13T11:53:22Z"
  }
]

💰 Pricing

$1.00 per 1,000 rows ($0.001 per row) on every plan, platform usage included. Both full lists, about 1,540 rows, cost about $1.54. A daily run with Posted within (days) set to 1 usually saves a few hundred rows, about $0.20 to $0.40. Rows skipped by a filter are not charged.

❓ FAQ

Do I need a Spinweb account? No. The Actor reads only the two list pages that spinweb.nl shows to every visitor.

Why is the client name (opdrachtgever) not in the rows? On its request list, spinweb.nl masks the client name for visitors ("log in voor naam opdrachtgever"); only the few newest requests in the homepage teaser show one. The links to a request's sources (such as the client's inhuurdesk) and the professional profiles are for logged-in members only. The Actor exports what the public lists show.

How is the closing date worked out? From the closing text the site shows ("Sluit over 6 dagen", "Sluit morgen om 00:00 uur") and today's date in Amsterdam. The text itself is kept in closingLabel.

How do I get only new requests every day? Schedule the run with Posted within (days) = 1, or compare requestKey between runs.

What does matchType mean? For a search term the site groups the matches: the term in the title (title) or in the request text (allWords, anyWord). A request is kept once per search.

Can I use it through the API? Yes, start it with the Scrape.ly API, CLI or MCP server and read the dataset as JSON, CSV or Excel.

⚠️ Limits

  • Client names, source links and professional profiles are for Spinweb members only and are not exported.
  • Requests have no public id; requestKey is built from the title, region, hours, posting date and source type. Two identical requests from the same source on the same day get -2, -3 suffixes.
  • The lists hold what spinweb.nl shows now (on 2026-11-13: requests posted in the last month, professionals of the last year); older requests are not available.
  • closingDate follows the site's day count, so a request that closes "vandaag om 17:00 uur" has today's date and closingTime 17:00. The site keeps such a request as "Sluit vandaag om ... uur" for the rest of the day, so isClosed (and Skip closed requests) only turns it closed once the site shows "Gesloten"; compare closingTime with the current time if you need the exact moment.
  • A few requests show no closing text on the site; they have empty closing fields.

Related actors

//From the blog\\

Latest articles

All articles

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.