# Allabolag Scraper — Sweden Company Data & Leads (`logiover/allabolag-scraper`) Actor

Scrape allabolag.se Swedish company registry: name, organisationsnummer, address, industry (SNI/bransch), revenue, profit, employees, CEO (VD), phone and email. No login, no API key. Great for Sweden B2B leads and firmographic data export.

- **URL**: https://apify.com/logiover/allabolag-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

<div align="center">

<img src="https://cdn-icons-png.flaticon.com/128/3135/3135715.png" width="92" alt="Allabolag Scraper"/>

## 🇸🇪 Allabolag Scraper — Sweden Company Data, Financials & B2B Leads

#### Scrape **allabolag.se** (Sweden's company directory, powered by Dun & Bradstreet data) — company name, **organisationsnummer**, address, industry (SNI/bransch), **revenue, profit & employees**, and the **CEO (VD) name, phone, email & website**. No login, no API key.

<p>
<img src="https://img.shields.io/badge/✓_NO_LOGIN-no_API_key-2ea44f?style=for-the-badge&labelColor=0b3d2e"/>
<img src="https://img.shields.io/badge/🇸🇪_ALLABOLAG.SE-Sweden-006aa7?style=for-the-badge&labelColor=003a5d"/>
<img src="https://img.shields.io/badge/B2B-firmographics_+_leads-ffcd00?style=for-the-badge&labelColor=8a6d00"/>
</p>
<p>
<img src="https://img.shields.io/badge/Org_number-organisationsnummer-006aa7?style=flat-square"/>
<img src="https://img.shields.io/badge/Financials-revenue·profit·employees-008060?style=flat-square"/>
<img src="https://img.shields.io/badge/CEO_(VD)-+_phone_+_email-e91e63?style=flat-square"/>
<img src="https://img.shields.io/badge/Export-JSON·CSV·Excel·API-f59e0b?style=flat-square"/>
</p>

<br/>

**The fastest way to turn any <a href="https://www.allabolag.se">allabolag.se</a> industry or keyword search into a clean, structured Sweden company dataset.** This **allabolag scraper** pulls the **Swedish business registry** firmographics *and* the financials (revenue, profit, employees) for virtually every registered Swedish company — plus CEO, phone and email for B2B leads. It works as an unofficial **allabolag API**, with **no login and no API key**, and exports straight to **CSV, Excel, JSON or the Apify API**.

</div>

---

### 📖 What does the Allabolag scraper do?

[allabolag.se](https://www.allabolag.se) is one of Sweden's largest company-information portals — firmographics and financial figures (Dun & Bradstreet sourced) for nearly every registered Swedish company (*aktiebolag*, *handelsbolag*, *enskild firma* and more). It is the go-to public source for a **Swedish companies database**.

This actor reads allabolag.se's own structured data and turns any **industry (bransch), keyword or company-name search** into an analysis-ready table — **one clean row per company**. It **auto-paginates** through the entire result set (25 companies per page) up to your limit and de-duplicates by **organisationsnummer**.

It is **two tools in one**:

> 🏢 a **Sweden company data export** — firmographics + financials for market research, TAM sizing, CRM enrichment, dashboards and ML — and
> 🎯 a **Sweden B2B lead engine** — every company carries the **CEO (VD) name, phone, email and website** where the source publishes them, so one run becomes a targeted sales list.

A practical **allabolag unofficial API** and **Swedish business registry** export tool — no scraping infrastructure to maintain, no captcha to fight.

---

### ✨ Features

- 🔎 **Search by industry or keyword** — type a *bransch* (`marketing`, `bygg`, `IT`, `restaurang`), a keyword or a company name, exactly like the allabolag.se search box. Or paste ready-made search URLs.
- 🏢 **Full firmographics** — name, legal name, **organisationsnummer**, status, industry + industry code, full address, city, kommun, län and coordinates.
- 💰 **Financials** — **revenue (omsättning), profit/result, employees (antal anställda)** and accounting year — straight from the search results.
- 🧑‍💼 **B2B lead fields** — **CEO / VD name**, role, birth date, plus **phone, mobile, email and website** where available.
- 🔬 **Deep enrichment** (`fetchDetails`) — adds **board members**, **company form (AB/HB/EF)**, **F-skatt & moms (VAT)** registration status, **share capital**, registration & foundation dates, SNI/NACE code, parent company and estimated turnover.
- 📑 **Auto-pagination** — walks every page of any search up to your `maxResults`.
- 🧹 **Clean flat columns** — financials and coordinates as plain numbers; de-dupe by org number.
- 🌐 **No login, no API key** — runs on Apify datacenter proxy by default with retry + redirect handling.
- 📤 **Export anywhere** — **CSV, Excel, JSON, HTML** or pull via the Apify API and webhooks.

---

### 📊 What data you get

One structured record per company. Search-list fields are always present; **detail-only** fields are filled when `fetchDetails` is on.

| Field | Description |
|---|---|
| `companyName` | Company display name |
| `legalName` | Registered legal name |
| `orgNumber` | **Organisationsnummer** — unique Swedish company registration number |
| `url` | Company profile URL on allabolag.se |
| `status` | Registration status (e.g. `ACTIVE`) |
| `companyForm` / `companyFormCode` | Company form & code — Aktiebolag / `AB`, etc. *(detail)* |
| `industry` / `industryCode` | Primary industry (bransch) and its code |
| `sniCode` | SNI / NACE industry code *(detail)* |
| `industries` | All listed industries, comma-joined |
| `address` / `zip` / `city` | Street address, postcode, post town |
| `municipality` / `county` / `countryPart` | Kommun, län and region |
| `phone` / `mobile` | Company phone and mobile |
| `email` / `homePage` | Company email and website |
| `ceoName` / `ceoRole` / `ceoBirthDate` | **CEO (VD)** name, role and birth date |
| `revenue` | Revenue / omsättning — **in thousands of SEK (kSEK)** |
| `profit` | Profit / result — **in thousands of SEK (kSEK)** |
| `currency` | Reporting currency (e.g. `SEK`) |
| `employees` | Number of employees |
| `accountsYear` | Latest accounts / accounting year |
| `estimatedTurnover` | Estimated turnover band where published |
| `lat` / `lng` | Latitude & longitude of the registered address |
| `shareCapital` | Share capital — **in thousands of SEK (kSEK)** *(detail)* |
| `registrationDate` / `foundedDate` / `registrationYear` | Registration & foundation dates *(detail)* |
| `fskatt` | **F-skatt** registration status *(detail)* |
| `momsregistrerad` | **Moms / VAT** registered (`true`/`false`) *(detail)* |
| `boardMembers` | Board members & roles, semicolon-joined *(detail)* |
| `parentCompany` / `parentCompanyOrgNumber` | Parent company name & org number *(detail)* |
| `companyId` | Internal allabolag.se company id |
| `scrapedAt` | ISO timestamp of the scrape |

> 💡 **`revenue`, `profit` and `shareCapital` are reported in thousands of SEK (kSEK)**, exactly as allabolag.se publishes them. A `revenue` of `8388` means **8,388,000 SEK**.

---

### 🛠️ How to use

1. Type a **bransch / keyword / company name** into `query` (or paste allabolag.se search URLs into `searchUrls`).
2. Set `maxResults` and, optionally, a `sort` order.
3. Turn on `fetchDetails` if you want board members, F-skatt, VAT and share capital.
4. Run it — results stream straight to your dataset, ready to export.

#### Input fields

| Field | Type | Description |
|---|---|---|
| `query` | string | Industry (bransch), keyword or company name, e.g. `marketing`, `bygg`, `restaurang`. Default `marketing`. |
| `searchUrls` | array | *(Optional, advanced)* allabolag.se search-result URLs copied from the site. Set filters on the site, then paste the URL. |
| `fetchDetails` | boolean | Open each company profile to add board, company form, SNI, F-skatt, VAT, share capital, parent company & dates. Default `false` (faster/cheaper). |
| `maxResults` | integer | Stop after this many companies across all searches. `0` = no limit. Default `200`. |
| `sort` | string | `relevance`, `revenueDesc`, `revenueAsc`, `numEmployeesDesc`, `numEmployeesAsc`. |
| `useProxy` | boolean | Route through Apify Proxy (datacenter). Default `true`. |
| `proxyConfiguration` | object | Override proxy settings (e.g. switch to Residential). |
| `maxConcurrency` | integer | How many searches to run in parallel. Default `3`. |

#### Example 1 — Swedish restaurants (lead list)

```json
{ "query": "restaurang", "maxResults": 500 }
````

#### Example 2 — Marketing companies, biggest first

```json
{ "query": "marketing", "maxResults": 300, "sort": "revenueDesc" }
```

#### Example 3 — Construction (bygg) with full detail (board + VAT)

```json
{
  "query": "bygg",
  "maxResults": 500,
  "fetchDetails": true,
  "sort": "numEmployeesDesc"
}
```

***

### 📤 Example output

One row per company (with `fetchDetails: true`):

```json
{
  "companyName": "iGoMoon AB",
  "legalName": "iGoMoon AB",
  "orgNumber": "5568995681",
  "url": "https://www.allabolag.se/foretag/igomoon-ab/stockholm/.../2K3MWKHI5YDOJ",
  "status": "ACTIVE",
  "companyForm": "Aktiebolag",
  "companyFormCode": "AB",
  "industry": "Datautveckling, systemutveckling, programutveckling",
  "industryCode": "62010",
  "sniCode": "62100 Dataprogrammering",
  "industries": "Datakonsultverksamhet, Marknadsföring",
  "address": "Birger Jarlsgatan 57A",
  "zip": "11365",
  "city": "Stockholm",
  "municipality": "Stockholm",
  "county": "Stockholms Län",
  "countryPart": "Svealand",
  "phone": "010-4101100",
  "mobile": null,
  "email": "support@igomoon.com",
  "homePage": "https://www.igomoon.com/",
  "ceoName": "Olov Mattias Grönborg",
  "ceoRole": "Verkställande direktör",
  "ceoBirthDate": "1985",
  "revenue": 8388,
  "profit": 2,
  "currency": "SEK",
  "employees": 8,
  "accountsYear": "2024-12-31",
  "estimatedTurnover": null,
  "lat": 59.34122919,
  "lng": 18.06464262,
  "shareCapital": 62,
  "registrationDate": "2012-07-25",
  "foundedDate": "2012-07-25",
  "registrationYear": "2012",
  "fskatt": "Ja, registrerad för F-skatt",
  "momsregistrerad": "true",
  "boardMembers": "Olov Mattias Grönborg (Verkställande direktör); Ulf Viktor Månsson (Ordförande)",
  "parentCompany": null,
  "companyId": "2K3MWKHI5YDOJ",
  "scrapedAt": "2026-06-07T12:00:00.000Z"
}
```

***

### 🧭 Use cases

- 🎯 **Sweden B2B lead generation** — build targeted lists of Swedish companies by industry, complete with **CEO/VD, phone, email and website**.
- 📈 **Sales prospecting** — segment by revenue, employee count, kommun or län; sort biggest-first and prioritize.
- 📊 **Financial & market research** — revenue/profit/employee bands per bransch for sizing and benchmarking.
- 🏢 **Competitor analysis** — pull every company in a category and compare financials, locations and headcount.
- 🛡️ **KYC & due diligence** — verify a company by **organisationsnummer**, F-skatt and VAT status, board members and share capital.
- 🔗 **CRM & data enrichment** — match and dedupe your records against the **Swedish business registry** by org number.

***

### ❓ FAQ

#### Is there an Allabolag API?

There is no easy public **allabolag api** for bulk export. This actor is a practical **allabolag unofficial API**: it reads the site's own structured data and returns clean, paginated **Sweden company data** — firmographics, financials and contacts — with **no API key required**.

#### How do I export Swedish company data to Excel?

Every run writes one record per company to an Apify dataset, which you can export in one click to **Excel (XLSX), CSV, JSON or HTML**, or pull programmatically via the Apify API and webhooks — ideal for building a reusable **Swedish companies database**.

#### Does it include revenue and CEO names?

Yes. The search results already include **revenue, profit, employees and the CEO (VD) name** for the great majority of companies. In our runs, CEO name and headline financials are present for roughly **97%** of search results. Turn on `fetchDetails` to add board members, F-skatt, VAT, share capital and registration dates.

#### Can I scrape allabolag.se without login?

Yes — the actor reads only **public** company-registry data and needs **no account, no login and no API key**. It runs through Apify datacenter proxy by default (switch to Residential only if you hit blocking).

#### Is scraping allabolag.se legal?

You are collecting **publicly available** company-registry information. Use it responsibly and in line with applicable laws, including **GDPR** for any personal data such as contact or CEO names. See the fair-use note below.

#### How do I search by industry (bransch) or location?

Put any bransch or keyword in `query` (e.g. `restaurang`, `bygg`, `IT`). For precise filtering by county or industry navigator, set your filters on allabolag.se and paste the resulting URL into `searchUrls`.

***

### 📌 A note on data coverage (honest)

allabolag.se's own coverage varies by field, and this scraper returns exactly what the source publishes — it does not invent data:

- 🧑‍💼 **CEO (VD) name & headline financials** (revenue/profit/employees): present for ~**97%** of search results.
- ☎️ **Phone**: present for ~**57%** of companies.
- 📧 **Email**: present for ~**28%** of companies.
- 🔬 **`fetchDetails`** adds **board members, F-skatt, moms (VAT) registration, share capital and registration/foundation dates** — pulled from each company's profile page (slower, but richer leads and KYC fields).

***

### ⚖️ Fair use & legal

This actor collects only **publicly available business-directory data** from allabolag.se. You are responsible for complying with allabolag.se's Terms of Service, applicable local laws, and **GDPR** when handling any personal data (such as CEO names or contact details). Use the data ethically and lawfully.

***

<div align="center">

**Sweden company data, financials & B2B leads — one run away.** 🇸🇪

<sub>Keywords: *allabolag scraper · allabolag api · sweden company data · swedish business registry · sweden b2b leads · företag scraper · sweden company data export · allabolag unofficial api · swedish companies database · sweden company email and phone · scrape swedish companies to csv/excel · organisationsnummer lookup*</sub>

</div>

### 📝 Changelog

#### 2026-06-07

- Docs: comprehensive SEO rewrite — full output-field table, use cases, expanded FAQ (allabolag API, Excel export, login-free scraping, legality) and honest field-coverage notes.

#### 2026-06-05

- Reliability hardening and fresh rebuild.

# Actor input Schema

## `query` (type: `string`):

What to search on allabolag.se — an industry (bransch) like 'marketing', 'bygg', 'IT', a keyword, or a company name. This is the same text you'd type into the allabolag.se search box. Leave empty to use the default ('marketing').

## `searchUrls` (type: `array`):

Optional: allabolag.se search result URLs copied straight from the site, e.g. https://www.allabolag.se/bransch-sök?q=marketing . If set, these are scraped instead of (or in addition to) the `query` above. Set your filters on allabolag.se, then paste the result URL here.

## `fetchDetails` (type: `boolean`):

Open each company's profile page to enrich every row with extra fields the search list doesn't have: registration/foundation date, company form (AB/HB/EF), share capital, SNI/NACE code, kommun & län, board members, F-skatt & moms (VAT) flags and parent company. Off by default to stay fast and cheap.

## `maxResults` (type: `integer`):

Stop after this many companies across all searches. 0 = no limit (a single bransch can span dozens of pages, 25 companies each).

## `sort` (type: `string`):

Order of search results.

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy. Datacenter proxy works well on allabolag.se and is the default.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. Datacenter is the default and is sufficient; switch to Residential only if you hit heavy blocking.

## `maxConcurrency` (type: `integer`):

How many search queries / URLs to process in parallel.

## Actor input object example

```json
{
  "query": "marketing",
  "searchUrls": [],
  "fetchDetails": false,
  "maxResults": 200,
  "sort": "relevance",
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxConcurrency": 3
}
```

# Actor output Schema

## `companyName` (type: `string`):

Company name

## `legalName` (type: `string`):

Registered legal name

## `orgNumber` (type: `string`):

Organisationsnummer (Swedish company registration number)

## `url` (type: `string`):

allabolag.se company profile URL

## `status` (type: `string`):

Registry status (active / bankrupt / etc.)

## `companyForm` (type: `string`):

Company form (Aktiebolag/AB, Handelsbolag/HB, Enskild firma/EF)

## `companyFormCode` (type: `string`):

Short company form code (AB / HB / EF)

## `industry` (type: `string`):

Primary industry / bransch name

## `industryCode` (type: `string`):

allabolag industry code

## `sniCode` (type: `string`):

Official SNI/NACE industry code(s) (detail page)

## `industries` (type: `string`):

All industry names, comma-separated

## `address` (type: `string`):

Street / visiting address

## `zip` (type: `string`):

Postal code

## `city` (type: `string`):

City / postplace

## `municipality` (type: `string`):

Municipality / kommun

## `county` (type: `string`):

County / län

## `countryPart` (type: `string`):

Region / country part (landsdel)

## `phone` (type: `string`):

Primary phone number

## `mobile` (type: `string`):

Mobile number

## `email` (type: `string`):

Contact email

## `homePage` (type: `string`):

Company website

## `ceoName` (type: `string`):

CEO (verkställande direktör) or main contact person name

## `ceoRole` (type: `string`):

Role of the contact person (e.g. Verkställande direktör)

## `ceoBirthDate` (type: `string`):

Contact person birth date (when present)

## `revenue` (type: `string`):

Latest revenue / turnover in thousands SEK (kSEK)

## `profit` (type: `string`):

Latest profit / result in thousands SEK (kSEK)

## `currency` (type: `string`):

Financials currency

## `accountsYear` (type: `string`):

Accounting period of revenue/profit figures

## `estimatedTurnover` (type: `string`):

Estimated turnover range (detail page)

## `employees` (type: `string`):

Number of employees (antal anställda)

## `shareCapital` (type: `string`):

Share capital in thousands SEK (detail page)

## `registrationDate` (type: `string`):

Company registration date (detail page)

## `foundedDate` (type: `string`):

Foundation date (detail page)

## `registrationYear` (type: `string`):

Year founded (detail page)

## `fskatt` (type: `string`):

Registered for F-skatt (detail page)

## `momsregistrerad` (type: `string`):

Registered for VAT / moms (detail page)

## `parentCompany` (type: `string`):

Parent company name (detail page)

## `parentCompanyOrgNumber` (type: `string`):

Parent company organisationsnummer (detail page)

## `boardMembers` (type: `string`):

Board members & roles, semicolon-separated (detail page)

## `lat` (type: `string`):

Latitude

## `lng` (type: `string`):

Longitude

## `companyId` (type: `string`):

allabolag internal company id

## `scrapedAt` (type: `string`):

Scraped at

# 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 = {
    "query": "marketing",
    "searchUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/allabolag-scraper").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 = {
    "query": "marketing",
    "searchUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/allabolag-scraper").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 '{
  "query": "marketing",
  "searchUrls": []
}' |
apify call logiover/allabolag-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Allabolag Scraper — Sweden Company Data & Leads",
        "description": "Scrape allabolag.se Swedish company registry: name, organisationsnummer, address, industry (SNI/bransch), revenue, profit, employees, CEO (VD), phone and email. No login, no API key. Great for Sweden B2B leads and firmographic data export.",
        "version": "1.0",
        "x-build-id": "1Egbd3chKjgsDd3Je"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~allabolag-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-allabolag-scraper",
                "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/logiover~allabolag-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-allabolag-scraper",
                "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/logiover~allabolag-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-allabolag-scraper",
                "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",
                "properties": {
                    "query": {
                        "title": "Search query (bransch / keyword / company name)",
                        "type": "string",
                        "description": "What to search on allabolag.se — an industry (bransch) like 'marketing', 'bygg', 'IT', a keyword, or a company name. This is the same text you'd type into the allabolag.se search box. Leave empty to use the default ('marketing')."
                    },
                    "searchUrls": {
                        "title": "Search URLs (optional, advanced)",
                        "type": "array",
                        "description": "Optional: allabolag.se search result URLs copied straight from the site, e.g. https://www.allabolag.se/bransch-sök?q=marketing . If set, these are scraped instead of (or in addition to) the `query` above. Set your filters on allabolag.se, then paste the result URL here.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "fetchDetails": {
                        "title": "Fetch company detail pages (richer data, slower)",
                        "type": "boolean",
                        "description": "Open each company's profile page to enrich every row with extra fields the search list doesn't have: registration/foundation date, company form (AB/HB/EF), share capital, SNI/NACE code, kommun & län, board members, F-skatt & moms (VAT) flags and parent company. Off by default to stay fast and cheap.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max results (total)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after this many companies across all searches. 0 = no limit (a single bransch can span dozens of pages, 25 companies each).",
                        "default": 200
                    },
                    "sort": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "revenueDesc",
                            "revenueAsc",
                            "numEmployeesDesc",
                            "numEmployeesAsc"
                        ],
                        "type": "string",
                        "description": "Order of search results.",
                        "default": "relevance"
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy. Datacenter proxy works well on allabolag.se and is the default.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy settings. Datacenter is the default and is sufficient; switch to Residential only if you hit heavy blocking.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "maxConcurrency": {
                        "title": "Max concurrent searches",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many search queries / URLs to process in parallel.",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
