Switzerland SIMAP Tenders Scraper: Public Procurement to Excel
Pricing
from $2.50 / 1,000 results
Switzerland SIMAP Tenders Scraper: Public Procurement to Excel
Swiss public tenders and awards from simap.ch (official API): Confederation, cantons, communes. Filter by keyword, CPV, canton, notice type. Awards with supplier and CHF price. GDPR/FADP-safe.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
TenderFeed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Security
Limited permissionsShare
Switzerland SIMAP Public Tenders Scraper by TenderFeed
Search Swiss public tenders and contract awards from simap.ch, the official procurement platform shared by the Swiss Confederation, the 26 cantons and the communes. Filter by keyword (DE/FR/IT/EN), CPV code, canton, notice type, project type, buyer and deadline. Award notices include the winning suppliers and the CHF contract price. Clean JSON, CSV or Excel.
Built by TenderFeed (apify.com/tenderfeed) on simap.ch's public REST API (published OpenAPI specification, no API key, no login). simap publishes around 500 projects per week, most of them below the WTO thresholds and therefore not on TED.
What can you do with it?
- Daily Swiss bid alerts for your sector and cantons, in your language (
language: en, de, fr, it). - Lead generation: procuring office name and city in every row; contact name, email and phone on request (
includeBuyerContacts). - Win/loss and competitor analysis:
award_tenderanddirect_awardnotices with supplier names and CHF prices. - AI agents: use it as an MCP tool (Apify MCP server) to answer "Which Swiss cantons are buying school laptops this month?"
Input example
{"keywords": ["Software", "informatique"],"noticeTypes": ["tender", "award_tender"],"contractTypes": ["service", "supply"],"cantons": ["ZH", "BE", "VD", "GE"],"cpvCodes": ["72", "48"],"publishedFrom": "14 days","language": "en","maxResults": 0}
keywordsrun simap's own full-text search, which covers all four languages; several keywords are merged (any) or intersected (all).noticeTypes:tender(default, open calls),award_tender,direct_award,advance_notice,request_for_information, competitions and more.language: preferred language for multilingual titles and descriptions; falls back to the language the buyer published in.
Output example
Real row from a live run (2026-10-29, default input, description shortened):
{"source": "simap","sourceId": "26074-01","url": "https://www.simap.ch/en/project-detail/119ed682-356b-44cb-bfd4-304b2ad11785","title": "Procurement and pre-deployment of Chromebooks and Chrome tablets for Zollikofen schools","description": "Supply contract for Zollikofen schools: 850 new Chromebooks (684 for primary school and 166 for lower secondary school)...","noticeType": "tender","status": "active","procedureType": "open","contractType": "supply","buyerName": "Einwohnergemeinde Zollikofen","buyerCountry": "CH","buyerCity": "Zollikofen","cpvCodes": ["30213100", "30213200"],"placeOfPerformance": "Zollikofen, canton BE, CH","publishedAt": "2026-10-29","deadlineAt": "2026-12-08T12:00:00+01:00","projectNumber": "26074","canton": "BE"}
An award row from the same week (live test, 2026-10-29) looks like "noticeType": "award", "awardees": ["SonarSource Sàrl"], "awardedValue": 2323087.34, "currency": "CHF".
Same schema as the other TenderFeed Actors (EU TED, UK, France BOAMP, SAM.gov...), so Swiss tenders merge with the rest of Europe in one table.
Buyer contacts and GDPR / Swiss FADP (includeBuyerContacts)
By default (includeBuyerContacts: false) the Actor returns organisation-level data only: procuring office, city, canton, country and the notice link. Contact person names, email addresses and phone numbers are removed from the output and from the optional raw payload, and email addresses inside description text are masked.
Set includeBuyerContacts: true to keep them as published. Only do this if you have a lawful basis under the GDPR / Swiss FADP (for example legitimate interest for B2G sales). In a live test (30 tenders, 2026-10-29) contacts-on returned an email on 30/30 rows, a phone on 30/30 and a named person on 13/30; contacts-off returned 0 of each while keeping buyerName on 30/30.
Daily alerts ("only new" monitoring mode)
Turn on onlyNew, give the search a monitoringId (e.g. "ch-it-daily") and schedule the Actor daily. Each run returns, and charges for, only notices you have not received before. Pair it with an Apify integration (Slack, email, Google Sheets, Zapier, Make) for a ready-made Swiss tender alert.
Sample output (real run)
One row from a run on 6 November 2026 (core columns only; every row also has description, status, procedureType, documentsUrl and more). Contact values are masked here. Since schema 1.2 every row also carries the cross-source columns country, deadline, valueAmount, valueCurrency and cpvOrNaics next to the original ones (buyerCountry, deadlineAt, estimatedValue, currency, cpvCodes/naicsCodes), which are unchanged.
{"title": "Procurement of a New ERP Solution","source": "simap","country": "CH","noticeType": "tender","publishedAt": "2026-11-06","deadline": "2026-12-18T23:59:00+01:00","buyerName": "Zentrum für Labormedizin","valueAmount": null,"valueCurrency": null,"cpvOrNaics": "48000000, 48451000, 72000000","setAside": null,"url": "https://www.simap.ch/en/project-detail/e0d8f09c-e808-4bf5-8072-da2a73ee9a05","buyerContactName": null,"buyerContactEmail": null,"buyerContactPhone": null}
Limits and notes
- Data source: SIMAP.ch public project search.
- Access: No login or API key.
- Delays and gaps: Some SIMAP documents and full tender files require a SIMAP account and are not downloaded; the Actor returns notice metadata and links. Value is rarely published.
- Contacts: No buyer contact persons are extracted.
- Fields the portal does not publish stay
null; nothing is guessed or filled in.
Pricing
Pay per result: $2.50 per 1,000 notices ($0.0025 per row) plus Apify's small run-start fee. A daily alert with 20 new notices costs about $1.50 a month.
Notes and limits
- Each row needs one publication-detail request (about 0.25 s), so 50 rows take ~15 s and a full week (~500 projects) a few minutes.
- simap rarely publishes estimated values;
awardedValue(CHF) is filled on award notices. Value filters apply to award amounts. - Tender documents on simap require a free simap account; the Actor returns the public notice link.
More TenderFeed sources
Same output schema across all sources, so you can merge results in one sheet or CRM:
- EU TED tenders
- SAM.gov federal contract opportunities
- Grants.gov US federal grants
- USAspending federal contract awards
- UK Find a Tender + Contracts Finder
- France BOAMP appels d'offres
- World Bank procurement notices & awards
- Poland BZP e-Zamówienia tenders
- Ukraine Prozorro tenders
- AusTender Australian government contracts
- EU Funding & Tenders Portal grants and calls
- CanadaBuys tenders and awards
- Germany public tenders (Ausschreibungen)
- NYC City Record bids & awards
- Brazil PNCP licitações
- Colombia SECOP II licitaciones
- Netherlands TenderNed aanbestedingen
FAQ
Is this legal? Yes. simap.ch notices are official public procurement publications and are read through simap's documented public API. Personal contact details are excluded unless you set includeBuyerContacts: true.
Federal and cantonal? Both: the Confederation, all cantons, communes and public companies publish on simap.