# Finder.fi Business Directory Scraper (`crawlerbros/finder-fi-scraper`) Actor

Scrape Finder.fi (Fonecta) - Finland's leading business directory. Search by category and city, or look up companies by profile URL/ID. Returns name, address, phone, email, category, hours, website, socials, and financial data.

- **URL**: https://apify.com/crawlerbros/finder-fi-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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/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

## Finder.fi Business Directory Scraper

Scrape [Finder.fi](https://www.finder.fi) — Finland's leading business directory (formerly Fonecta). Search by category and city, or look up companies directly by profile URL/ID. Returns contact details, category, opening hours, website, social links, and financial data (turnover, operating profit, employee counts) where the company has published its accounts.

### What this actor does

- **Two modes:** `search` (category + city + free-text) and `byUrl` (direct lookup by Finder.fi profile URL or numeric office ID)
- **50 curated business categories** plus a free-text override for anything else
- **All 309 Finnish municipalities** as a city filter
- **Financial data** — the site's differentiator versus a plain phone-book: turnover, operating profit/margin, employee count, exports/imports flags, per fiscal year, for companies that have published accounts
- **Empty fields are omitted**

### Output per business

- `officeId`, `businessId` (Finnish Y-tunnus / business ID)
- `businessStatusCode` — raw registry status code from Finder.fi's PRH-sourced data (`A` = active; other codes reflect non-active registry states), useful for credit/risk screening
- `name`, `companyOfficialName`, `companyForm`, `contactType`
- `category`, `categories[]`
- `industryCode`, `industryName` — official Finnish TOL (Toimialaluokitus) industry classification code and description, sourced from Statistics Finland's registry data
- `streetAddress`, `postalCode`, `postOffice`, `cityName`, `cityDistrict`, `fullAddress`, `province`
- `latitude`, `longitude`
- `phone`, `mobile`, `email`
- `website`, `additionalWebsites[]`, `facebookUrl`, `instagramUrl`
- `logoUrl`, `coverImageUrl`, `images[]`
- `description`, `descriptionTitle`
- `openNow`, `openingHoursToday`, `openingHours` (per weekday)
- `established`, `ownerName` (when the company has a registered owner/proprietor rather than a board), `aliases[]`
- `signingAuthority` — the officially registered signing/representation rule for the company (e.g. "Chairman of the board alone"), sourced from the PRH (Finnish Patent and Registration Office) registry
- `businessIdRegisteredDate`, `tradeRegisterDate`, `employerRegisterDate`, `prepaymentRegisterDate`, `vatRegisterDate` — the dates the company was entered into each official Finnish registry (business ID, trade register, employer register, prepayment register, VAT register)
- `latestFiscalYear`, `latestTurnoverKEur`, `latestTurnoverPerEmployeeKEur`, `latestOperatingProfitKEur`, `latestNumberOfEmployees`
- `financials[]` — full multi-year history: `fiscalYear`, `turnoverKEur`, `turnoverChangePercent`, `turnoverPerEmployeeKEur`, `operatingProfitKEur`, `operatingMarginPercent`, `numberOfEmployees`, `equityKEur`, `ebitdaPercent`, `returnOnInvestmentPercent`, `solvencyPercent`, `quickRatio`, `currentRatio`, `netIncomeKEur`, `balanceKEur`, `exportsBusiness`, `importsBusiness` (all money fields are in **thousands of euros**, Finder.fi's own reporting unit)
- `detailUrl` — the Finder.fi profile page
- `recordType: "business"`, `source` (`search`/`byUrl`), `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` / `byUrl` |
| `category` | select | `Ravintola` | One of 50 curated Finnish business categories (leave as `""` to use only `customQuery`/`city`) |
| `customQuery` | string | – | Free-text search term; overrides `category` |
| `city` | select | `Helsinki` | One of all 309 Finnish municipalities; `""` searches all of Finland |
| `businessUrls` | array | – | Finder.fi profile URLs or bare numeric office IDs (mode=byUrl) |
| `maxItems` | int | `30` | Hard cap on emitted records (1–1000, mode=search) |

#### Example: restaurants in Helsinki

```json
{
  "mode": "search",
  "category": "Ravintola",
  "city": "Helsinki",
  "maxItems": 50
}
````

#### Example: free-text search, no category

```json
{
  "mode": "search",
  "category": "",
  "customQuery": "IT-konsultointi",
  "city": "Tampere",
  "maxItems": 30
}
```

#### Example: direct lookup by profile URL / office ID

```json
{
  "mode": "byUrl",
  "businessUrls": [
    "https://www.finder.fi/Ravintola/Ravintola+Ragu/Helsinki/yhteystiedot/2701900",
    "172446"
  ]
}
```

### Use cases

- **Sales & lead generation** — build prospect lists by category and municipality, complete with phone/email and revenue band
- **Market research** — pull turnover and employee-count trends for a whole industry segment in a city
- **Credit / risk screening** — pull multi-year financials (turnover, operating margin, solvency) before onboarding a Finnish supplier
- **Local SEO / directory audits** — verify a business's own Finder.fi listing (hours, website, socials) is accurate
- **Competitive intelligence** — enumerate every business in a category + city with contact and financial detail

### FAQ

**What makes Finder.fi different from a plain phone-book scraper?**  Alongside standard contact info, Finder.fi (run by Fonecta) publishes each Finnish company's official registry data and multi-year financial statements (turnover, operating profit, employee counts) sourced from the Finnish Patent and Registration Office (PRH) and credit-data partners — most Nordic directories don't carry this.

**Why do `turnoverKEur`/`operatingProfitKEur` look small?**  They're already in **thousands of euros** (Finder.fi's own unit) — e.g. `turnoverKEur: 2018` means €2,018,000. Multiply by 1,000 for raw euros.

**Why is `financials` sometimes missing?**  Only companies that file full financial statements (typically limited companies, `Oy`) have this data on Finder.fi. Sole traders (`Toiminimi`) and very small associations often don't publish turnover/profit figures, so the field is genuinely absent rather than zeroed out.

**What is `industryCode`/`industryName`?**  This is the official Finnish TOL (Toimialaluokitus) industry classification code and description — Finland's equivalent of a NACE/SIC code — as registered with Statistics Finland. It's a different, more standardized taxonomy than Finder.fi's own `category`/`categories` browsing labels, and is useful for matching companies against official industry statistics.

**What are the registry date fields (`tradeRegisterDate`, `vatRegisterDate`, etc.)?**  These come from the PRH (Finnish Patent and Registration Office) and mark exactly when the company was entered into each official Finnish register — the trade register, employer register, prepayment (withholding tax) register, and VAT register — alongside its `signingAuthority` (the officially registered rule for who may sign on the company's behalf).

**Why is `ownerName` rarely populated?**  Finder.fi only exposes a named proprietor for sole-trader-style businesses; limited companies list a board/management team instead, which isn't part of this directory listing. When present, it reflects a genuine registered decision-maker/owner.

**How does the single `category`/`city` combination map to a search?**  Finder.fi's own search box is a single free-text field that auto-detects a trailing city name (e.g. typing `ravintola helsinki` narrows results to Helsinki). This actor reproduces that exact behavior server-side, so `category`/`customQuery` + `city` combine into the same query string a human user would type.

**Can I search categories not in the dropdown?**  Yes — clear `category` (set it to the empty option) and put anything in `customQuery`; Finder.fi's search matches business names, categories, and descriptions.

**Is there rate limiting?**  Finder.fi runs AWS WAF Bot Control on its search and profile pages. The actor uses a real headless browser (not raw HTTP) so it solves the anti-bot challenge the same way a normal visitor's browser does, with small polite delays between page loads.

**Do direct profile links (`detailUrl`) always resolve?**  Yes — Finder.fi resolves company profile URLs by the trailing numeric office ID alone and redirects to the canonical slug regardless of the category/name/city segments in the path, so `detailUrl` always lands on the right page even if the slug text drifts from the live listing.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `category` (type: `string`):

A common Finnish business category. Combined with `city` (if set) and `customQuery` to build the Finder.fi search. Leave as-is or clear it and use `customQuery` for anything not in this list.

## `customQuery` (type: `string`):

Free-text search term (Finnish). Overrides/extends `category` — e.g. `"kampaamo"`, `"IT-konsultointi"`, or a full company name. Combined with `city` if set.

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

Restrict results to a Finnish municipality. Leave empty to search all of Finland.

## `businessUrls` (type: `array`):

Finder.fi company profile URLs (e.g. `https://www.finder.fi/Ravintola/Ravintola+Ragu/Helsinki/yhteystiedot/2701900`) or bare numeric office IDs (e.g. `2701900`).

## `maxItems` (type: `integer`):

Hard cap on emitted records (mode=search).

## Actor input object example

```json
{
  "mode": "search",
  "category": "Ravintola",
  "city": "Helsinki",
  "businessUrls": [],
  "maxItems": 30
}
```

# Actor output Schema

## `businesses` (type: `string`):

Dataset containing all scraped Finder.fi business records.

# 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 = {
    "mode": "search",
    "category": "Ravintola",
    "city": "Helsinki",
    "businessUrls": [],
    "maxItems": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/finder-fi-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 = {
    "mode": "search",
    "category": "Ravintola",
    "city": "Helsinki",
    "businessUrls": [],
    "maxItems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/finder-fi-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 '{
  "mode": "search",
  "category": "Ravintola",
  "city": "Helsinki",
  "businessUrls": [],
  "maxItems": 30
}' |
apify call crawlerbros/finder-fi-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Finder.fi Business Directory Scraper",
        "description": "Scrape Finder.fi (Fonecta) - Finland's leading business directory. Search by category and city, or look up companies by profile URL/ID. Returns name, address, phone, email, category, hours, website, socials, and financial data.",
        "version": "1.0",
        "x-build-id": "MlZsdjmlVBpfLsPGb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~finder-fi-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-finder-fi-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/crawlerbros~finder-fi-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-finder-fi-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/crawlerbros~finder-fi-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-finder-fi-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byUrl"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "search"
                    },
                    "category": {
                        "title": "Category (toimiala)",
                        "enum": [
                            "",
                            "Ravintola",
                            "Kahvila",
                            "Hotelli",
                            "Parturi-kampaamo",
                            "Kauneushoitola",
                            "Autokorjaamo",
                            "Autoliike",
                            "Autovuokraamo",
                            "Kiinteistönvälitys",
                            "Isännöitsijä",
                            "Hammaslääkäri",
                            "Eläinlääkäri",
                            "Fysioterapia",
                            "Hieroja",
                            "Optikko",
                            "Apteekki",
                            "Lakiasiaintoimisto",
                            "Asianajotoimisto",
                            "Tilitoimisto",
                            "Kirjanpitotoimisto",
                            "Vakuutusyhtiö",
                            "Pankki",
                            "IT-palvelut",
                            "Mainostoimisto",
                            "Matkatoimisto",
                            "Kuljetusliike",
                            "Taksi",
                            "Siivousliike",
                            "Kiinteistöhuolto",
                            "Puutarhapalvelu",
                            "LVI-asennus",
                            "Sähköasennus",
                            "Maalausliike",
                            "Putkiliike",
                            "Remonttiliike",
                            "Rakennusteollisuus",
                            "Maanrakennus",
                            "Maatalouskoneet",
                            "Tapahtumatuotanto",
                            "Tukkuliike",
                            "Catering",
                            "Leipomo",
                            "Elintarvikekauppa",
                            "Rautakauppa",
                            "Huonekaluliike",
                            "Vaatekauppa",
                            "Kukkakauppa",
                            "Kirjakauppa",
                            "Kampaamo",
                            "Hierontapalvelu",
                            "Kuntosali"
                        ],
                        "type": "string",
                        "description": "A common Finnish business category. Combined with `city` (if set) and `customQuery` to build the Finder.fi search. Leave as-is or clear it and use `customQuery` for anything not in this list.",
                        "default": "Ravintola"
                    },
                    "customQuery": {
                        "title": "Custom search query",
                        "type": "string",
                        "description": "Free-text search term (Finnish). Overrides/extends `category` — e.g. `\"kampaamo\"`, `\"IT-konsultointi\"`, or a full company name. Combined with `city` if set."
                    },
                    "city": {
                        "title": "City / municipality (kunta)",
                        "enum": [
                            "",
                            "Akaa",
                            "Alajärvi",
                            "Alavieska",
                            "Alavus",
                            "Asikkala",
                            "Askola",
                            "Aura",
                            "Brändö",
                            "Eckerö",
                            "Enonkoski",
                            "Enontekiö",
                            "Espoo",
                            "Eura",
                            "Eurajoki",
                            "Evijärvi",
                            "Finström",
                            "Forssa",
                            "Föglö",
                            "Geta",
                            "Haapajärvi",
                            "Haapavesi",
                            "Hailuoto",
                            "Halsua",
                            "Hamina",
                            "Hammarland",
                            "Hankasalmi",
                            "Hanko",
                            "Harjavalta",
                            "Hartola",
                            "Hattula",
                            "Hausjärvi",
                            "Heinola",
                            "Heinävesi",
                            "Helsinki",
                            "Hirvensalmi",
                            "Hollola",
                            "Huittinen",
                            "Humppila",
                            "Hyrynsalmi",
                            "Hyvinkää",
                            "Hämeenkyrö",
                            "Hämeenlinna",
                            "Ii",
                            "Iisalmi",
                            "Iitti",
                            "Ikaalinen",
                            "Ilmajoki",
                            "Ilomantsi",
                            "Imatra",
                            "Inari",
                            "Inkoo",
                            "Isojoki",
                            "Isokyrö",
                            "Janakkala",
                            "Joensuu",
                            "Jokioinen",
                            "Jomala",
                            "Joroinen",
                            "Joutsa",
                            "Juuka",
                            "Juupajoki",
                            "Juva",
                            "Jyväskylä",
                            "Jämijärvi",
                            "Jämsä",
                            "Järvenpää",
                            "Kaarina",
                            "Kaavi",
                            "Kajaani",
                            "Kalajoki",
                            "Kangasala",
                            "Kangasniemi",
                            "Kankaanpää",
                            "Kannonkoski",
                            "Kannus",
                            "Karijoki",
                            "Karkkila",
                            "Karstula",
                            "Karvia",
                            "Kaskinen",
                            "Kauhajoki",
                            "Kauhava",
                            "Kauniainen",
                            "Kaustinen",
                            "Keitele",
                            "Kemi",
                            "Kemijärvi",
                            "Keminmaa",
                            "Kemiönsaari",
                            "Kempele",
                            "Kerava",
                            "Keuruu",
                            "Kihniö",
                            "Kinnula",
                            "Kirkkonummi",
                            "Kitee",
                            "Kittilä",
                            "Kiuruvesi",
                            "Kivijärvi",
                            "Kokemäki",
                            "Kokkola",
                            "Kolari",
                            "Konnevesi",
                            "Kontiolahti",
                            "Korsnäs",
                            "Koski Tl",
                            "Kotka",
                            "Kouvola",
                            "Kristiinankaupunki",
                            "Kruunupyy",
                            "Kuhmo",
                            "Kuhmoinen",
                            "Kumlinge",
                            "Kuopio",
                            "Kuortane",
                            "Kurikka",
                            "Kustavi",
                            "Kuusamo",
                            "Kyyjärvi",
                            "Kärkölä",
                            "Kärsämäki",
                            "Kökar",
                            "Lahti",
                            "Laihia",
                            "Laitila",
                            "Lapinjärvi",
                            "Lapinlahti",
                            "Lappajärvi",
                            "Lappeenranta",
                            "Lapua",
                            "Laukaa",
                            "Lemi",
                            "Lemland",
                            "Lempäälä",
                            "Leppävirta",
                            "Lestijärvi",
                            "Lieksa",
                            "Lieto",
                            "Liminka",
                            "Liperi",
                            "Lohja",
                            "Loimaa",
                            "Loppi",
                            "Loviisa",
                            "Luhanka",
                            "Lumijoki",
                            "Lumparland",
                            "Luoto",
                            "Luumäki",
                            "Maalahti",
                            "Maarianhamina",
                            "Marttila",
                            "Masku",
                            "Merijärvi",
                            "Merikarvia",
                            "Miehikkälä",
                            "Mikkeli",
                            "Muhos",
                            "Multia",
                            "Muonio",
                            "Mustasaari",
                            "Muurame",
                            "Mynämäki",
                            "Myrskylä",
                            "Mäntsälä",
                            "Mänttä-Vilppula",
                            "Mäntyharju",
                            "Naantali",
                            "Nakkila",
                            "Nivala",
                            "Nokia",
                            "Nousiainen",
                            "Nurmes",
                            "Nurmijärvi",
                            "Närpiö",
                            "Orimattila",
                            "Oripää",
                            "Orivesi",
                            "Oulainen",
                            "Oulu",
                            "Outokumpu",
                            "Padasjoki",
                            "Paimio",
                            "Paltamo",
                            "Parainen",
                            "Parikkala",
                            "Parkano",
                            "Pedersöre",
                            "Pelkosenniemi",
                            "Pello",
                            "Perho",
                            "Pertunmaa",
                            "Petäjävesi",
                            "Pieksämäki",
                            "Pielavesi",
                            "Pietarsaari",
                            "Pihtipudas",
                            "Pirkkala",
                            "Polvijärvi",
                            "Pomarkku",
                            "Pori",
                            "Pornainen",
                            "Porvoo",
                            "Posio",
                            "Pudasjärvi",
                            "Pukkila",
                            "Punkalaidun",
                            "Puolanka",
                            "Puumala",
                            "Pyhtää",
                            "Pyhäjoki",
                            "Pyhäjärvi",
                            "Pyhäntä",
                            "Pyhäranta",
                            "Pälkäne",
                            "Pöytyä",
                            "Raahe",
                            "Raasepori",
                            "Raisio",
                            "Rantasalmi",
                            "Ranua",
                            "Rauma",
                            "Rautalampi",
                            "Rautavaara",
                            "Rautjärvi",
                            "Reisjärvi",
                            "Riihimäki",
                            "Ristijärvi",
                            "Rovaniemi",
                            "Ruokolahti",
                            "Ruovesi",
                            "Rusko",
                            "Rääkkylä",
                            "Saarijärvi",
                            "Salla",
                            "Salo",
                            "Saltvik",
                            "Sastamala",
                            "Sauvo",
                            "Savitaipale",
                            "Savonlinna",
                            "Savukoski",
                            "Seinäjoki",
                            "Sievi",
                            "Siikainen",
                            "Siikajoki",
                            "Siikalatva",
                            "Siilinjärvi",
                            "Simo",
                            "Sipoo",
                            "Siuntio",
                            "Sodankylä",
                            "Soini",
                            "Somero",
                            "Sonkajärvi",
                            "Sotkamo",
                            "Sottunga",
                            "Sulkava",
                            "Sund",
                            "Suomussalmi",
                            "Suonenjoki",
                            "Sysmä",
                            "Säkylä",
                            "Taipalsaari",
                            "Taivalkoski",
                            "Taivassalo",
                            "Tammela",
                            "Tampere",
                            "Tervo",
                            "Tervola",
                            "Teuva",
                            "Tohmajärvi",
                            "Toholampi",
                            "Toivakka",
                            "Tornio",
                            "Turku",
                            "Tuusniemi",
                            "Tuusula",
                            "Tyrnävä",
                            "Ulvila",
                            "Urjala",
                            "Utajärvi",
                            "Utsjoki",
                            "Uurainen",
                            "Uusikaarlepyy",
                            "Uusikaupunki",
                            "Vaala",
                            "Vaasa",
                            "Valkeakoski",
                            "Vantaa",
                            "Varkaus",
                            "Vehmaa",
                            "Vesanto",
                            "Vesilahti",
                            "Veteli",
                            "Vieremä",
                            "Vihti",
                            "Viitasaari",
                            "Vimpeli",
                            "Virolahti",
                            "Virrat",
                            "Vårdö",
                            "Vöyri",
                            "Ylitornio",
                            "Ylivieska",
                            "Ylöjärvi",
                            "Ypäjä",
                            "Ähtäri",
                            "Äänekoski"
                        ],
                        "type": "string",
                        "description": "Restrict results to a Finnish municipality. Leave empty to search all of Finland.",
                        "default": "Helsinki"
                    },
                    "businessUrls": {
                        "title": "Business URLs / IDs (mode=byUrl)",
                        "type": "array",
                        "description": "Finder.fi company profile URLs (e.g. `https://www.finder.fi/Ravintola/Ravintola+Ragu/Helsinki/yhteystiedot/2701900`) or bare numeric office IDs (e.g. `2701900`).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records (mode=search).",
                        "default": 30
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
