# Plot Property Search Scraper (`stealth_mode/plot-property-search-scraper`) Actor

Scrape property listings from Plot.gr with geographic filtering and detailed property data. Collect 60+ fields per listing including prices, seller info, multimedia assets, and financing options — perfect for real estate aggregators, market researchers, and property investors.

- **URL**: https://apify.com/stealth\_mode/plot-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, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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.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

## Plot.gr Property Search Scraper: Extract Real Estate Listings in Bulk

---

### What Is Plot.gr?

Plot.gr is Greece's leading online real estate marketplace, hosting thousands of property listings across residential, commercial, and land categories. The platform enables geographic search filtering, allowing users to find properties within specific regions or coordinates. Manually collecting property data across multiple searches is inefficient — the **Plot.gr Property Scraper** automates this process, delivering comprehensive, structured property records at scale.

---

### Overview

The **Plot.gr Property Search Scraper** extracts property listings from Plot.gr search results with geographic targeting, converting unstructured web pages into clean, machine-readable datasets. It is ideal for:

- **Real estate aggregators** building multi-source property databases
- **Property investors** monitoring market listings and pricing trends
- **Market researchers** analyzing regional property availability and valuations
- **Lead generation platforms** collecting verified seller contact information
- **BI analysts** building dashboards of Greek real estate market dynamics

Key strengths include support for geographic coordinate filtering, configurable item limits, and graceful error handling via `ignore_url_failures`.

---

### Input Format

The scraper accepts a JSON configuration for search URL targeting and collection limits:

```json
{
  "urls": [
    "https://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to Plot.gr property search results pages with filters applied |
| `max_items_per_url` | Integer | Maximum property listings to extract per URL (e.g., `200`). Default: `20` |
| `ignore_url_failures` | Boolean | If `true`, continues execution if a URL fails; if `false`, halts on error |

**URL Construction Tips:**

- Navigate Plot.gr, apply category and location filters, then copy the full URL
- Use geolocation parameters (lat/lng coordinates) to target specific regions
- Category `20002` typically represents residential properties
- The `lang=en` parameter returns data in English

> **Example:** The geolocation `42.114523952x25.883789063,34.161818161x21.610107422` defines a bounding box (top-left to bottom-right coordinates) for geographic filtering.

***

### Output Format

**Sample output**

```json
{
  "geolocation": {
    "geolocation": {
      "lat": 37.9601207670314,
      "lon": 23.73165648946719
    },
    "exact_location": false
  },
  "marketplace": null,
  "subtitle": "Athens - Center » Neos Kosmos",
  "price_per_unit": null,
  "pending_acceptance_audits_count": 0,
  "consent": null,
  "is_new": false,
  "states": {
    "is_non_public": false,
    "is_deleted": false,
    "dealers_only": false,
    "is_ghosted": false,
    "is_removed": false,
    "is_unlisted": null,
    "is_dealers_only_cause_foreign": false,
    "is_hidden": false
  },
  "label": null,
  "has_online_finance": false,
  "model_stub": "Building 198 sqm for sale",
  "thumbs": {
    "count": 9,
    "urls": [
      "https://static-cz.car.gr/51903658_7jO_m.jpeg",
      "https://static-cz.car.gr/51903658_pCW_m.jpeg",
      "https://static-cz.car.gr/51903658_8Xp_m.jpeg",
      "https://static-cz.car.gr/51903658_5Iu_m.jpeg",
      "https://static-cz.car.gr/51903658_kjn_m.jpeg",
      "https://static-cz.car.gr/51903658_iA2_m.jpeg",
      "https://static-cz.car.gr/51903658_hw6_m.jpeg",
      "https://static-cz.car.gr/51903658_pwT_m.jpeg",
      "https://static-cz.car.gr/51903658_h5z_m.jpeg"
    ]
  },
  "seo": {
    "item_type": "https://schema.org/House",
    "item_prop": "house",
    "name": "offer"
  },
  "paid_features": {
    "is_promotion_enabled": true,
    "is_paid_classified": false,
    "is_paid_one_click_auto_touch_enabled": false
  },
  "category_ids": [
    20001,
    20002,
    20004,
    20007,
    20030
  ],
  "dealer_cls": false,
  "id": 51903658,
  "category": "Home » Building",
  "price_debatable": true,
  "user_id": 1001203291,
  "thumb": "https://static-cz.car.gr/51903658_7jO_n.jpeg",
  "title": "Building 198 sqm for sale",
  "without_vat": false,
  "descriptive_title": "Κτίριο 198 τ.μ. για πώληση - Κτίριο - Κυνοσάργους - 405.000 € - 198 τ.μ. - € 2045 /τ.μ. - 4 υπνοδωμάτια - Κεντρική θέρμανση - 2 - 2 - 2",
  "seller": {
    "classifieds_count": 61,
    "name": "BEE CAPITAL Real Estate",
    "avatar": "https://static-cz.car.gr/users/1001203291/jem4jhf7kh.jpeg",
    "manager_id": null,
    "verification": {
      "telephone_verified": false,
      "credit_card_verified": false
    },
    "address": "Μιχαλακοπούλου 4",
    "type": "Agent",
    "id": 1001203291,
    "profile_url": "/user/xfnjk2/",
    "subscription_tier": null
  },
  "has_youtube": false,
  "created": "2026-01-27 16:30:16",
  "external_link": null,
  "seo_json_ld": {
    "url": "/51903658-building-198-sqm-for-sale-kentro-athinas-neos-kosmos-kynosargoys",
    "@type": "Product"
  },
  "compare": {
    "is_in_comparison": false,
    "is_comparable": true
  },
  "clicks": "-",
  "duplicate_classifieds_id": null,
  "url_slug": "building-198-sqm-for-sale-kentro-athinas-neos-kosmos-kynosargoys",
  "views": "-",
  "is_parked": false,
  "price": "405.000 €",
  "agent_classified_code": "210031010-1146",
  "title_parts": null,
  "short_description": null,
  "address_long": "Athens - Center » Neos Kosmos",
  "thumbs_patterns": {
    "stretch": {
      "list": false,
      "gallery": true
    },
    "count": 9,
    "urls": [
      "https://static-cz.car.gr/51903658_7jO_{size}.jpeg",
      "https://static-cz.car.gr/51903658_pCW_{size}.jpeg",
      "https://static-cz.car.gr/51903658_8Xp_{size}.jpeg",
      "https://static-cz.car.gr/51903658_5Iu_{size}.jpeg",
      "https://static-cz.car.gr/51903658_kjn_{size}.jpeg",
      "https://static-cz.car.gr/51903658_iA2_{size}.jpeg",
      "https://static-cz.car.gr/51903658_hw6_{size}.jpeg",
      "https://static-cz.car.gr/51903658_pwT_{size}.jpeg",
      "https://static-cz.car.gr/51903658_h5z_{size}.jpeg"
    ]
  },
  "raw_price": 405000,
  "address": "Athens - Center » Neos Kosmos",
  "own": false,
  "price_parked": "",
  "deleted_date": null,
  "offertype": "sale",
  "has_shorts": false,
  "has_certificate": false,
  "key_features": [
    {
      "key": "bedrooms",
      "value": "4 bedrooms",
      "label": "Bedrooms"
    },
    {
      "key": "area",
      "value": "198 sqm",
      "label": "Area"
    },
    {
      "key": "year_of_construction",
      "value": "1951",
      "label": "Construction year"
    }
  ],
  "is_deleted": false,
  "seo_url": "/plot/view/51903658-building-198-sqm-for-sale-kentro-athinas-neos-kosmos-kynosargoys?from-promotion=1",
  "thumb_pattern": "https://static-cz.car.gr/51903658_7jO_{size}.jpeg",
  "discount": null,
  "from_promotion": true,
  "finance_options": null,
  "dealers_only": false,
  "modified": "2026-06-10 12:18:18",
  "all_final_category_ids": [
    20030
  ],
  "has_360photos": false,
  "vtype_xyma_or_part": null,
  "promotion": {
    "available": true,
    "previous_promotions_count": 1,
    "active_promotion": {
      "available": true,
      "tier_days": 7,
      "is_promoted": true,
      "expires": "2026-06-12 14:14:38",
      "cost": 150,
      "tier": "turbo"
    },
    "preferred_payment": "credits"
  },
  "duplicate_classifieds": null,
  "parked": "-",
  "has_photos": true,
  "suggested_category": null,
  "seo_url_plot": "/51903658-building-198-sqm-for-sale-kentro-athinas-neos-kosmos-kynosargoys?from-promotion=1",
  "from_url": "https://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"
}
```

Each property listing returns a comprehensive record with 60+ fields covering identification, pricing, location, seller, media, and feature data:

#### Core Property Identification

| Field | Meaning | Use Case |
|---|---|---|
| `ID` | Unique Plot.gr property identifier | Database primary key, deduplication |
| `Title` | Main property headline | Display on aggregators, search indexing |
| `Descriptive Title` | Expanded property description in title format | SEO, detailed listing headers |
| `Short Description` | Brief property summary | Preview cards, mobile listings |
| `URL Slug` | URL-friendly property identifier | Link generation, filtering |
| `Category` | Property type (residential, commercial, land) | Classification, search filters |
| `Suggested Category` | Auto-detected property category | Data quality checks, categorization |
| `Category IDs` | Numeric codes for all applicable categories | Taxonomy matching, advanced filtering |

#### Location & Geography

| Field | Meaning | Use Case |
|---|---|---|
| `Address` | Street address of the property | Mapping, location display |
| `Address Long` | Full address with region, city, postal code | Detailed location information, routing |
| `Geolocation` | Latitude/longitude coordinates | Map integration, distance calculations |

#### Pricing Information

| Field | Meaning | Use Case |
|---|---|---|
| `Price` | Listed asking price | Primary listing information |
| `Raw Price` | Unformatted numeric price value | Data analysis, price comparisons |
| `Price Per Unit` | Cost per square meter or per unit | Valuation metrics, benchmarking |
| `Price Debatable` | Indicator if price is negotiable | Buyer guidance, negotiation intelligence |
| `Without VAT` | Price excluding Value Added Tax | B2B transactions, net valuations |
| `Price Parked` | Price for parked/reserved listings | Special listing status tracking |
| `Discount` | Current promotional price reduction | Deal tracking, offer analysis |
| `Finance Options` | Available payment/financing methods | Buyer accessibility, terms analysis |
| `Has Online Finance` | Whether online financing is available | Service availability tracking |

#### Seller & Contact Information

| Field | Meaning | Use Case |
|---|---|---|
| `Seller` | Property seller/owner name and details | Contact information, lead generation |
| `User ID` | Seller account identifier | Seller profile linking, history tracking |
| `Agent Classified Code` | Real estate agent identifier | Agent performance analysis |
| `Dealer CLS` | Dealer classification code | Professional vs. private seller tracking |
| `Dealers Only` | Boolean indicating dealer-only listing | Filter commercial real estate |

#### Media & Visual Assets

| Field | Meaning | Use Case |
|---|---|---|
| `Thumb` | Primary thumbnail image URL | Listing display, search results |
| `Thumbs` | Array of all thumbnail image URLs | Gallery building, multi-image display |
| `Thumb Pattern` | Thumbnail naming/storage pattern | Image CDN optimization |
| `Thumbs Patterns` | Patterns for all thumbnail variations | Batch image processing |
| `Has Photos` | Boolean indicating photo presence | Content completeness checks |
| `Has 360 Photos` | 360-degree photography available | Premium feature detection |
| `Has YouTube` | YouTube video embedded | Rich media content tracking |
| `Has Shorts` | Short-form video content available | Modern media format tracking |

#### Property Features & Details

| Field | Meaning | Use Case |
|---|---|---|
| `Key Features` | Critical property attributes (rooms, size, condition) | Structured feature extraction |
| `Title Parts` | Parsed title components | Advanced search, feature filtering |
| `States` | Property condition states (renovated, new, etc.) | Condition-based filtering |
| `Is New` | Boolean for newly constructed properties | New vs. resale classification |
| `Label` | Special property labels or tags | Custom categorization |
| `VType XYMA Or Part` | Property type classification per Greek standards | Local compliance classification |

#### Listing Status & Metadata

| Field | Meaning | Use Case |
|---|---|---|
| `Created` | Listing creation timestamp | Listing age, market analysis |
| `Modified` | Last modification timestamp | Currency of data, update tracking |
| `Deleted Date` | When listing was removed | Archive, historical tracking |
| `Is Deleted` | Boolean indicating deletion status | Active vs. inactive filtering |
| `Is Parked` | Whether listing is parked/paused | Temporary removal tracking |
| `Parked` | Parking status details | Listing availability tracking |
| `Clicks` | Number of user clicks received | Engagement metrics, popularity |
| `Views` | Number of listing views | Traffic analysis, interest indicators |

#### Certifications & Special Flags

| Field | Meaning | Use Case |
|---|---|---|
| `Has Certificate` | Energy efficiency or quality certificate present | Regulatory compliance, buyer confidence |
| `Consent` | Data consent/compliance flag | Legal compliance tracking |
| `Pending Acceptance Audits Count` | Number of pending verification audits | Quality assurance metrics |
| `Own` | Ownership verification status | Fraud prevention, seller verification |

#### Promotion & VIP Features

| Field | Meaning | Use Case |
|---|---|---|
| `VType XYMA Or Part` | Special promotion or VIP status | Premium placement tracking |
| `Paid Features` | List of paid enhancement features | Revenue analysis, feature adoption |
| `Promotion` | Active promotion details | Deal tracking, offer analysis |
| `From Promotion` | Whether listing includes promotional pricing | Discount sourcing |
| `Boosted Career Page Offer` | Enhanced visibility boost status | Featured placement tracking |

#### SEO & Technical

| Field | Meaning | Use Case |
|---|---|---|
| `SEO` | SEO metadata and tags | Search engine optimization data |
| `SEO URL` | Search-engine-friendly URL | Link canonicalization, ranking |
| `SEO JSON LD` | Structured data markup (JSON-LD) | Search engine indexing, rich snippets |
| `SEO URL Plot` | Plot-specific SEO URL variant | Multi-domain canonicalization |

#### Data Quality & Relationships

| Field | Meaning | Use Case |
|---|---|---|
| `Marketplace` | Marketplace or property source | Multi-source tracking |
| `Model Stub` | Data model version identifier | Schema versioning, compatibility |
| `Compare` | Property comparison metadata | Related listing identification |
| `Duplicate Classifieds` | Cross-platform duplicate listing references | Deduplication across sources |
| `Duplicate Classifieds ID` | Identifier for duplicate listings | Duplicate suppression |
| `External Link` | Link to external property information | Reference tracking |
| `Offer Type` | Type of transaction (sale, rent, etc.) | Transaction classification |

***

### How to Use

1. **Find search URLs** — On Plot.gr, apply category and location filters, then copy the resulting search page URL.
2. **Configure parameters** — Paste URL(s) into the `urls` array; set `max_items_per_url` (recommended: 50–200).
3. **Enable error tolerance** — Set `ignore_url_failures: true` for bulk scraping to avoid interruptions.
4. **Run the scraper** — Initiate the run and monitor progress in real-time.
5. **Export & process** — Download results as JSON, CSV, or Excel; import into CRM, database, or analytics platform.

**Best practices:**

- Use geographic coordinates to target specific regions and reduce irrelevant results.
- Start with lower `max_items_per_url` to test URL validity before scaling to 200+.
- Combine multiple search URLs (e.g., different regions or categories) in a single run for efficiency.

***

### Use Cases & Business Value

- **Real estate portals:** Aggregate Plot.gr listings with other Greek real estate sources for comprehensive coverage
- **Property investment analytics:** Track pricing trends, regional markets, and supply dynamics
- **Lead generation:** Extract seller contact information for outreach campaigns
- **Market research:** Analyze Greek real estate demand, affordability, and geographic distribution
- **Pricing tools:** Build valuation models using comparable sales data

The Plot.gr Property Scraper eliminates manual data collection, delivering ready-to-use property records that integrate directly into CRMs, databases, and analytics platforms.

***

### Conclusion

The **Plot.gr Property Search Scraper** is a powerful solution for anyone needing structured Greek real estate data at scale. With 60+ fields per property and support for geographic filtering, it enables competitive intelligence, investment analysis, and market research that manual browsing cannot match. Start scraping today and unlock the full potential of Greece's property market data.

# 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.

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# 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://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/plot-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://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/plot-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://www.plot.gr/search?category=20002&lang=en&geolocation=42.114523952x25.883789063,34.161818161x21.610107422"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call stealth_mode/plot-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Plot Property Search Scraper",
        "description": "Scrape property listings from Plot.gr with geographic filtering and detailed property data. Collect 60+ fields per listing including prices, seller info, multimedia assets, and financing options — perfect for real estate aggregators, market researchers, and property investors.",
        "version": "0.0",
        "x-build-id": "OmCeGBnMVdk9qbdZ8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~plot-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-plot-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~plot-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-plot-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~plot-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-plot-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."
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
