Swiss Public Tenders Scraper (simap.ch) — Tenders & Awards
Pricing
Pay per event
Swiss Public Tenders Scraper (simap.ch) — Tenders & Awards
Scrape Swiss public tenders and contract awards from simap.ch: CPV codes, offer deadlines, award criteria with weights, buyer contacts and — for awards — the winner, awarded price and number of bids. Filter by canton, CPV, publication type and date. Official API, no login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Riccardo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
38 minutes ago
Last modified
Categories
Share
Swiss Public Tenders (simap.ch) — search, monitor & export
Stop refreshing simap.ch by hand: every Swiss tender matching your cantons and CPV codes arrives as a structured feed — and for contracts already decided, you get the awarded price, how many bids came in, and the award criteria with their exact weights.
simap.ch is the official gazette for Swiss public procurement: the Confederation, all 26 cantons and the municipalities publish there, around 1,000 tender publications a month plus the awards that follow. The site shows one publication at a time; this Actor turns the same public data into a dataset you can filter, schedule and pipe anywhere — JSON export, CSV or Excel.
What you get
Around 38 fields per publication, in the language you ask for (IT/DE/FR/EN, with fallback to the other official languages; raw translations stay in translations).
Award data that is rarely exported in bulk:
winnerPriceandwinnerCurrency— the amount the contract was actually awarded for (e.g.616666.6CHF), not an estimateaward.numberOfSubmissions— how many bidders you were up againstawardCriteriawithweightingandmaxPoints— e.g. Price 70 %, References 30 %, withisPriceCriterionseparating price from qualitywinnerName, the rankedaward.vendorslist, the decision date and justification, andreferencedTenderlinking the Zuschlag back to its tender
Deadlines that decide whether you can still bid: offerDeadline (ISO 8601 with timezone), qnaDeadline for questions to the buyer, offerOpening, offerValidityUntil, documentsAvailableFrom.
Who is buying, where, and what:
buyerNameplus abuyercontact block (address, e-mail, phone, city, canton), andrecipient, where offers must be sentcanton,city,postalCode,countryof the place of performancecpvCodewith readablecpvLabel,orderType(supply / service / construction),processType(open, selective, invitation, direct)title, plain-textdescription,qualificationCriteria,lotsDetailedfor multi-lot projectsstateContractArea(WTO/GPA treaty scope) andpublicationTed(also in the EU journal TED)
Identifiers and provenance: projectNumber (stable across all publications of one project), publicationNumber, projectId, publicationId, pubType, publicationDate, the simapUrl deep link, source and the mandatory disclaimer.
Who uses this
- A bid manager watches three cantons and two CPV branches, and sees new tenders the morning they appear.
- A sales lead pulls a year of awards to see which competitor wins at which Zuschlagspreis, against how many bidders, before pricing the next offer.
- A bid-strategy analyst reads the criteria weights first: 70 % price and 30 % references call for two different documents.
- A compliance officer or researcher keeps a dated, unaltered record of what each body published, or builds multi-year procurement statistics.
- An AI agent calls this Actor as an MCP tool to answer "which public tenders in Switzerland close in the next 14 days for CPV 72000000?".
Example output
A tender (shortened):
{"projectNumber": "42601","pubType": "tender","publicationDate": "2026-08-19","title": "Concorso per la fornitura di tre carburanti di aviazione","buyerName": "Aeroporto cantonale di Locarno","canton": "TI","city": "Gordola","cpvCode": "09100000","cpvLabel": "Combustibili","processType": "open","offerDeadline": "2026-10-12T12:00:00+02:00","qnaDeadline": "2026-09-23","awardCriteria": [{ "title": "Prezzo", "weighting": 70, "maxPoints": 6, "isPriceCriterion": true }],"buyer": {"name": "Aeroporto cantonale di Locarno","email": "dt-sg.ud@ti.ch","phone": "+41918142625","city": "Gordola","canton": "TI"},"simapUrl": "https://www.simap.ch/it/project-detail/93027c93-e1c9-4b7d-99db-c974e735ba8b","source": "simap.ch","disclaimer": "Dies ist keine amtliche Veröffentlichung. Massgebend ist die auf simap.ch publizierte Version."}
An award (shortened) — the part other sources leave out:
{"projectNumber": "24563","pubType": "award","winnerName": "Edilstrada SA","winnerPrice": 616666.6,"winnerCurrency": "CHF","source": "simap.ch"}
Input
| Field | What it does |
|---|---|
search | Full-text query: keyword, project number, buyer name. Quotes = exact phrase. Empty = all filter matches. |
publicationTypes | Default ["tender"]. Use ["award_tender"] for who won what. |
cantons | Canton codes of the place of performance, e.g. ["TI","ZH","GE"]. Empty = all of Switzerland. |
cpvCodes | CPV codes, prefix-matched, e.g. 45000000 construction, 72000000 IT services. |
publishedFrom / publishedUntil | Date window, YYYY-MM-DD. Default from = 30 days ago. |
onlySwitzerland | Exclude projects performed abroad. Default true. |
language | Preferred language for text fields: it, de, fr, en. Default it. |
includeDetails | Adds description, CPV label, deadlines, weighted award criteria, qualification criteria, contact, lots. Default true. |
stripHtml | Rich text converted to plain text. Default true. |
maxItems | Safety cap. Default 200, 0 = no limit. |
Every open IT-services tender in Zurich and Bern published since 1 August, texts in German:
{"publicationTypes": ["tender"],"cantons": ["ZH", "BE"],"cpvCodes": ["72000000"],"publishedFrom": "2026-08-01","language": "de"}
Competitor intelligence: every Zuschlag in Ticino this year, with winner, price and bid count:
{"publicationTypes": ["award_tender"],"cantons": ["TI"],"publishedFrom": "2026-01-01","language": "it","maxItems": 0}
Run it on a schedule
To monitor new Swiss tenders daily, save your filters as a Task, leave publishedFrom empty so each run covers the last 30 days, and schedule it. Attach an Apify integration to the dataset and results go straight to Google Sheets, Slack, e-mail, a webhook, Make or Zapier — no code in between. Many teams run one task per canton or CPV branch so each alert reaches the right person.
If you keep history, deduplicate on publicationId, unique per publication, or on publicationNumber. Group a tender with its later award using projectNumber.
Use it from code or from an AI agent
Developers start runs and read results through the Apify API or CLI in any language; the dataset comes back as JSON, CSV, Excel or XML. The Actor is also exposed as an MCP tool via the Apify MCP server, so an AI agent can call it directly — every input field carries a description written for that purpose.
Pricing
Pay per event: a small fee for each publication exported, shown in the pricing box on this page. Platform usage is negligible because this tender scraper uses simap's public REST API only — no browser, no proxies, no captcha, no login. A hundred publications with full details take roughly 30 seconds, politely rate-limited with retries.
Where the data comes from
Data comes from the public simap.ch API. simap's terms (AGB §4) permit API users to obtain publication data for commercial purposes and pass it to third parties unaltered and visually separated from any commentary, carrying this notice — which ships in the disclaimer field of every record:
Dies ist keine amtliche Veröffentlichung. Massgebend ist die auf simap.ch publizierte Version. — This is not an official publication; the version published on simap.ch prevails.
Honest limits. Tender documents (PDFs) are not downloaded — they stay the intellectual property of the contracting authorities, so you get publication metadata and texts, not the specification files. Publications appear as simap publishes them: daily, not real-time. Coverage is whatever a body chooses to publish; below-threshold invitation and direct awards are largely unpublished. Award fields exist only on award publications, and buyers sometimes omit an optional field. This Actor is independent and not affiliated with the simap.ch association.
Related Actors
Same engine, same official-source approach:
- AusTender (Australia) — federal contracts, winners and expiry dates
- UK Public Tenders — Contracts Finder and Find a Tender in one run
- Swiss Commercial Register (SHAB) — new companies, changes, deletions and bankruptcies
- EU Tenders (TED) — European procurement notices and contract awards
- France Company Register — SIREN/SIRET, executives, official labels
- GLEIF LEI — LEI lookup, lapsed-LEI screening, parent companies
- Brazil CNPJ — Receita Federal company data and partners