@Nina_Berlin jag håller på att göra visualiseringar som jag tänkte lägga i en artikel. Då jag tycker jag ofta får denna (och liknande) frågor och jag upplever att vi ofta pratar om varandra beroende på vilken relation man haft till data. Sen blir det ju inte lättare att vi använder data både som objekt och subjekt.
@Nina_Berlin sa i Data och API:er:
API:er inte hör hemma i en datasök
Detta blir knöligt när det är de som tänker på datamängd/api utifrån ett systemutvecklingsperspektiv och de som tänker utifrån perspektivet produkt/tjänst/service. Så detta blir långt för jag ville exemplifiera så vi pratar om samma sak.
Jag tycker utifrån perspektivet användare på dataportalen absolut att API:er hänger ihop med datasök för det handlar om hur det är möjligt att tillgodogöra sig datamängden och ofta säger det lite om hur api:et (och datamängden) underhålls.
Om man på dataportalens sida vet att alla datamängder i portalen tillhandahålls med api så kanske det räcker att det förtydligas i en text och man behöver inte ha det på "sökknappen", men som jag tror någon nämnde är det nog bra SEO att ha det på flera ställen.
För mig som systemägare/datakonsument är det en skillnad om någon tillhandahåller ett api till en datamängd. Det blir det ju en typ av tjänst i förhållande till dataproducenten både i förhållande till tillgängligheten och tillförlitligheten. Men också att jag kanske kan förvänta mig annan kommunikation och transparens i hur datamängden underhålls och om förändringar i schemat/specifikationen sker, så är det bra om man kan få en notis om det. Det kan vara open source och att specifikationen anger att dataproducenten enbart säkerställer tillgängligheten men inte tillförlitligheten för att alla inkl jag själv bidrar till data i datamängden (exempelvis har EU:s dataportal formulär och jag la in förslag på en Browser i deras datamängd om Browsers, igår).
Om det enbart är datamängder som tillhandahålls så ser jag det mer som en engångs nedladdning eller att man kan ta del av datamängden och använda i sin egen databas men då är det ju upp till mig om jag behöver lägga till någon tabell eller göra underhåll på datan.
@Nina_Berlin sa i Data och API:er:
Hur hänger data och API:er ihop? Är API:er egentligen irrelevant när man är ute efter att hitta data?
Se ovan om hur det hänger ihop och se om du tycker det är klart. Och andra får gärna rätta mig om ni tycker jag gör det krångligare än det är.
Exempel på praktisk skillnad på att använda datamängd eller api:
Vi behöver adresser till alla som är här i community för att det har beslutats att alla ska få en rubics kub i julklapp. Eftersom vi vill göra ett exempel av det så beslutar vi att adressen ska visas i vår kontovy.
Vi behöver då hitta en eller flera datamängder som har en specifikation som visar att de har tabeller som kan knytas till användarna här. Låt oss för exemplet bortse från problem med personuppgifter som data och säga att vi alla vid registrering i community skulle uppgett personnummer, eftersom frågan om identifier inte är relevant för exempelet 
Vi hittar en datamängd från folkbokföringen som enligt specifikationen har både adress och personnummer i samma datamängd och det anger att postadress, postnummer och ort ligger i olika tabeller. Det finns även en tabell för e-postadress man uppgav vid senaste adressändringen i datamängden.
Om vi hämtar datamängden
Vi hämtar datamängden och skapar tabeller för den data vi inte haft sedan tidigare t.ex. postort. Vi använder personnummret för att rätt rad ska knytas till rätt konto. Däremot har vi ju redan en datatabell för e-post som måste hanteras. Vi beslutar att kassera den tabellen eftersom användarna uppenbarligen valt en e-post för denna tjänst, den behöver ju inte vara samma.
Ni skriver till alla användare att adresser finns i profilen. När användare X går in och kollar på sin profil ser hen att adressen är till sina föräldar och inte där hen bor i andra hand (och inte kan skriva sig). Användare X vill ju gärna ha julklappen och frågar om hen kan ändra sin adress. I detta fall kan beslutas att användarna kan ha annan adress eftersom det är ett sparat system.
Nu har det gått ett år och eftersom rubiks kub var så lyckat beslutas att skicka ut ett pussel som julklapp. Nu är frågan hur ni ska säkerställa att adresserna fortfarande stämmer. Ska ni be användarna gå in och dubbelkolla eller hämta data igen från folkbokföringen som postadress. De flesta skulle nog föredra det senare men Användare X adress skrivs då över.
Om vi använder api till datamängden
Vi bygger hur vi ska ta emot data och specificerar då att vi inte vill ta emot e-post (den behöver aldrig kasseras därmed). Om detta glöms och missas kan det innebära att e-post skrivs över och att personer inte kommer in på sina konton längre eftersom de inte uppger e-post som ni har i databasen (om ni använder annan). Vi hämtar datatabellerna kopplat till adress från datamängden. Vi använder personnummret för att rätt rad ska knytas till rätt konto. Ni specificerar hur ofta ni vill att api ska hämta data och sätter fältet till read only för profilen.
Ni skriver till alla användare att adresser finns i profilen. Om ni möjliggör ändring av adress kommer Användare X:s adress till andrahandsboendet skrivas över vid en hämtning. Det finns möjliga lösingar att separera folkbokföringsadress och postadress. Där användaren kan ändra postadress men default är folkbokföringsadressen. Men det blir mycket kod/funktion för kanske väldigt litet behov så det beslutas att Användare X mailar sin adress och den hanteras separat.
Nu har det gått ett år och eftersom api:et hämtar data med satt intervall från folkbokföringen kan ni skriva till alla användare att om de inte flyttat sedan XX (sista hämtningen och beakta folkbokföringens administration) så kommer har ni rätt adress. Om man vill ha skickat till en annan adress, och inte har eftersändning, så får man maila.
Detta exempel går ju att ta mer tekniskt och i all oändlighet. Vad det innebär för datakonsumenten om api är inbyggt i system och dataproducenten gör förändringar utan att meddela. Exempelvis byter benämning på datatabellen "postadress" till "gatuadress" eller format på datatabellen "personnummer" från "ÅÅMMDD-nnnn" till "XXÅÅMMDDnnnn" och hur man kan ha en "landing"-databas för redundans för att sådant inte ska innebära driftstörning eller om det ska hämtas av webbplats för att utvecklarna ska kunna modulera data och bygga självständigt så det blir en stabil webbplats, men utan att va tvungna att bygga externa api.