# Era Property Search Scraper (`stealth_mode/era-property-search-scraper`) Actor

Scrape hundreds of property listings from ERA.pt with detailed real estate data. This scraper extracts prices, locations, property specs, and 60+ fields per listing — perfect for market analysts, investors, and property aggregators.

- **URL**: https://apify.com/stealth\_mode/era-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 $3.00 / 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

## ERA Property Search Scraper: Extract Portuguese Real Estate Listings Fast
---

### What Is ERA.pt?

ERA.pt is Portugal's largest real estate platform, featuring residential and commercial properties across the country. The platform hosts thousands of active listings with detailed property information, pricing, and multimedia content. Manually collecting this real estate data is labor-intensive and error-prone — the **ERA Property Search Scraper** automates the process, delivering structured property records ready for analysis and integration.

---

### Overview

The **ERA Property Search Scraper** extracts property listings from ERA.pt search result pages, capturing comprehensive real estate data including prices, dimensions, location coordinates, property status, and special features. It is ideal for:

- **Real estate investors** tracking market trends and identifying opportunities
- **Market analysts** building competitive intelligence datasets
- **Property aggregators** integrating Portuguese listings into multi-market platforms
- **Researchers** studying housing markets and pricing patterns

Key advantages include configurable per-URL item limits (up to 200 properties per page), fault tolerance via `ignore_url_failures`, and access to 60+ fields spanning pricing, physical attributes, and listing metadata.

---

### Input Format

The scraper accepts a JSON configuration specifying which ERA.pt search URLs to scrape:

```json
{
  "urls": [
    "https://www.era.pt/en/buy?ob=1,2,3&ord=3&ir=1&nr=0&page=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Field | Description |
|---|---|
| `urls` | Array of ERA.pt property search result page URLs |
| `max_items_per_url` | Maximum number of properties to extract per URL (range: 1–200) |
| `ignore_url_failures` | If `true`, continues scraping if individual URLs fail; if `false`, stops on first error |

**URL structure:** ERA.pt search URLs include query parameters such as:

- `ob` = property types (1=apartments, 2=houses, 3=commercial)
- `ord` = sort order (3=newest)
- `ir` = filters (1=active listings)
- `page` = pagination

***

### Output Format

**Sample output**

```json
{
  "detail_url": "https://www.era.pt/imovel/moradia-t3-grandola-carvalhal-429260022",
  "gallery": [
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816166_2_1_gATxLve2QryDoR8Og5zUtnKQfaJlylyWYhZJiq7natbEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 1",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816168_2_1_J%2fX%2fnFA0ZkH4aX5%2fKUctNnFepfjKDbWtD6OGJCx5K7bEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 2",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816169_2_1_JHeISBTXgInOD4Yn0A5PrG%2bWYpXfW3P2khy4hA98H6LEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 3",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816171_2_1_5lvPXJTAs0pcZVNrDPYMp%2bjY3TO0S9E5xyc56M4FmBPEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 4",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816172_2_1_%2fpXyW6Y%2fxBsy7J7%2b9AQDQDNWxYCTZQKGuOQUCIU5U6PEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 5",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816174_2_1_NZvtjgYRppweS%2bmBGOlzj1G6MEVj0W7EcusXy7SnCeTEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 6",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816175_2_1_PZtPtHRGmoK8QSQ4ekayD%2bo2C9U15LwnFe2%2fknVMwj3EB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 7",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816177_2_1_PSHfKjl%2f7d9o5jOqxP0rYddCXOoBl0z5OZFls5jb%2fA7EB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 8",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816179_2_1_t%2fXMbCGNJgiPDiRAV7rDn1iAE6TEPTQJ6eBvrm6LchnEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 9",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816181_2_1_e0m%2fYAyBDO8YmzAKWhoORs2UH4hEKejEPeXd3TQYZqXEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 10",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816182_2_1_Vtu3JrY%2fWkqOubHMa%2bHkojdw5ae2dlr6bI8NnLYIjbnEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 11",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816184_2_1_TYTwU85q3qNtPJE%2bCK%2fhwEMwUzlMhbfssITScFYsOSPEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 12",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816185_2_1_EBxwH1%2bICmj8u3z64D7a3AgXo3JJHhCs%2buJL7CHWN6jEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 13",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816187_2_1_DzPQOVm099lYGcOPmVPvRd0T5ovkX4s52BCaIV1JU2HEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 14",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816189_2_1_sMdJmlIx8TKBuoIIzGjev1L5a0FiXoLx0vROlwboRbPEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 15",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816191_2_1_iSYOzlXIuWwoPnuHaz07iw3H8Xlj8SIfaYEywwxPeyjEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 16",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816192_2_1_HPtvwZWlFfqnsHJ1Kf0vYehxzVBXZ68t%2fncXrPwwqHjEB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 17",
      "is_highlight": false
    },
    {
      "url": "https://mediaredir2.era.pt/i/moradia-t3-grandola-carvalhal_13_1_1547558_18816194_2_1_B8SsVAjWVsVLIL%2fnHc4umfAziC3SrJK9lZSLTftv5M7EB8h4ZPpqcw%3d%3d_.jpg",
      "title": "",
      "description": "Apartamento T3 Grândola, Carvalhal - 1547558 - 18",
      "is_highlight": false
    }
  ],
  "belongs_to_development": false,
  "business_status": {
    "id": 1,
    "name": "Disponível"
  },
  "business_type": [
    {
      "result_page": null,
      "id": 2,
      "name": "Arrendar"
    }
  ],
  "ce": "A",
  "elevator": false,
  "floor": "0",
  "has_exact_location": false,
  "has_virtual_tour": false,
  "highlights": {
    "extra_info": "",
    "group_id": 2,
    "id": 5,
    "name": "Novidade"
  },
  "id": 1547558,
  "is_development": false,
  "is_excluded": false,
  "is_favorite": false,
  "is_free_ad_property": false,
  "is_online": true,
  "is_sold": false,
  "land_area": "",
  "lat": "38,49131",
  "listing_area": "153",
  "lng": "-8,903483",
  "localization": "Carvalhal, Setúbal",
  "net_area": "",
  "owner": null,
  "parking": "",
  "property_ad_state": null,
  "property_sub_type": {
    "id_property_type": "2",
    "id": 53,
    "name": "Moradia"
  },
  "property_type": "Moradia",
  "property_type_id": [
    2
  ],
  "real_estate": {
    "phone": "265236357",
    "id": 351010429,
    "id_sales_office": 0,
    "name": "ERA Setúbal Centro",
    "photo": {
      "url": "https://mediaredir.era.pt/escritorios/351010429/0c41b9f863294195beede4201c546053-20250526182229450.jpg",
      "title": "",
      "description": "",
      "is_highlight": false
    },
    "a_m_i": "9807",
    "company_name": "Real Paixão - Mediação Imobiliária, Lda",
    "u_r_l": null
  },
  "reference": "429260022",
  "rent_price": {
    "name": "Arrendar",
    "value": "3.500 €",
    "previous_value": "",
    "variation": ""
  },
  "rooms": "3",
  "sell_price": null,
  "sublease_price": null,
  "title": "Moradia T3 / Grândola, Carvalhal",
  "wcs": "3",
  "last_contact_info": null,
  "fraction_numb": null,
  "floor_numb": null,
  "housing_area": "",
  "listing_building_area": "",
  "implantation_area": "",
  "construction_feasibility": false,
  "walled": false,
  "price_net_area": null,
  "price_listing_area": null,
  "price_land_area": null,
  "rent_price_net_area": null,
  "rent_price_listing_area": null,
  "rent_price_land_area": null,
  "sub_lease_price_net_area": null,
  "sub_lease_price_listing_area": null,
  "sub_lease_price_land_area": null,
  "stamp": "",
  "last_units": false,
  "fractions": null,
  "fractions_qty": 0,
  "promoter_name": null,
  "promoter_logo": null,
  "has_more_fractions": false,
  "from_url": "https://www.era.pt/comprar?ob=1,2,3&ord=3&ir=1&nr=0&page=1"
}
```

Each property returns a rich dataset with 60+ fields describing physical attributes, pricing, location, and listing status:

#### Core Property Identification

| Field | Meaning |
|---|---|
| `ID` | Unique ERA property identifier |
| `Reference` | ERA reference code for the listing |
| `Detail URL` | Direct link to the property detail page |
| `Title` | Property title/headline as displayed |
| `Owner` | Agent or owner contact information |

#### Property Type & Classification

| Field | Meaning |
|---|---|
| `Property Type` | Main category (e.g., Apartment, House, Commercial) |
| `Property Type ID` | Numeric ID for the property type |
| `Property Sub Type` | Subcategory (e.g., Studio, Duplex, Warehouse) |
| `Business Type` | Transaction type (Buy, Rent, or Sublease) |

#### Physical Dimensions & Structure

| Field | Meaning |
|---|---|
| `Net Area` | Usable interior floor space (m²) |
| `Land Area` | Total land size including outdoor spaces (m²) |
| `Listing Area` | Area displayed in the listing (m²) |
| `Housing Area` | Residential floor area (m²) |
| `Listing Building Area` | Building footprint as listed (m²) |
| `Implantation Area` | Total construction footprint (m²) |
| `Rooms` | Number of bedrooms |
| `WCs` | Number of bathrooms and toilets |
| `Floor` | Floor level (ground, 1st, 2nd, etc.) |
| `Floor Number` | Numeric floor identifier |
| `Fraction Number` | Unit number within a building |

#### Pricing

| Field | Meaning |
|---|---|
| `Sell Price` | Listed sale price (€) |
| `Rent Price` | Monthly rental price (€) |
| `Sublease Price` | Sublease monthly price (€) |
| `Price Net Area` | Price per m² of net area (€/m²) |
| `Price Listing Area` | Price per m² of listing area (€/m²) |
| `Price Land Area` | Price per m² of land (€/m²) |
| `Rent Price Net Area` | Rent per m² of net area (€/m²) |
| `Rent Price Listing Area` | Rent per m² of listing area (€/m²) |
| `Rent Price Land Area` | Rent per m² of land (€/m²) |
| `Sub Lease Price Net Area` | Sublease price per m² (€/m²) |
| `Sub Lease Price Listing Area` | Sublease per listing m² (€/m²) |
| `Sub Lease Price Land Area` | Sublease per land m² (€/m²) |

#### Location & Coordinates

| Field | Meaning |
|---|---|
| `Localization` | Address or neighborhood name |
| `Latitude` | GPS latitude coordinate |
| `Longitude` | GPS longitude coordinate |
| `Has Exact Location` | Boolean indicating precise geo-location availability |

#### Amenities & Features

| Field | Meaning |
|---|---|
| `Elevator` | Whether the building has an elevator |
| `Parking` | Number of parking spaces or availability |
| `Walled` | Whether the property has perimeter walls/fencing |
| `CE` | Energy certification level (A–F scale) |
| `Highlights` | Array of special features or selling points |
| `Has Virtual Tour` | Whether a 3D virtual tour is available |
| `Gallery` | URLs and count of property photos |

#### Listing Status & Metadata

| Field | Meaning |
|---|---|
| `Is Online` | Whether the listing is currently active |
| `Is Sold` | Whether the property has been sold |
| `Is Excluded` | Whether the listing is hidden or archived |
| `Is Favorite` | User favorite flag status |
| `Is Free Ad Property` | Whether listed at no cost |
| `Property Ad State` | Current listing status (active, expired, etc.) |
| `Business Status` | Availability or transaction status |
| `Stamp` | Internal processing timestamp |
| `Last Contact Info` | Recent agent contact activity |

#### Development & Investment Data

| Field | Meaning |
|---|---|
| `Is Development` | Whether this is a new construction project |
| `Belongs To Development` | Parent development project ID if applicable |
| `Construction Feasibility` | Whether construction is permitted on the land |
| `Promoter Name` | Developer/promoter company name |
| `Promoter Logo` | Developer logo URL |
| `Fractions` | Number of units in a multi-unit development |
| `Fractions Quantity` | Total quantity of available units |
| `Has More Fractions` | Whether additional units are available |
| `Last Units` | Count of remaining units for sale |
| `Real Estate` | Associated real estate group or office |

***

### How to Use

1. **Build a search URL** — Navigate to ERA.pt, apply filters (property type, price range, location, etc.), and copy the full search result page URL.
2. **Add URLs to input** — Paste one or more search URLs into the `urls` array. You can scrape multiple search result pages in a single run.
3. **Configure limits** — Set `max_items_per_url` to control volume (e.g., 50 for a focused run, 200 for comprehensive scraping).
4. **Enable fault tolerance** — Set `ignore_url_failures: true` for production runs to avoid interruptions if a page temporarily fails.
5. **Execute and export** — Start the scraper and download results in JSON, CSV, or Excel format.

**Best practices:**

- Use search filters on ERA.pt to narrow results before scraping (saves time and API usage).
- For large datasets, split by region or property type into separate runs.
- Monitor price/m² and location fields for market trend analysis.

***

### Use Cases & Business Value

- **Investment analysis:** Compare pricing, location, and ROI metrics across neighborhoods
- **Market intelligence:** Track competitor listings and new property launches in real time
- **Portfolio management:** Build and maintain updated property databases for aggregators
- **Price benchmarking:** Calculate average price per m² by district, property type, or amenity
- **Research:** Analyze housing supply, affordability trends, or development activity

The ERA Property Search Scraper cuts manual data collection from hours to minutes, enabling real-time market insights and informed investment decisions.

***

### Conclusion

The **ERA Property Search Scraper** is the essential tool for anyone working with Portuguese real estate data. Whether you're an investor, analyst, or platform builder, this scraper delivers clean, structured property records with 60+ fields — ready for analysis, modeling, or integration. Start scraping today and unlock the full potential of ERA.pt's listings.

# 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://www.era.pt/en/buy?ob=1,2,3&ord=3&ir=1&nr=0&page=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://www.era.pt/en/buy?ob=1,2,3&ord=3&ir=1&nr=0&page=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/era-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.era.pt/en/buy?ob=1,2,3&ord=3&ir=1&nr=0&page=1"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/era-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.era.pt/en/buy?ob=1,2,3&ord=3&ir=1&nr=0&page=1"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/era-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Era Property Search Scraper",
        "description": "Scrape hundreds of property listings from ERA.pt with detailed real estate data. This scraper extracts prices, locations, property specs, and 60+ fields per listing — perfect for market analysts, investors, and property aggregators.",
        "version": "0.0",
        "x-build-id": "kqeaqIwJkJhcMMk7k"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~era-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-era-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~era-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-era-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~era-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-era-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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
