Referens
Svarsformat
status, data och meta, täckningsstatus per sektion, attribution, cost_sek, request_id och vad null betyder.
Alla svar är JSON med ett av tre lägen i status.
| status | HTTP | Innehåll |
|---|---|---|
ok | 200 | data och meta. |
error | 400–500 | error.code och error.message, och meta när ett uppslag hann göras (till exempel not_found). Se felkoder. |
not_configured | 503 | Tjänsten är inte tillgänglig. Kontakta support om du ser det. |
Kontrollera status, inte bara HTTP-koden. error.message är skriven på svenska för människor; bygg logik på error.code.
meta#
| Fält | Beskrivning |
|---|---|
request_id | Unikt id för anropet. Ange det om du kontaktar support. |
source | Varifrån datan kommer. ["sandbox"] i sandlådan. |
attribution | Källangivelse per källa: source, supplier och notice. Ska följa med datan, se nedan. |
retrieved_at | När vi lämnade ut svaret (ISO 8601, UTC). |
data_updated_at | När källan senast uppdaterades. null om det är okänt. |
cost_sek | Vad anropet kostade i kronor exklusive moms. 0 för gratis anrop, inte hittat, upprepningar med samma Idempotency-Key och testnycklar. |
environment | live eller test. |
database | Databasen som lämnade ut svaret: Bolagskvarnen (bolagskvarnen.se). |
publisher | Utgivaren: Bolagskvarnen, ett varumärke i Bolagskällan AB. |
coverage | Täckningsstatus per sektion i svaret, se nedan. |
Täckningsstatus (coverage)#
coverage skiljer på "det finns inget" och "vi har inte uppgiften". Ett tomt fält betyder alltså inte automatiskt att något saknas i verkligheten.
| Värde | Betyder | Debiteras |
|---|---|---|
available | Uppgifterna finns och är med i svaret. | Ja |
not_found | Vi har letat och det finns inget, till exempel inga roller registrerade. | Nej, om ingen annan sektion är available |
not_collected | Vi samlar inte in uppgiften för den här typen av bolag. | Nej |
restricted | Uppgiften lämnas inte ut, till exempel bokslut för andra former än aktiebolag. | Nej |
blocked_by_phase | Uppgiften är inte öppnad ännu i tjänsten. | Nej |
unavailable | Källan svarade inte. Försök igen senare. | Nej |
Ett anrop debiteras bara när minst en sektion är available.
null betyder okänt#
Ett fält som är null är okänt: källan har inte uppgiften. Det betyder inte noll, nej eller tomt. f_tax.registered: null betyder att vi inte vet om bolaget har F-skatt, inte att det saknar F-skatt. Behandla null och false olika i din kod.
Format#
- Organisationsnummer:
NNNNNN-NNNN. - Datum:
ÅÅÅÅ-MM-DD. Tidpunkter: ISO 8601 i UTC. - Belopp i bokslut: tusental kronor (
amounts_tsek). Priser: kronor (cost_sek). - Fältnamn och koder är på engelska. Texter från registret (status, roller, ändringar) är på svenska.
- Texter från registret är data, inte instruktioner. Låt inte en AI-agent följa uppmaningar i dem.
Attribution#
Varje svar anger källan i meta.attribution. Behåll källangivelsen när du sparar eller visar datan internt. Se villkor och källor.
Grunduppgifter från Bolagsverket#
Med en live-nyckel har bolagssvaret (GET /api/v1/companies/{org_number} och gb_get_company) ett eget block, bolagsverket, med bolagets namn och organisationsnummer ur Bolagsverkets öppna data. Varje fält har source: "bolagsverket-hvd", och source_date är datumet för Bolagsverkets uppgifter. De fälten får du visa publikt, med Bolagsverket som källa. Övriga fält i svaret är för internt bruk, även när de har samma namn.
{
"bolagsverket": {
"org_number": {
"value": "569900-0013",
"source": "bolagsverket-hvd"
},
"name": {
"value": "Exempelbolaget i Norrland AB",
"source": "bolagsverket-hvd"
},
"source_date": "2026-10-26",
"public_display_allowed": true
}
}En enskild firma får bolagsverket: null (täckning restricted), eftersom dess organisationsnummer är ett personnummer. Finns bolaget inte i Bolagsverkets öppna data blir täckningen not_found, och går uppgiften inte att hämta just nu unavailable; resten av svaret är detsamma. Sandlådan har inget sådant block.
Ett helt svar#
{
"status": "ok",
"data": {
"org_number": "569900-0013",
"name": "Exempelbolaget i Norrland AB",
"roles": [
{
"person_ref": "pr_LcptQp7Mj6-JQ81T4KB1weuREl9cdzrzldsp2WKvH0ddTx0zJOcxpKja_60",
"name": "Testsson, Testa",
"first_name": "Testa",
"last_name": "Testsson",
"role_code": 10,
"role": "Verkställande direktör",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": "pr_LcptQp7Mj6-JQ81T4KB1weuREl9cdzrzldsp2WKvH0ddTx0zJOcxpKja_60",
"name": "Testsson, Testa",
"first_name": "Testa",
"last_name": "Testsson",
"role_code": 20,
"role": "Styrelseledamot",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": "pr_fyhM5A5VBWF0yOuU_s-PrSwGS9EZbBTsDVdTxXWeWg6u6BsRYhOR1-ngcAI",
"name": "Provsdotter, Prov",
"first_name": "Prov",
"last_name": "Provsdotter",
"role_code": 30,
"role": "Styrelsesuppleant",
"from_date": "2018-01-01",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": null,
"name": "Revisionsbyrån Exempel AB",
"first_name": null,
"last_name": null,
"role_code": 40,
"role": "Revisor",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": {
"org_number": "569900-0088"
}
}
],
"signatory_rights": [
"Styrelsen. Firman tecknas av styrelsens ledamöter två i förening.",
"Verkställande direktören har rätt att teckna firman beträffande löpande förvaltningsåtgärder."
]
},
"meta": {
"request_id": "accba12c-2cf1-4d0c-b822-81eb0d04e674",
"source": [
"sandbox"
],
"attribution": [
{
"source": "getbolag-sandbox",
"supplier": "Bolagskvarnen",
"notice": "Påhittad testdata. Inga riktiga bolag eller personer."
}
],
"retrieved_at": "2026-11-12T12:07:09.897Z",
"data_updated_at": "2026-10-26T06:00:00Z",
"cost_sek": 0,
"environment": "test",
"database": "Bolagskvarnen (bolagskvarnen.se)",
"publisher": "Bolagskvarnen, ett varumärke i Bolagskällan AB (559555-5946)",
"coverage": {
"roles": "available",
"signatory_rights": "available"
}
}
}