Sweden Company Filings (Bolagsverket) API and MCP — Registry Cases by Organisation Number
Send a Swedish organisation number and this source lists the company's most recent registry cases, newest first: case number, type, status, arrival and registration dates, and the financial period where it applies.
- You send
- A Swedish organisation number, plus optional max_items and start_page
- You get back
- Recent registry cases newest first, with case number, type, status, arrival and registration dates and financial period
- Coverage
- Sweden — entities on Bolagsverket.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| Bolagsverket directly | Open the company on Bolagsverket and page through the list | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers Sweden — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
total_items | number | Records returned in this response. |
total_found | number | Cases found for the company. |
page_count | number | Pages read for this response. |
first_item | object | The first case, same shape as items entries. |
items | array | Returned cases. |
items[].registration_number | string | Case number, for example 577554/2026. |
items[].id | string | Case number, same as registration_number. |
items[].company_registration_number | string | Organisation number of the company. |
items[].name | string | Case type in Swedish, for example Ändring av aktier (change of shares). |
items[].type | string | Case type in Swedish. |
items[].type_code | string | Short type code, for example AKT or DELÅR. |
items[].description | string | Case description, same as the type in the sample. |
items[].status | string | Case status in English, for example The case has been received. |
items[].status_sv | string | Case status in Swedish. |
items[].open | boolean | Whether the case is still open. |
items[].date | string | Main date of the case. |
items[].arrival_date | string | Date the case arrived. |
items[].registration_date | null | Registration date. Null while the case is open. |
items[].approved_date | null | Approval date. Null in the sample. |
items[].period_from | string | Start of the financial period. Null for cases without one. |
items[].period_to | string | End of the financial period. Null for cases without one. |
items[].fee_due | number | Fee due on the case. |
items[].fee_paid | number | Fee paid on the case. |
items[].url | string | Link to the cases on the register. |
items[].address, company_type, incorporation_date | null | Company fields shared with the search shape. Null here. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "se_company_filings",
"company": "556012-5790",
"company_id": "5560125790",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Sweden — Bolagsverket — company cases\n\n- **Company:** 5560125790\n- **Results:** 2 of 3 found\n- **Proxy traffic:** 2.1 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "577554/2026",
"company_registration_number": "556012-5790",
"name": "Ändring av aktier",
"status": "The case has been received",
"address": null,
"url": "https://foretagsinfo.bolagsverket.se/sok-foretagsinformation-web/arende/foretag/5560125790",
"company_type": null,
"incorporation_date": null,
"id": "577554/2026",
"date": "2026-10-05",
"arrival_date": "2026-10-05",
"registration_date": null,
"type": "Ändring av aktier",
"type_code": "AKT",
"description": "Ändring av aktier",
"status_sv": "Ärendet är mottaget",
"open": true,
"period_from": null,
"period_to": null,
"approved_date": null,
"fee_due": 1200,
"fee_paid": 0
},
"items": [
{
"registration_number": "577554/2026",
"company_registration_number": "556012-5790",
"name": "Ändring av aktier",
"status": "The case has been received",
"address": null,
"url": "https://foretagsinfo.bolagsverket.se/sok-foretagsinformation-web/arende/foretag/5560125790",
"company_type": null,
"incorporation_date": null,
"id": "577554/2026",
"date": "2026-10-05",
"arrival_date": "2026-10-05",
"registration_date": null,
"type": "Ändring av aktier",
"type_code": "AKT",
"description": "Ändring av aktier",
"status_sv": "Ärendet är mottaget",
"open": true,
"period_from": null,
"period_to": null,
"approved_date": null,
"fee_due": 1200,
"fee_paid": 0
},
{
"registration_number": "9627961/2026",
"company_registration_number": "556012-5790",
"name": "Delårsrapport",
"status": "The case has been received",
"address": null,
"url": "https://foretagsinfo.bolagsverket.se/sok-foretagsinformation-web/arende/foretag/5560125790",
"company_type": null,
"incorporation_date": null,
"id": "9627961/2026",
"date": "2026-08-21",
"arrival_date": "2026-08-21",
"registration_date": null,
"type": "Delårsrapport",
"type_code": "DELÅR",
"description": "Delårsrapport",
"status_sv": "Ärendet är mottaget",
"open": true,
"period_from": "2026-01-01",
"period_to": "2026-12-31",
"approved_date": null,
"fee_due": 0,
"fee_paid": 0
}
],
"total_found": 3,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 2117
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-se-company-filings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"556012-5790","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Newest-first cases show what has just been filed and whether it is still open.
Case types and financial periods show which annual and interim reports were submitted.
Open flag, status and dates show whether a change such as new shares has been registered yet.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Sweden — entities on Bolagsverket.
Read at request time, so the answer reflects the register as it stands when you ask.
Bolagsverket is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —The docs describe the most recent cases, not the complete history.
- —Items give case metadata. They do not contain the report contents.
- —Each returned case is billed, so set max_items to what you need.
Questions, answered
The docs list annual reports, interim reports and register updates. The sample shows a change of shares and an interim report.
Related sources
Try sweden company filings on your own data
One request format across every source in the catalog.