Company records in Sweden
Your agent looks up companies in Sweden through Swedish Company Data. The data comes from Bolagsverket Värdefulla datamängder API (Swedish Companies Registration Office, EU Open Data Directive HVD).
Swedish Company Data
Look up a Swedish company at Bolagsverket by organisation number, including identity, status, address and recorded proceedings.
- Source
- Bolagsverket Värdefulla datamängder API (Swedish Companies Registration Office, EU Open Data Directive HVD)
- Price per call
- €0.05 · x402 $0.054
- Returns
- Name and number, Status, Address
- Last recorded test
- 5 Nov 2026, 100% of its tests passed on their latest run
- Method
- Computed by fixed rules and lookups; no AI model writes the answer.
What your agent sends
| Field | Type | Required | What it is |
|---|---|---|---|
org_number | string | Yes | Swedish organisationsnummer (10 digits, e.g. 556703-7485) |
Example answer
{
"status": "active",
"is_active": true,
"sni_codes": [
{
"code": "60100",
"description": "Radiosändning och distribution av ljudinspelningar"
}
],
"legal_form": "Övriga aktiebolag",
"org_number": "556703-7485",
"vat_number": "SE556703748501",
"company_name": "Spotify AB",
"company_type": "Aktiebolag",
"country_code": "SE",
"legal_form_code": "49",
"registered_date": "2006-05-10",
"alternative_names": [],
"company_type_code": "AB",
"deregistered_date": null,
"ongoing_procedures": [],
"registered_address": {
"city": "STOCKHOLM",
"street": "Regeringsgatan 19",
"country": "Sverige",
"co_address": null,
"postal_code": "11153"
},
"business_description": "Bolaget har till föremål för sin verksamhet att bedriva Internetrelaterade tjänster...",
"deregistration_reason": null
} Fields that come back
| Field | Type | Appears |
|---|---|---|
status | one of active, deregistered, unknown | Always (present in every successful answer) |
is_active | boolean or null | Always (present in every successful answer) |
sni_codes | array | Always (present in every successful answer) |
legal_form | string or null | Usually (present for most inputs) |
org_number | string | Always (present in every successful answer) |
vat_number | string | Always (present in every successful answer) |
company_name | string | Always (present in every successful answer) |
company_type | string | Always (present in every successful answer) |
country_code | string | Always (present in every successful answer) |
legal_form_code | string or null | Usually (present for most inputs) |
registered_date | string or null | Always (present in every successful answer) |
alternative_names | array | Always (present in every successful answer) |
company_type_code | string | Always (present in every successful answer) |
deregistered_date | string or null | Sometimes (present only for some inputs) |
ongoing_procedures | array | Always (present in every successful answer) |
registered_address | object or null | Usually (present for most inputs) |
business_description | string or null | Usually (present for most inputs) |
deregistration_reason | string or null | Sometimes (present only for some inputs) |
How to call it
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "swedish-company-data",
"inputs": {
"org_number": "556703-7485"
},
"max_price_cents": 5
}' {
"tool": "strale_execute",
"arguments": {
"slug": "swedish-company-data",
"inputs": {
"org_number": "556703-7485"
},
"max_price_cents": 5
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "swedish-company-data",
inputs: {
"org_number": "556703-7485"
},
max_price_cents: 5,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="swedish-company-data",
inputs={
"org_number": "556703-7485",
},
max_price_cents=5,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/swedish-company-data?org_number=556703-7485' Limitations
Registry data only; no financial statements
Bolagsverket’s open company data covers names, legal forms, status, addresses, SNI codes, registration dates and insolvency flags. Annual-report figures such as revenue, profit, employee counts and equity are not included.
What to do instead: Order an annual report or financial statement extract from Bolagsverket.
Organisation number required; no name search
Looks up companies by organisation number only; it does not search by name.
What to do instead: Find the organisation number on an official company document or in the registry, then pass it as `org_number`.
Enskild näringsidkare may return multiple entries
Sole traders (enskild näringsidkare) can have several companies registered under the same personal identity number. Lookup returns only the first entry, so other registrations under that number are not included.
What to do instead: Prefer aktiebolag organisationsnummer (10 digits starting 2–9) for unambiguous single-entry lookups.
Deregistered company data may be historical only
Deregistered companies (avregistrerad) still return registry data, but the data reflects the state at deregistration. `is_active` is false and `deregistered_date` is populated.
What to do instead: Always check the `is_active` and `deregistered_date` fields before using returned data for live decisions.
Bundled checks for Sweden
- Company check €1.50
- Full check €2.50
- Invoice-issuer check €2.50
Screen the company or its people
Results are matches for a person to review, not a verdict.
- Sanctions Check €0.20
- PEP Check €0.05
- Adverse Media Check €0.20