# Swedish Company Financials (Annual Reports) (`fabriken2026/swedish-company-financials`) Actor

Swedish company financials from official annual reports: revenue, profit, equity, employees. Bolagsverket open data - the numbers credit agencies resell.

- **URL**: https://apify.com/fabriken2026/swedish-company-financials.md
- **Developed by:** [David](https://apify.com/fabriken2026) (community)
- **Categories:** AI, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00 / 1,000 successful financials lookups

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Swedish Company Financials (Annual Reports)

**Verified official source - never hallucinated.** Every figure this
Actor returns comes from an annual report the company itself filed with
**Bolagsverket** (the Swedish Companies Registration Office) - not from
an AI model's estimate, not from a scraped directory, not from a paid
reseller.

### Why this Actor?

Credit checks, due diligence and supplier vetting on Swedish companies
usually mean paying a credit agency for data the companies themselves
filed publicly. Since February 2025, digitally filed Swedish annual
reports are available **free at the source** under the EU high-value
datasets regulation. This Actor turns that source into a clean,
structured lookup your credit or due-diligence agent can call -
deterministic, verifiable, and never hallucinated.

### Features

- **Get the revenue of any Swedish company** from its latest digitally
  filed annual report (aktiebolag).
- **Check the profit or loss of a Swedish company** - net result for the
  latest filed fiscal year, losses shown as negative numbers.
- **Look up equity and employee count for Swedish companies** - the core
  numbers behind a quick financial health check.
- **Batch financial lookups by org number** - up to 50 companies per run,
  with or without hyphen.
- **Filed facts, not estimates** - figures come from the company's own
  adopted annual report, with fiscal year and source date on every row.
- **Official Bolagsverket open data** - no scraping, no third-party
  databases, no AI in the loop. Same input, same output, every time.
- **GDPR-safe financial data API** - company-level figures only; board
  members and auditors are never returned.

### Use cases

- **Credit screening before invoicing:** a $0.02 sanity check on revenue,
  result and equity before you extend payment terms.
- **Supplier and customer due diligence:** batch-check a whole vendor
  list instead of buying one-off credit reports.
- **AI agents for finance and procurement:** ground your agent's answers
  about Swedish company finances in filed, citable numbers.
- **Portfolio and market monitoring:** track key figures for competitors,
  customers or an investment watchlist year over year.
- **Data enrichment:** add revenue, result, equity and employees to CRM
  or lead records keyed by organisation number.

### Input

```json
{
    "organisationNumbers": ["556999-9997", "559999-9991"]
}
````

Up to 50 numbers per run, with or without hyphen.

### Output (dataset items)

```json
{
    "input": "556999-9997",
    "ok": true,
    "orgNumber": "556999-9997",
    "name": "Testbolaget Exempel AB",
    "fiscalYear": "2025-01-01 - 2025-12-31",
    "revenueSEK": 15200000,
    "netResultSEK": 1340000,
    "equitySEK": 4100000,
    "employees": 14,
    "source": "Bolagsverket, API för värdefulla datamängder",
    "sourceDate": "2026-07-10",
    "dataMode": "LIVE"
}
```

The **latest** filed fiscal year is returned automatically. Invalid
numbers, unknown companies and companies without a digitally filed annual
report come back as items with `ok: false` and an explanation - and are
**never charged**.

### Pricing (pay-per-event)

| Event | Price | When |
|---|---|---|
| `financials-lookup` | $0.02 | Per successful lookup only |

That is ~$20 per 1,000 companies - compare that to a credit agency
subscription. Failed lookups and "no digital report filed" results are
free. No subscription, no minimum, no rental fee.

### FAQ

**How do I find the revenue of a Swedish company for free?**
The underlying data is free at the source (Bolagsverket's high-value
dataset API), but using it requires a registered client, iXBRL parsing
and GDPR filtering. This Actor does all of that for $0.02 per company.

**Is this the same data credit agencies sell?**
The core figures - revenue, result, equity, employees - come from the
same filed annual reports. Credit agencies add scoring models on top;
this Actor gives you the verifiable raw numbers at open-data cost.

**Which companies are covered?**
Swedish limited companies (aktiebolag) that filed their annual report
**digitally**. A company that filed on paper is simply absent from the
source - absence says nothing about its finances.

**How current are the numbers?**
As current as the company's latest adopted annual report. Filed figures
can be over a year old; that is a property of annual reporting itself,
not of this Actor. Never base a credit decision on this data alone.

**Can my AI agent call this?**
Yes. Small, flat JSON output designed for tool-calling agents via the
Apify API or MCP - so the agent cites filed figures instead of inventing
them.

**Why not just ask an LLM or a web search?**
Because both will happily produce a plausible-looking revenue figure with
no source. Every row here carries the fiscal year, the source and the
retrieval date - auditable by anyone.

### GDPR & privacy by design

This Actor handles **legal entities only**:

- Sole traders are always rejected - their organisation number is the
  owner's personal identity number (personal data under GDPR).
- Board members, auditors and any other natural persons are **never**
  returned, even though they appear in the underlying annual report. The
  output is a strict allowlist of company-level figures.
- Only limited companies (aktiebolag) are supported in v1.

### Permissions & security

This Actor runs with Apify's **limited permissions** model: it reads its
own input, writes to its own default dataset and calls the official
registry API over HTTPS - nothing else. It requests no access to your
other Actors, storages or account data.

### Data source & license

Data comes from **Bolagsverket** (Swedish Companies Registration Office),
API for high-value datasets - digitally filed annual reports. Free of
charge under EU Implementing Regulation 2023/138 on high-value datasets -
the license permits reuse, including commercial reuse. This Actor is
independent and not affiliated with or endorsed by Bolagsverket.

### Terms of use

- **Business use only.** This Actor is intended exclusively for use in the
  course of business (B2B). By using it you confirm you are acting as a
  business, not a consumer.
- **As is.** The service and all data are provided "as is", without
  warranties of any kind - no guarantee of accuracy, completeness,
  timeliness or availability.
- **Liability cap.** Total aggregate liability for all claims in any
  12-month period is limited to the amount you paid for the service in
  that period. No liability for indirect or consequential damages, lost
  profits, credit losses or lost data. Nothing in these terms limits
  liability that cannot lawfully be limited.
- **Fair use.** No bulk re-selling of raw data, no circumventing rate
  limits, no use that violates Bolagsverket's terms.

### Versioning & support

Versions are locked - the Actor never silently changes behaviour under
you. Changes are released as new versions with a changelog entry.

Part of the **Swedish Data Tools** family: company lookup, company
financials, new company registrations, public procurement search and
official statistics - all built on official Swedish and EU data sources.

#### Changelog

- **0.1** - initial release: revenue, net result, equity, employees and
  fiscal year from the latest digitally filed annual report of Swedish
  limited companies. Pay-per-event pricing.

# Actor input Schema

## `organisationNumbers` (type: `array`):

Swedish organisation numbers of limited companies (aktiebolag), with or without hyphen, e.g. <code>556999-9997</code>. Max 50 per run. Sole traders are always rejected: their organisation number is the owner's personal identity number (personal data under GDPR).

## Actor input object example

```json
{
  "organisationNumbers": [
    "556999-9997",
    "559999-9991"
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "organisationNumbers": [
        "556999-9997",
        "559999-9991"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fabriken2026/swedish-company-financials").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "organisationNumbers": [
        "556999-9997",
        "559999-9991",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("fabriken2026/swedish-company-financials").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "organisationNumbers": [
    "556999-9997",
    "559999-9991"
  ]
}' |
apify call fabriken2026/swedish-company-financials --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fabriken2026/swedish-company-financials",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Swedish Company Financials (Annual Reports)",
        "description": "Swedish company financials from official annual reports: revenue, profit, equity, employees. Bolagsverket open data - the numbers credit agencies resell.",
        "version": "0.1",
        "x-build-id": "5JNdp6ONaoaCSTR5Y"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fabriken2026~swedish-company-financials/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fabriken2026-swedish-company-financials",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fabriken2026~swedish-company-financials/runs": {
            "post": {
                "operationId": "runs-sync-fabriken2026-swedish-company-financials",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fabriken2026~swedish-company-financials/run-sync": {
            "post": {
                "operationId": "run-sync-fabriken2026-swedish-company-financials",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "organisationNumbers"
                ],
                "properties": {
                    "organisationNumbers": {
                        "title": "Organisation numbers",
                        "type": "array",
                        "description": "Swedish organisation numbers of limited companies (aktiebolag), with or without hyphen, e.g. <code>556999-9997</code>. Max 50 per run. Sole traders are always rejected: their organisation number is the owner's personal identity number (personal data under GDPR).",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
