simap.ch Switzerland Tender Scraper avatar

simap.ch Switzerland Tender Scraper

Pricing

from $1.00 / 1,000 tenders

Go to Apify Store
simap.ch Switzerland Tender Scraper

simap.ch Switzerland Tender Scraper

Extract Swiss public procurement publications from simap.ch: tenders, awards, direct awards, advance notices and competitions from federal, cantonal and communal buyers, with the full publication detail.

Pricing

from $1.00 / 1,000 tenders

Rating

5.0

(1)

Developer

Public Money

Public Money

Maintained by Apify

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

This Actor reads Swiss public procurement publications from simap.ch, the joint platform of the Confederation, the cantons and the communes. It returns one record per project with that project's newest publication in your window: tenders, awards, direct awards, advance notices, requests for information, competitions, revocations and abandonments, each with the full publication as simap.ch serves it.

What it does

  • Reads the same public API the simap.ch search screen calls. No account, no API key.
  • Filters at the source: date window, keyword, publication type, order type, procedure, CPV, BKP, canton and the Switzerland-only flag all go to simap.ch.
  • Walks simap.ch's cursor pagination (20 per page) to the end of the window, or until Max items.
  • With Include publication details on (default), adds the full publication (buyer address and contacts, description, CPV/BKP/NPK codes, deadlines, Q&A dates, terms, criteria, lots, award decision with winning vendors, prices and number of offers) and the project's earlier publications.

Input

FieldTypeDefaultWhat it controls
publishedWithinDaysinteger7Rolling window, in days back from the run
publishedFromstringemptyNewest publication on or after this date (YYYY-MM-DD); overrides the rolling window
publishedTostringemptyNewest publication on or before this date
searchstringemptysimap.ch full-text search, matched in language
languagestringdede, fr, it or en: the keyword's match language, and the language of titleText, procOfficeNameText, cpvLabel and projectUrl
publicationTypesarrayemptytender, award_tender, direct_award, advance_notice, request_for_information, competition, award_competition, study_contract, award_study_contract, participant_selection, selective_offering_phase, revocation, abandonment
projectSubTypesarrayemptyconstruction, service, supply, project_competition, idea_competition, overall_performance_competition, project_study, idea_study, overall_performance_study, request_for_information
processTypesarrayemptyopen, selective, invitation, direct, no_process
cpvCodesarrayempty8-digit CPV codes; a code also matches the codes beneath it
bkpCodesarrayemptySwiss BKP building cost codes
cantonsarrayemptyCanton of the place of performance (ZH, BE, …)
onlySwitzerlandbooleanfalsesimap.ch's own "place of performance in Switzerland" filter
includeDetailsbooleantrueAdds publicationDetails, pastPublications and per-lot detail; two extra requests per record
maxItemsinteger1000Caps records returned; 0 returns the whole window
schemaOrgbooleanfalseAppends a schema.org schemaOrg block to each record

Multiple values in one filter are ORed by simap.ch. An unknown value is refused by simap.ch with 400 Invalid parameter and the run fails with that message.

Output

One record per project, keyed on publicationId:

projectId, projectNumber, publicationId, publicationNumber, publicationDate, pubType, corrected, projectType, projectSubType, processType, lotsType, titleText, title (de/en/fr/it), procOfficeNameText, procOfficeName (de/en/fr/it), orderAddressOnlyDescription, countryId, cantonId, orderAddress, lots, offerDeadline, cpvCode, cpvLabel, projectUrl, publicationDetails, pastPublications, scrapedAt.

publicationDetails is the publication object exactly as simap.ch serves it, under its own key names (project-info, procurement, dates, terms, criteria, lots, decision, base, ted, …); which keys appear depends on the publication type.

Notes

  • simap.ch's search starts on 2024-07-01, when the current platform went live. Earlier dates return nothing.
  • The search returns each project once, with its newest publication. A project's earlier publications are listed in pastPublications (per lot, under lots, for lot projects).
  • offerDeadline is published only on tenders, competitions, requests for information and some advance notices; awards, direct awards, revocations and abandonments carry none. Revocations and abandonments publish no CPV code.
  • The keyword is matched in the chosen language: Schule over 2026-09-01 to 2026-10-03 matched 330 projects with de and 5 with en.
  • projectUrl is https://www.simap.ch/<language>/project-detail/<projectId>, the form simap.ch's own help text gives for a project page.