Swedish annual report key figures (iXBRL), decoded
Swedish annual report key figures (iXBRL), decoded. Financials from a Swedish company's latest digitally filed annual report (årsredovisning, 2020+). We decode Bolagsverket's iXBRL (K2/K3) into net revenue, operating profit, profit after financial items, total assets, equity and average employees, with fiscal year and filing date. Example: /api/v1/se/company/5567647176/annual-report. Digital filing is voluntary — about 1 in 8 companies has one; a 404 is not charged.
20000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-01
updated
Provider
x402-gateway.ai · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x9d305938253c491F7259d437efF064418B3FDFa0",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "20000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"pathParams": {
"orgnr": "5567647176"
},
"queryParams": {},
"type": "http"
},
"output": {
"example": {
"data": {
"currency": "SEK",
"document": {
"filed_at": "2026-05-07",
"format": "application/zip"
},
"fiscal_year": {
"from": "2025-01-01",
"to": "2025-12-31"
},
"identifier": "SE:orgnr:5567647176",
"key_figures": {
"employees_avg": 7,
"equity": 667091,
"net_revenue": 15776000,
"operating_profit": -280765,
"profit_after_financial_items": -375698,
"total_assets": 5735790
}
},
"source": {
"attribution": "Källa: Bolagsverket och SCB",
"mock": false,
"name": "bolagsverket-open",
"retrieved_at": "2026-08-31T19:38:26Z"
}
},
"type": "json"
}
},
"routeTemplate": "/api/v1/se/company/:orgnr/annual-report",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"properties": {
"orgnr": {
"description": "Swedish organisationsnummer, 10 digits without hyphen",
"pattern": "^\\d{10}$",
"type": "string"
}
},
"required": [
"orgnr"
],
"type": "object"
},
"queryParams": {
"properties": {},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"data": {
"description": "Key figures from the latest filed annual report",
"properties": {
"currency": {
"description": "ISO 4217, e.g. \"SEK\"",
"type": "string"
},
"document": {
"properties": {
"filed_at": {
"anyOf": [
{
"description": "Filing date (ISO 8601 date, YYYY-MM-DD)",
"type": "string"
},
{
"type": "null"
}
]
},
"format": {
"description": "Format of the filed document package",
"type": "string"
}
},
"required": [
"format",
"filed_at"
],
"type": "object"
},
"fiscal_year": {
"properties": {
"from": {
"description": "Period start (ISO 8601 date, YYYY-MM-DD)",
"type": "string"
},
"to": {
"description": "Period end (ISO 8601 date, YYYY-MM-DD)",
"type": "string"
}
},
"required": [
"from",
"to"
],
"type": "object"
},
"identifier": {
"description": "Global identifier, e.g. \"SE:orgnr:5567647176\"",
"type": "string"
},
"key_figures": {
"description": "Whole currency units; null when the filing lacks the figure",
"properties": {
"employees_avg": {
"description": "Average number of employees",
"type": [
"number",
"null"
]
},
"equity": {
"type": [
"number",
"null"
]
},
"net_revenue": {
"type": [
"number",
"null"
]
},
"operating_profit": {
"type": [
"number",
"null"
]
},
"profit_after_financial_items": {
"type": [
"number",
"null"
]
},
"total_assets": {
"type": [
"number",
"null"
]
}
},
"required": [
"net_revenue",
"operating_profit",
"profit_after_financial_items",
"total_assets",
"equity",
"employees_avg"
],
"type": "object"
}
},
"required": [
"identifier",
"fiscal_year",
"currency",
"key_figures",
"document"
],
"type": "object"
},
"raw": {
"description": "Native upstream document metadata (Bolagsverket dokumentlista). Always present in responses; omitted from the published example."
},
"source": {
"description": "Where the data came from",
"properties": {
"attribution": {
"description": "Attribution text required by the data licence",
"type": "string"
},
"mock": {
"description": "true when the data is a labelled fixture rather than live register data",
"type": "boolean"
},
"name": {
"description": "Gateway source adapter that produced the data",
"type": "string"
},
"retrieved_at": {
"description": "When the upstream data was fetched (ISO 8601 timestamp)",
"type": "string"
}
},
"required": [
"name",
"attribution",
"retrieved_at",
"mock"
],
"type": "object"
}
},
"required": [
"data",
"source"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://x402-gateway.ai/api/v1/se/company/:orgnr/annual-report" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://x402-gateway.ai/api/v1/se/company/:orgnr/annual-report");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://x402-gateway.ai/api/v1/se/company/:orgnr/annual-report")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8290.json, and this resource appears in /discovery/resources and /discovery/search.