Utskriven från https://www.farmup.se/annonser/data
Öppna data
Allt som står i Disas annonser går också att hämta som data i formatet JSON. Uppgifterna är fria att använda, utan konto och utan avgift. Filerna byggs av samma funktioner som webbsidorna, så det som står i filen är det som står på sidan.
Ingen lag kräver att en annonsdatabas delar sina uppgifter som data (prop. 2018/19:142 s. 31). Vi gör det för att uppgifterna ska gå att återanvända och för att visa att det som publiceras är det som rapporteras.
Adresser
| Vad | Adress |
|---|---|
| En annons, den version som gäller | https://www.farmup.se/annonser/{annonsId}.json |
| En tidigare version | https://www.farmup.se/annonser/{annonsId}/version/{n}.json |
| En sökning | https://www.farmup.se/annonser.json?{samma frågesträng som listan} |
| Nya annonser som flöde | https://www.farmup.se/annonser/atom.xml?{samma frågesträng som listan} |
| Siffrorna på sidan Disa i siffror | https://www.farmup.se/annonser/statistik.csv |
Det enklaste sättet att få rätt adress för en sökning är att söka i listan och sedan följa länken "Hämta sökningen som data (JSON)" under tabellen. På varje annons finns länken "Hämta annonsen som data (JSON)".
Frågesträngen har samma nycklar som listan, i fast ordning: q (sökord), kommun (adressnamn, till exempel skelleftea), lan (SCB:s länskod), kategori, typ, lage, fran och till (ÅÅÅÅ-MM-DD), sortering och sida. En sida har 50 annonser.
Svaren har Content-Type: application/json; charset=utf-8 och Access-Control-Allow-Origin: *. Alla tider står i svensk tid med tidszonen utskriven, till exempel 2026-11-06T11:00:00+01:00. Det gäller också tidpunkterna i uppgifter (sistaDag, ansokningsfrist, publiceringsdatum, avtalstidpunkt). Ett värde som bara är ett datum utan klockslag står som datum, till exempel 2026-10-07.
Vad fälten betyder
Alla filer har fältet schema, som säger vilket format filen följer.
En annons
Filen har schema satt till https://www.farmup.se/annonser/schema/annons-1.
| Fält | Betydelse |
|---|---|
annonsId | Annonsens id i Disa. |
upphandlingsId | Upphandlings-ID, samma för alla annonser i samma upphandling (6 § förordningen om annonsdatabaser). |
typ, typNamn | disAnnons (Nytt inköpssystem), andringsannons (Ändring av en annons), efterannons (Resultat av en upphandling) eller avslutAnnons (Avslutat inköpssystem). |
lage, lageNamn | Läget: oppen (Öppen för ansökan), kommande (Öppnar snart), galler (Gäller), avslutad (Avslutat) eller ersatt (Ersatt av en nyare annons). |
lagesmening | Läget i en mening, samma som på sidan. |
frist | {text, datum} för kolumnen Ansök senast, eller null. |
lag, forstaDatabas | Alltid LOU och Disa. |
regim | overTroskel (annonsen finns också i EU:s databas TED) eller underTroskel. |
version, tidigareVersioner | Versionens nummer och adresser till tidigare publicerade versioner. |
titel | Annonsens rubrik. |
kopare | {namn, orgnr} för den myndighet som köper. |
kommuner | Köparens kommun först, sedan andra kommuner som får använda systemet: {kod, namn, lan} med SCB:s kommunkod. En region (till exempel Region Stockholm) står inte här; bara Region Gotland, som också är kommunen Gotland. |
kategorier | Disas kategorier med svenskt namn och CPV-koder. |
cpvHuvud | Huvudsaklig CPV-kod. |
publicerad | {disa, ted}: när versionen publicerades i Disa och i TED. |
tedPubliceringsnummer | TED:s publiceringsnummer, eller null. |
giltighet | {fran, till} för inköpssystemets giltighetstid. |
forstaAnsokningstid | När den första ansökningstiden går ut. |
dokumentAdress | Upphandlingsdokumenten, fria utan konto. Null när annonsen inte har några (efterannonser och avslut). |
adress, dataAdress | Webbsidan och den här filen. |
arExempel | Sant för en exempelannons från ett testbolag. Den är ingen riktig upphandling. |
uppgifter | Annonsens övriga uppgifter med samma nycklar som i registret, till exempel beskrivning, tilldelningsgrund, nuts, uppskattatVarde och antalAnbud. |
anbudsgivare | Alla som lämnat svar eller ansökt: {namn, orgnr, vann} och ibland orgnrPaWebbsidan. |
En sökning
Filen har schema satt till https://www.farmup.se/annonser/schema/lista-1.
| Fält | Betydelse |
|---|---|
totalt | Antal träffar före sidindelningen, samma tal som listan visar. |
sida, antalSidor | Var i sökningen filen är. |
nasta, foregaende | Adressen till nästa och föregående sida, eller null. |
annonser | En rad per annons med annonsId, upphandlingsId, titel, typ, lage, lageNamn, frist, kommuner, publicerad, arExempel, adress och data (annonsens egen fil). |
Vad som inte kommer med
En efterannons kan nämna en enskild firma. En enskild firmas organisationsnummer är ägarens personnummer. Webbsidan visar numret eftersom lagen kräver det (14 c § upphandlingsförordningen). Filen gör det inte: där står "orgnr": null och "orgnrPaWebbsidan": true. Skälen är dataminimering (artikel 5.1 c dataskyddsförordningen) och att maskinläsbar hämtning av många personnummer på en gång är något annat än en annons som en människa läser. Beslutet går att ändra om Konkurrensverket eller Upphandlingsmyndigheten vill annat.
Ett nummer räknas som personnummer när tredje och fjärde siffran är 01 till 12 (en juridisk person har minst 20 där) eller när anbudsgivaren är märkt som enskild firma.
Kontaktuppgifter till personer, som köparens kontaktperson eller vinnarens kontakt, kommer aldrig med i filerna. På sidan står högst kontaktpersonens namn, aldrig personlig e-post eller telefon.
Samma regel gäller sökningen: en enskild firmas nummer går inte att söka fram.
Frågor
Har du frågor om filerna eller vill du ha uppgifterna i ett annat format? Hör av dig till kundtjänst.