Skapa ett användarkonto och få åtkomst till labbdata

Företagsdatalabbet har ett API som kan användas för att skapa innovativa lösningar. Med API:et kan du hämta historisk information om aktiebolag.

För att kunna använda API:et måste du först registrera dig.

Innehåll på den här sidan

Förkunskaper du behöver för att använda API:et

För att kunna använda API:et bör du ha vissa tekniska kunskaper inom

  • programmering – framför allt kunna utveckla en webbklient som anropar API:et.
  • HTTP.

Vilken information kan du hämta med API:et?

Du kan hämta information som gäller företag. Informationen är uppdelad per år, så det är möjligt att göra en jämförelse hur ett visst företag har förändrats över åren.

Informationen om företaget är relativt detaljerad och omfattar exempelvis:

  • namn
  • organisationsnummer
  • säte
  • aktiekapital
  • information om ärenden.

Hur du skapar ett användarkonto och når API:et

Här får du hjälp med att skapa ett användarkonto och få åtkomst till API:et, samt tips på vad du ska tänka på när du ska utveckla en applikation som anropar API:et.

Hur du skapar ett användarkonto och blir medlem

Innan du skapar ett konto behöver du känna till användarvillkoren för Företagsdatalabbets API och hur dina personuppgifter behandlas.

Kom ihåg att använda en e-postadress som kommer att finnas kvar lika länge som din applikation. Undvik personliga företagsadresser då dessa inte går att använda om personerna slutar på företaget.

Mejla följande uppgifter till foretagsdatalabbet@bolagsverket.se

  • Namn på organisation
  • Organisationsnummer
  • Mobiltelefonnummer
  • E-postadress som tillhör organisationen (inte personlig e-postadress)
  • Namn på den applikation som ska använda API

Bolagsverket önskar inte personliga uppgifter såsom för- och efternamn samt e-postadress till den personen som beställer API. Däremot krävs mobilnummer till en individ i organisationen som kan ta emot lösenordet.

Avvakta mailsvar från Bolagsverket, med instruktioner hur du går vidare.

Det är manuell hantering för tillfället så det kan dröja en dag eller två.

Vad du ska tänka på när du utvecklar en applikation som anropar Företagsdatalabbets API

Kontrollera autentisering

Finns aktuell autentisering? (en access token som inte är utgången)

Om ja: gå till 3.

Begär access token

Gör en HTTP POST till token endpoint.

Ange client id och client secret som basic auth:

> POST /oauth2/token HTTP/1.1> Host: ...
> Authorization:Basic base64(client_id:client_secret)
> Content-Type: application/x-www-form-urlencoded
>
> grant_type=client_credentials&scope=scope1+scope2

Alternativt kan credentials skickas i request body:

> POST /oauth2/token HTTP/1.1
> Host: ...
> Content-Type: application/x-www-form-urlencoded
>
> grant_type=client_credentials&client_id=xxx&client_secret=yyy&scope=scope1+scope2

Access token response ser ut som följer:

{

"access_token": "...",

"scope": "scope1scope2",

"token_type": "Bearer",

"expires_in": 3600

}

Spara access token och giltighetstid för att kunna kontrollera detta i efterföljande anrop i steg 1.

Anropa API

Anropa API:et via API gateway. Endpoints kan hittas i Developer Portal.

Access token skickas i Authorization-headern.

> GET /api/v1/fooHTTP/1.1
> Host: ...
> Authorization: Bearer access_token

Exempel

curl på un*x

Nedanstående exempel använd .netrc för att inte ange anslutningsuppgifter som argument till curl på kommandoraden vilket exponerar anslutningsuppgifter i processlistningar och historik för interaktiva terminalsessioner.

Access token är relativt kortlivad men i nedanståendeexempel exponeras den i processlistningar. Tänk därför på var detta körs och rensa interaktiv kommando historik eller använd någon annan metod.

Skapa först en fil bvportal.netrc med anslutningsuppgifterna för token endpoint:

machine portal-accept2.api.bolagsverket.se Länk till annan webbplats.
login client_id
password client_secret

# Se till att bvportal.netrc inte kan läsas av andra
$ chmod 0600 bvportal.netrc

# Begär access token
$token=`curl --silent--netrc-file bvportal.netrc \ https://portal-accept2.api.bolagsverket.se/oauth2/token Länk till annan webbplats. \-d "grant_type=client_credentials&scope=minaombud:testbadd" \| sed -rn 's/.*"access_token"\s*:\s*"([^"]*)".*/\1/p'`

# Anropa API
$ curl-H"Authorization: Bearer $token"https://gw-accept2.api.bolagsverket.se/testbadd-minaombud/v1/sok/behorigheter\-H Länk till annan webbplats. "Content-Type: application/json" \-d '{"fullmaktshavare": "195308182301", "fullmaktsgivare": "195008182304","tredjeman": "5566789911"}'

PowerShell

Exemplen i PowerShell exponerar inte credentials till andraprocesser. Tänk dock på att rensa historik för kommandoraden om nedanstående körs i en interaktiv session.

# Begär access tokenPS
> $token = Invoke-RestMethod https://portal-accept2.api.bolagsverket.se/oauth2/token Länk till annan webbplats. `
-Method POST `
-Body @{grant_type="client_credentials";client_id="...";client_secret="..."} `| Select -ExpandProperty access_token

# Anropa API
> Invoke-RestMethod https://gw-accept2.api.bolagsverket.se/testbadd-minaombud/v1/sok/behorigheter Länk till annan webbplats. `
-Method POST
-ContentType "application/json" `
-Headers @{Authorization="Bearer $token"} `
-Body (@{fullmaktshavare="195308182301"; fullmaktsgivare="195008182304"; tredjeman="5566789911"} | ConvertTo-Json)

Kontakt och support

För att kontakta oss på Företagsdatalabbet mejlar du foretagsdatalabbet@bolagsverket.se.