Providers
Vi är transparenta: det här är datakällorna vi läser, hur vi når dem, och deras nuvarande status.
Alla svenska upphandlingar måste enligt lag publiceras enligt offentlighetsprincipen, men plattformarna som samlar in dem äger sina egna API:er och sina egna villkor. Vi speglar bara det som är publikt tillgängligt och länkar alltid tillbaka till originalannonsen via tender_url — vi är aldrig den slutgiltiga källan.
Aktiva providers
- Beskrivning
- Svensk upphandlingsplattform som speglar Tendsign, e-Avrop, Kommersannons, TED och andra. Levererar ~65-70% av svensk volym via ett öppet, oautentiserat JSON-API.
- Metod
REST GET(oautentiserat, polite user-agent)- URL-mönster
https://search-service-api.discover.app.mercell.com/public/api/v1/search- Auth
- Nej
Tekniska detaljer
GET /public/api/v1/search?page=N&pageSize=100
Returns paginated JSON. Filter syntax is lossy — we walk pages
and dedupe on (source_system, source_id). ~525 SE records / 100 pages / 80s.
Headers: User-Agent (polite), Accept: application/json.
No API key required.
- Beskrivning
- EU-kommissionens officiella databas för upphandlingar över EU-tröskelvärden. Vi filtrerar på Sverige (buyer-country=SWE) och hämtar öppna upphandlingar (notice-subtype 7, 29). Svarar på frågan: "Vad kan jag lägga anbud på?"
- Metod
REST POST(JSON body med query + fields + filters)- URL-mönster
https://api.ted.europa.eu/v3/notices/search- Auth
- Nej
Tekniska detaljer
POST /v3/notices/search
Body: {"query": "buyer-country = SWE AND publication-date >= 20260101",
"fields": [...], "limit": 100, "page": 1}
Returns notice metadata. Only covers EU-threshold procurements,
not all Swedish tenders. Polite User-Agent required.
- Beskrivning
- Tilldelningsbeslut från TED — visar VILKA kontrakt som redan har tilldelats, till vem och till vilket värde. Marknadsintelligence för småföretag: "Vem vann senast?" notice-subtypes 16–19 (standard, sectoral, concessions, defence).
- Metod
REST POST(samma API som ted, annan subtype-filter)- URL-mönster
https://api.ted.europa.eu/v3/notices/search- Auth
- Nej
Tekniska detaljer
POST /v3/notices/search
Body: {"query": "buyer-country = SWE AND notice-subtype = \"16\" OR \"17\" ...",
"fields": ["winner-name", "result-value-lot", ...]}
Winner fields are requested but often empty in search results —
full data lives in the notice XML body. ~18k SWE awards/year.
- Beskrivning
- Förhandsinformation om kommande upphandlingar. Myndigheter meddelar att de PLANERAR att upphandla — innan formell annons publiceras. Tidigast möjliga signal för småföretag att förbereda sig. notice-subtypes 4, 5, 25, 26.
- Metod
REST POST(samma API, subtype-filter för PIN)- URL-mönster
https://api.ted.europa.eu/v3/notices/search- Auth
- Nej
Tekniska detaljer
POST /v3/notices/search
Body: {"query": "buyer-country = SWE AND notice-subtype = \"4\" OR \"5\" ...",
"fields": ["estimated-value-lot", "future-notice", ...]}
~1k SWE PINs/year. Low volume but high strategic value.
Planerade providers
Kända plattformar vi vill spegla men som kräver mer jobb (vanligtvis: inloggning, headless browser, eller mer komplex HTML-scraping).
Plattform för svenska upphandlingar från kommuner och myndigheter. Inget publikt API. Scraping kräver Selenium + headless browser. Referens: yuril93/tendsign.com-scraping (Selenium, 2019 — kan behöva uppdateras).
Vi respekterar e-Avrops robots.txt (Disallow: /). De har gjort ett aktivt val att blockera crawling. Det är deras rätt — plattformen äger sin data, även om underliggande upphandlingar är offentliga handlingar.
Om du vill ha e-Avrop-data: gå direkt till e-Avrop eller använd Mercell som speglar den mesta av e-Avrops data ändå.
Det här är ett medvetet val: vi tror att öppna data byggs bäst genom samarbete, inte konfrontation.
AI-driven upphandlingsplattform. Backend (api.clira.io) är Sanctum-skyddat och kräver inloggning. Offentlig annonsvisning finns på public.clira.io men data är client-side-renderad. Möjlig lösning: konto + scraping, eller headless browser.
Samlar flera kommuners upphandlingar. Inget publikt API. Innehåll är delvis JS-renderat. Möjlig men inte trivial scraping.
Myndigheter och kommuner kör ofta sina egna upphandlingssystem. Vissa är i Mercell, andra inte. Hög arbetsinsats, låg marginal per sajt.
Ekosystem — andra verktyg som hjälper svenska företag
Agentanbud är en spegel. Det finns andra verktyg som gör kompletterande saker. Hela kedjan behövs för att småföretag ska kunna navigera offentlig upphandling utan att anlita konsulter.
Sveriges myndighet för upphandlingsstöd. Lagar, vägledning, hållbarhetskriterier, verktyg för annonsering. Den formella källan.
Fokus på insikt och hjälp: vem upphandlar vad, hur stor är din marknad, matchning mot din profil. Det unika är människorna — affärscoacher och anbudsproffs som kan stötta, kvalitetssäkra eller sköta hela anbudet. Bra nästa steg om du vill ha handpåläggning.
Alla EU-tröskelvärden. Den ursprungliga datakällan vi speglar för svenska notiser. Rättsligt bindande publiceringskanal.
MCP-server som ger Claude Code / Kilo Code direktåtkomst till svensk upphandlingsdata från Upphandlingsmyndigheten + TED. Vår syskon.
Gratis AI-bevakning av svenska upphandlingar — samma demokratiserings-idé som vi. Skillnaden är öppenheten: deras kod och datakällor är inte publika, och de erbjuder inget öppet API eller MCP. Där är vi motsatsen — se jämförelsen nedan.
De som faktiskt driver marknaden. Mercell, Tendsign (Visma), e-Avrop, Clira, Kommersannons. Mercell konsoliderar — de förvärvar Vismas Opic och TendSign. Vi speglar där de tillåter, och rekommenderar att gå direkt till dem för att lämna anbud.
Vår roll: inte konkurrent — komplement
Vi gör inte ansökningarna enklare. Det gör PublicInsight. Vi gör inte reglerna tydligare. Det gör Upphandlingsmyndigheten. Vi är bara en öppen spegel som gör det enklare att upptäcka vad som faktiskt publiceras.
Vad som skiljer oss
Flera tjänster bevakar upphandlingar — några gratis, de flesta mot betalning. Nästan alla är slutna destinationer med inbyggd AI: du använder deras verktyg, i deras gränssnitt. Vi valde motsatsen på tre punkter:
Hela plattformen är MIT-licensierad på GitHub. Du kan läsa exakt hur datan hämtas, granska den, och köra din egen kopia.
Vi redovisar öppet varje datakälla, hur vi når den och vad den kräver — precis den här sidan. Inga svarta lådor.
Öppet REST-API och MCP-server. Du kopplar in din AI-assistent — vi bygger ingen egen AI du måste använda.
Det gör oss mindre till en produkt och mer till infrastruktur: något andra verktyg, forskare och agenter kan bygga vidare på. Koppla in din agent →
Om du är en utvecklare som vill bygga något bättre: fork this repo. Vår kod är MIT-licensierad. Våra scrapers är skrivna för att vara lätta att porta, modifiera och förbättra. Använd det vi byggt, eller bygg om det från grunden — vi hejar på båda.
Om du representerar en plattform (Mercell, Tendsign, e-Avrop, Clira) och vill diskutera öppna API:er, datadelning eller samarbete: öppna en issue eller kontakta oss.
Bidra
Saknar du en provider? Öppna en issue eller PR på GitHub. Varje ny källa är ungefär 150–300 rader Python + registrering i scraper/orchestrator.py.