# Oikotie Property Search Scraper (`stealth_mode/oikotie-property-search-scraper`) Actor

Scrape property listings from Oikotie.fi — Finland's leading real estate platform. Extract card data, location, media, company info, and metadata for apartments and homes on sale, all in structured JSON format.

- **URL**: https://apify.com/stealth\_mode/oikotie-property-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 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

## Oikotie.fi Property Search Scraper: Extract Finnish Real Estate Listings

---

### What Is Oikotie.fi?

Oikotie.fi is one of Finland's most popular real estate marketplaces, hosting thousands of property listings for sale and rent across the country. It aggregates listings from real estate agencies, private sellers, and developers. Manually collecting property data from search results is impractical at scale — the **Oikotie.fi Property Search Scraper** automates this, turning paginated search results into clean, structured records ready for analysis or integration.

---

### Overview

The **Oikotie Property Scraper** navigates property search result pages and extracts structured listing data per card. It is suited for:

- **Real estate analysts** monitoring Finnish housing market trends
- **Property investors** comparing listings by location, price, and type
- **Developers** feeding listing data into custom portals or dashboards
- **Researchers** studying Finnish residential real estate patterns

The scraper handles pagination via URL parameters and supports bulk URL input for multi-search runs.

---

### Input Format

```json
{
  "urls": [
    "https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Oikotie property **search/list** page URLs. Add them one by one or use bulk edit. Example: `https://asunnot.oikotie.fi/myytavat-asunnot?...` |
| `ignore_url_failures` | `boolean` | If `true`, the scraper continues running even if some URLs fail. Recommended for bulk runs. Default: `true` |
| `max_items_per_url` | `integer` | Maximum number of listings to collect per URL. Default: `20`. Set higher (e.g., `50`) to capture more results per search page |

> **Tip:** Use Oikotie's built-in filters (location, price range, property type, room count) before copying the URL — the scraper will respect all query parameters embedded in the link.

***

### Output Format

#### Sample Output

```json
{
  "card_id": 24482766,
  "card_type": 100,
  "card_sub_type": 4,
  "url": "https://asunnot.oikotie.fi/myytavat-asunnot/alavus/24482766",
  "status": 1,
  "data": {
    "description": "Kompaktin kokoinen omakotitalo keskustan tuntumassa – oma rauhallinen piha ja toimiva kokonaisuus!\n\nTervetuloa tutustumaan tähän viihtyisään ja h",
    "rooms": 3,
    "room_configuration": "3h+k+khh+kph+s",
    "price": "135 000 €",
    "size": "89 m²",
    "build_year": 2011,
    "size_lot": 1459,
    "size_min": 89,
    "size_max": 89,
    "next_viewing": null,
    "new_development": false,
    "is_online_offer": false,
    "extra_visibility": false,
    "visits": 0,
    "visits_weekly": 0,
    "security_deposit": null,
    "maintenance_fee": null,
    "floor": 1,
    "building_floor_count": 1,
    "price_per_sqm": 1516.85,
    "condition": null,
    "source_type": 9
  },
  "location": {
    "address": "Kumolankuja 17",
    "district": "Keskusta",
    "city": "Alavus",
    "zip_code": "63300",
    "country": "Suomi",
    "latitude": 62.5874,
    "longitude": 23.5947
  },
  "meta": {
    "published": "2026-05-08 15:38:13",
    "contract_type": 1,
    "listing_type": 1,
    "card_view_type": 2,
    "listing_types": [
      7
    ],
    "sell_status": 3,
    "price_changed": null,
    "vendor_ad_id": "20628038",
    "vendor_company_id": "KIVI-35506",
    "sender_node": "kivi-api",
    "published_sort": "2026-05-08 15:38:13"
  },
  "medias": [
    {
      "image_small_j_p_e_g": "https://cdn.asunnot.oikotie.fi/Q5MyYiKaWqO_cfj_OgqdwK7XgV4=/full-fit-in/330x206/filters:background_color(white):format(jpeg)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_large_j_p_e_g": "https://cdn.asunnot.oikotie.fi/Llxy0gF7t71oS1ZVZ5ZKreObYGM=/full-fit-in/708x444/filters:background_color(white):format(jpeg):quality(60)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_desktop_web_p": "https://cdn.asunnot.oikotie.fi/4KwcjvieFD-gTuJfFS4t5AmYgGM=/full-fit-in/400x204/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_desktop_web_px2": "https://cdn.asunnot.oikotie.fi/yLhyBvW0jR__ooG7nWK87ahNQ78=/full-fit-in/800x408/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_tablet_web_p": "https://cdn.asunnot.oikotie.fi/ioxVRiv-jnG1bQrxNo9hZOaxeUI=/full-fit-in/345x176/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_tablet_web_px2": "https://cdn.asunnot.oikotie.fi/yP_ltyQsRX0-TMMxzmZZHRMigzQ=/full-fit-in/690x352/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_mobile_web_p": "https://cdn.asunnot.oikotie.fi/RfKiW72ALyNtPdJHtGfNI_IlxFM=/full-fit-in/732x488/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_mobile_web_px2": "https://cdn.asunnot.oikotie.fi/4ayAC6UXcQZRhnuKcxRoWZPGxAA=/full-fit-in/1464x976/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_mobile_small_web_p": "https://cdn.asunnot.oikotie.fi/FgE8xbRxZR3ofXb_7xJRUAI5NQE=/full-fit-in/330x220/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/324/313/source/229313423",
      "image_mobile_small_web_px2": "https://cdn.asunnot.oikotie.fi/jNwOeMK2xzVS8d-IHkjS1xirX04=/full-fit-in/660x440/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/324/313/source/229313423"
    },
    {
      "image_small_j_p_e_g": "https://cdn.asunnot.oikotie.fi/wmkggjRV7uepKkZjcCSUmVGl2SA=/full-fit-in/330x206/filters:background_color(white):format(jpeg)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_large_j_p_e_g": "https://cdn.asunnot.oikotie.fi/VIjM0RxPJ_RgkQXticvS8OnNZ7o=/full-fit-in/708x444/filters:background_color(white):format(jpeg):quality(60)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_desktop_web_p": "https://cdn.asunnot.oikotie.fi/4kW2ODHePKNj2HOHlQkIav0EmuU=/full-fit-in/400x204/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_desktop_web_px2": "https://cdn.asunnot.oikotie.fi/ABmhZ6v29RVL197kcWhjpAscGBM=/full-fit-in/800x408/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_tablet_web_p": "https://cdn.asunnot.oikotie.fi/m97NxVEDvdEmVszKbeOFSjKmaf4=/full-fit-in/345x176/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_tablet_web_px2": "https://cdn.asunnot.oikotie.fi/YWGXUcre5FaavMSObHVuBBXrEyY=/full-fit-in/690x352/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_mobile_web_p": "https://cdn.asunnot.oikotie.fi/O6JYhsLYKMC3_25Ry3__yuMLHrQ=/full-fit-in/732x488/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_mobile_web_px2": "https://cdn.asunnot.oikotie.fi/Qo9v-7GMoG80al6-lfXr60-6W5M=/full-fit-in/1464x976/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_mobile_small_web_p": "https://cdn.asunnot.oikotie.fi/H_oiNxeKhqHwH69JEuoy1ca9VSg=/full-fit-in/330x220/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/034/313/source/229313430",
      "image_mobile_small_web_px2": "https://cdn.asunnot.oikotie.fi/g23PazZ088jytEjQorM_HV3R7r4=/full-fit-in/660x440/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/034/313/source/229313430"
    },
    {
      "image_small_j_p_e_g": "https://cdn.asunnot.oikotie.fi/fH-kGs6cGecrn4ALepC6uMkuWME=/full-fit-in/330x206/filters:background_color(white):format(jpeg)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_large_j_p_e_g": "https://cdn.asunnot.oikotie.fi/pfrpWJA04uWY6YJtfCmzg7mYyEY=/full-fit-in/708x444/filters:background_color(white):format(jpeg):quality(60)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_desktop_web_p": "https://cdn.asunnot.oikotie.fi/FO_--SbKbkB8VhIOVpO4mBQRjfw=/full-fit-in/400x204/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_desktop_web_px2": "https://cdn.asunnot.oikotie.fi/zIpcDQy65Y94fNwYbEDA0CPj7X0=/full-fit-in/800x408/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_tablet_web_p": "https://cdn.asunnot.oikotie.fi/2qOUvgNxEnKwjuZX3bghIMf749I=/full-fit-in/345x176/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_tablet_web_px2": "https://cdn.asunnot.oikotie.fi/Z9Lt6lLCVV8YVzz7Fpoglv4RKv4=/full-fit-in/690x352/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_mobile_web_p": "https://cdn.asunnot.oikotie.fi/ehm8fyFIhySmFccQvNeT-spoOhI=/full-fit-in/732x488/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_mobile_web_px2": "https://cdn.asunnot.oikotie.fi/qykJT_OJXj32sJQs4-9aJ4Ev1nM=/full-fit-in/1464x976/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_mobile_small_web_p": "https://cdn.asunnot.oikotie.fi/iXRYv1gX_7EY6ecNcXF_zDegQS0=/full-fit-in/330x220/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/564/313/source/229313465",
      "image_mobile_small_web_px2": "https://cdn.asunnot.oikotie.fi/06uvbysATAE5x-ShNsc7fo2msFI=/full-fit-in/660x440/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/564/313/source/229313465"
    },
    {
      "image_small_j_p_e_g": "https://cdn.asunnot.oikotie.fi/kZKzpf6ghNcicLvO23_VNrvaCaM=/full-fit-in/330x206/filters:background_color(white):format(jpeg)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_large_j_p_e_g": "https://cdn.asunnot.oikotie.fi/atdi3VGfPpT7deflD4ylx4Huo-4=/full-fit-in/708x444/filters:background_color(white):format(jpeg):quality(60)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_desktop_web_p": "https://cdn.asunnot.oikotie.fi/oLoDKSFsiiIOPi_RnddhhFpdEOA=/full-fit-in/400x204/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_desktop_web_px2": "https://cdn.asunnot.oikotie.fi/QMIfeMakjT9dQhp5bZabCM0chUY=/full-fit-in/800x408/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_tablet_web_p": "https://cdn.asunnot.oikotie.fi/oQYGA93VGfoip5KIKRj1YJ-aOBw=/full-fit-in/345x176/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_tablet_web_px2": "https://cdn.asunnot.oikotie.fi/5nDgXOSdlYFJ0Ebw6VD9j2-6EoM=/full-fit-in/690x352/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_mobile_web_p": "https://cdn.asunnot.oikotie.fi/D7umQTK_1pv-h8IRGZJ0V2hbdUo=/full-fit-in/732x488/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_mobile_web_px2": "https://cdn.asunnot.oikotie.fi/U-Tf2X2u9CJ_Ih7yNVHAOo4x9So=/full-fit-in/1464x976/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_mobile_small_web_p": "https://cdn.asunnot.oikotie.fi/lX1YX8zptTyruZqwoxx286Rnxdw=/full-fit-in/330x220/filters:background_color(white):format(webp)/ot-real-estate-mediabank-prod/934/313/source/229313439",
      "image_mobile_small_web_px2": "https://cdn.asunnot.oikotie.fi/m2KA7gBIOTkI02UBsxor0ncBCZI=/full-fit-in/660x440/filters:background_color(white):format(webp):quality(60)/ot-real-estate-mediabank-prod/934/313/source/229313439"
    }
  ],
  "company": {
    "company_id": 11875992,
    "company_name": "Omakodit Alavus",
    "company_brand_highlight_background_color": null,
    "company_brand_highlight_font_color": null,
    "search_logo": "https://cdn.asunnot.oikotie.fi/KC_YkXEDH9R-g-pDW87yBHAXJ_c=/fit-in/350x70/ot-real-estate-mediabank-prod/940/219/source/188912049",
    "logo": "https://cdn.asunnot.oikotie.fi/KC_YkXEDH9R-g-pDW87yBHAXJ_c=/fit-in/350x70/ot-real-estate-mediabank-prod/940/219/source/188912049",
    "realtor_image": "https://cdn.asunnot.oikotie.fi/APqAkjwPRzbzznKL9LPwlVvAbvg=/360x360/smart/filters:background_color(white):format(jpeg)/ot-real-estate-mediabank-prod/739/976/source/204679937",
    "realtor_name": "Tuomas Sivula"
  },
  "recommendation_id": null,
  "from_url": "https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"
}
```

Each listing is returned as a card object with the following top-level fields:

#### Core Identification

| Field | Meaning |
|---|---|
| `Card ID` | Unique identifier for the listing card on Oikotie |
| `Card Type` | Primary listing category (e.g., apartment for sale = `100`) |
| `Card Sub Type` | Sub-classification of the property type (e.g., terraced house, studio) |
| `URL` | Direct link to the full listing detail page |
| `Status` | Current listing status (e.g., active, sold, reserved) |
| `Recommendation ID` | Internal recommendation engine identifier, may be used for tracking promoted or suggested listings |

#### Property Data

| Field | Meaning |
|---|---|
| `Data` | Core listing attributes — typically includes price, size (m²), number of rooms, floor, year built, condition, and other property-specific fields returned by the Oikotie API |

#### Location

| Field | Meaning |
|---|---|
| `Location` | Structured location object containing city, district, street address, and geographic coordinates where available |

#### Media

| Field | Meaning |
|---|---|
| `Medias` | Array of media assets associated with the listing — property photos, floor plans, or virtual tour links |

#### Metadata

| Field | Meaning |
|---|---|
| `Meta` | Supplementary metadata such as listing creation date, last update, visibility settings, or platform-specific flags |

#### Company / Agent

| Field | Meaning |
|---|---|
| `Company` | Details of the real estate agency or agent managing the listing — typically includes company name, logo, and contact info |

***

### How to Use

1. **Build your search URL** — Go to [asunnot.oikotie.fi](https://asunnot.oikotie.fi), apply filters (city, type, price), then copy the result page URL.
2. **Adjust pagination** — Modify the `pagination=N` parameter in the URL to target specific result pages.
3. **Configure input** — Paste URLs into the `urls` array, set `max_items_per_url` as needed.
4. **Run the scraper** — Start the actor and monitor progress in the run log.
5. **Export** — Download results as JSON or CSV.

**Common issues:**

- Ensure URLs point to **list/search pages**, not individual listing detail pages.
- If results are empty, verify the search URL returns visible listings when opened in a browser.

***

### Use Cases & Business Value

- **Market analysis:** Track average prices per district or property type over time
- **Investment research:** Identify underpriced listings by comparing size, location, and price
- **Portal development:** Populate a custom real estate aggregator with Finnish listings
- **Academic research:** Study urban housing supply and demand in Finnish cities

***

### Conclusion

The **Oikotie.fi Property Search Scraper** makes it straightforward to collect structured Finnish real estate data at scale. With flexible URL-based input and rich output covering pricing, location, media, and agency details, it eliminates manual data gathering and enables deeper market intelligence.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/oikotie-property-search-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 = {
    "urls": ["https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/oikotie-property-search-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 '{
  "urls": [
    "https://asunnot.oikotie.fi/myytavat-asunnot?pagination=2&cardType=100&secondarySearchType=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/oikotie-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Oikotie Property Search Scraper",
        "description": "Scrape property listings from Oikotie.fi — Finland's leading real estate platform. Extract card data, location, media, company info, and metadata for apartments and homes on sale, all in structured JSON format.",
        "version": "0.0",
        "x-build-id": "b8a5UT9nWzfYiaDJA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~oikotie-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-oikotie-property-search-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/stealth_mode~oikotie-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-oikotie-property-search-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/stealth_mode~oikotie-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-oikotie-property-search-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": {
                    "urls": {
                        "title": "URLs of the property list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
