# Centris Property Details Scraper (`ecomscrape/centris-property-details-scraper`)

Advanced Centris.ca property scraper for extracting comprehensive real estate data from Quebec's largest property database. Get detailed property information, broker details, location coordinates, and more from thousands of listings automatically with our professional-grade scraping solution.

- **URL**: https://beta-securitybyobscurity.apify.com/ecomscrape/centris-property-details-scraper.md
- **Developed by:** [ecomscrape](https://beta-securitybyobscurity.apify.com/ecomscrape) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## **Professional Centris.ca Real Estate Data Extraction Solution**

### Introduction

Centris.ca stands as Quebec's premier real estate platform, containing all properties for sale or rent by licensed real estate brokers across the province. As a province-wide database serving all 12 real estate boards in Quebec, Centris functions as the region's primary multiple listing service, making it an invaluable data source for real estate professionals, investors, and market analysts.

The challenge lies in manually collecting and processing the vast amount of property data available on this platform. With thousands of active listings spanning houses, condos, plexes, and commercial properties, extracting detailed information manually becomes time-consuming and inefficient. Our Centris.ca Property Details Scraper addresses this challenge by automating the data extraction process, enabling users to gather comprehensive property information at scale.

### Overview of the Centris.ca Property Scraper

The Centris.ca Property Details Scraper is a sophisticated data extraction tool designed specifically for Quebec's real estate market. This powerful scraper efficiently navigates through individual property listing pages on Centris.ca, extracting detailed information that would otherwise require hours of manual collection.

**Key Advantages:**

- **Comprehensive Data Extraction**: Captures all essential property details, from basic information to detailed specifications
- **Batch Processing**: Handle multiple property URLs simultaneously
- **Anti-Detection Technology**: Built-in proxy support and retry mechanisms to ensure reliable data collection
- **Structured Output**: Delivers clean, organized data ready for analysis or integration

**Target Users:**

- Real estate professionals and brokers
- Property investment analysts
- Market researchers and data scientists
- Real estate technology companies
- Academic researchers studying housing markets

### Input and Output Specifications

Example url 1: https://www.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2

Example url 2: https://www.centris.ca/fr/condo~a-vendre~berthierville/24806137?uc=3

Example url 3: https://www.centris.ca/fr/triplex~a-vendre~berthierville/28720193?uc=2

Example Screenshot of property information page:

![](https://i.ibb.co/N0TzVJ6/Screenshot-from-2025-08-28-00-44-10.png)

#### Input Format

The scraper accepts JSON configuration with specific parameters to control the extraction process:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "urls": [ // Links to property information pages.
    "https://www.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2",
    "https://www.centris.ca/fr/condo~a-vendre~berthierville/24806137?uc=3",
    "https://www.centris.ca/fr/triplex~a-vendre~berthierville/28720193?uc=2"
  ]
}
```

**Input Requirements:**

- **max\_retries\_per\_url**: Integer value (1-5 recommended) controlling retry attempts for failed requests
- **proxy configuration**: Essential for avoiding detection and rate limiting
- **urls array**: Complete Centris.ca property listing URLs (both French and English versions supported)

#### Output Format and Data Fields

You get the output from the Centris.ca Property Details Scraper stored in a tab. The following is an example of the Information Fields collected after running the Actor.

```json
[ // List of property information
  {
  "id": "15399518",
  "title": "Maison à vendre",
  "url": "https://www.centris.ca/fr/maison~a-vendre~berthierville/15399518",
  "description": "Superbe propriété moderne au style distinctif située dans un quartier paisible et privé de Berthierville. Offrant 5 chambres, 2 salles de bain complètes et un sous-sol avec potentiel de bi-génération ou bachelor. Garage détaché spacieux, immense stationnement, piscine creusée et patio couvert idéal pour les réceptions. Intérieur lumineux, matériaux haut de gamme, climatisation centrale. Un équilibre parfait entre confort, élégance et fonctionnalité. À découvrir sans tarder.",
  "location": "370, Rue Généreux, Berthierville",
  "images": [
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D60DDDDDDDDDDC&t=pi&w=640&h=480&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DEEDDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DC5DDDDDDDDDDD&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D6ADDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D33DDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D38DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D5DDDDDDDDDDDA&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D54DDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D50DDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D58DDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D55DDDDDDDDDD0&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D6DDDDDDDDDDD0&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D62DDDDDDDDDDD&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D3DDDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D32DDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D3EDDDDDDDDDDD&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D3BDDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D73DDDDDDDDDDC&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D7EDDDDDDDDDDF&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D70DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D78DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D96DDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D74DDDDDDDDDDA&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DF0DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DF5DDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D80DDDDDDDDDDF&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D85DDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D94DDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D9BDDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D97DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DB7DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DF4DDDDDDDDDDA&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE6DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE0DDDDDDDDDD0&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DEFDDDDDDDDDDF&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE9DDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE7DDDDDDDDDDF&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE3DDDDDDDDDDD&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D04DDDDDDDDDDC&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DC6DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE1DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE4DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DEADDDDDDDDDDA&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DE5DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DADDDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DA1DDDDDDDDDD4&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DA0DDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DA3DDDDDDDDDD1&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D0BDDDDDDDDDDD&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3D05DDDDDDDDDD2&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DBADDDDDDDDDDF&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DCADDDDDDDDDDE&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DCFDDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DC9DDDDDDDDDD0&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DC7DDDDDDDDDDB&t=pi&w=320&h=240&sm=c",
    "https://mspublic.centris.ca/media.ashx?id=ADDD250DE8D3DC2DDDDDDDDDD4&t=pi&w=320&h=240&sm=c"
  ],
  "price": "725000",
  "feature": [
    "?Cliquez pour voir si cette localisation vous convient\nStyle de vie",
    "12 pièces",
    "5 chambres (3 au sous-sol)",
    "2 salles de bain"
  ],
  "details": [
    {
      "label": "Style de bâtiment",
      "value": "Plain-pied, Détaché"
    },
    {
      "label": "Année de construction",
      "value": "2017"
    },
    {
      "label": "Superficie du terrain",
      "value": "11 684 pc"
    },
    {
      "label": "Stationnement total",
      "value": "Allée (4), Garage (2)"
    },
    {
      "label": "Piscine",
      "value": "Creusée"
    },
    {
      "label": "Foyer / Poêle",
      "value": "Foyer au gaz"
    },
    {
      "label": "Caractéristiques additionnelles",
      "value": "Cour privée, Balcon privé, Sous-sol 6 pieds +"
    },
    {
      "label": "Date d’emménagement",
      "value": "30 jours après l’acceptation de la promesse d’achat ou de location"
    }
  ],
  "broker": {
    "id": "122024",
    "name": "Marc-Olivier Dugas",
    "url": "/fr/contact-courtier/h5206/propriete/15399518",
    "image": "https://mspublic.centris.ca/media.ashx?id=ADDD250DDD1AAE7DDDDDDDDDDD&t=c&w=190&h=220&sm=m",
    "phone": "438-404-4357",
    "social": [
      "https://www.centris.ca/fr/contact-courtier/h5206/propriete/15399518",
      "tel:438-404-4357",
      "https://www.suttonquebec.com/fr/courtier-immobilier/60598-marc-olivier",
      "https://www.facebook.com/Marcocestvendu/?ref=page_internal",
      "https://www.instagram.com/marcolivier_dugas/?hl=fr"
    ]
  },
  "lat": "46.078654",
  "lng": "-73.183919');"
}, // ... Many other property details
]
```

The scraper returns structured data for each property with the following comprehensive fields:

**Core Property Information:**

- **ID**: Unique Centris property identifier extracted from the URL - essential for tracking and referencing specific listings
- **Title**: Complete property title as displayed on Centris - includes property type, location, and key features for quick identification
- **URL**: Original listing URL - enables direct access to the property page for verification or additional details

**Property Description and Marketing:**

- **Description**: Full property description text from the listing - contains detailed information about features, condition, and selling points written by the listing broker
- **Location**: Structured address information including street, city, and postal code - crucial for mapping, neighborhood analysis, and location-based filtering

**Visual and Media Content:**

- **Images**: Array of high-resolution property image URLs - includes interior, exterior, and architectural photos for visual analysis and marketing materials

**Financial Information:**

- **Price**: Listed asking price in CAD - the primary financial metric for market analysis, comparison studies, and investment calculations

**Property Characteristics:**

- **Feature**: Comprehensive list of property features and amenities - includes specifications like number of bedrooms, bathrooms, square footage, parking, and special features
- **Details**: Technical property details and legal information - covers lot size, municipal taxes, school taxes, property type classifications, and regulatory information

**Professional Information:**

- **Broker**: Complete broker/agent information including name, contact details, and brokerage affiliation - essential for transaction inquiries and professional networking

**Geographic Data:**

- **Latitude**: Precise GPS latitude coordinate - enables mapping, distance calculations, and geographic analysis
- **Longitude**: Precise GPS longitude coordinate - paired with latitude for complete location positioning

### Usage Instructions

#### Step-by-Step Implementation

1. **Prepare Your URLs**: Collect the complete Centris.ca property listing URLs you want to scrape. Ensure URLs are direct links to individual property pages.

2. **Configure Input Parameters**:
   - Set appropriate retry limits (2-3 recommended for reliability)
   - Configure proxy settings to match your target region (typically "CA" for Canada)
   - Organize URLs in the input array

3. **Execute the Scraper**: Initialize the scraping process with your configured parameters

4. **Monitor Progress**: The scraper provides status updates and handles errors automatically

#### Best Practices

- **Batch Size Management**: Process 50-100 URLs per batch to optimize performance and avoid overwhelming the target server
- **Proxy Configuration**: Always use residential proxies with Canadian IP addresses for best results
- **Error Handling**: Review failed URLs and retry with adjusted parameters if necessary
- **Data Validation**: Verify critical fields like price and location for accuracy before analysis

#### Common Issues and Solutions

- **Rate Limiting**: Increase delays between requests or use different proxy locations
- **Stale URLs**: Verify that property listings are still active on Centris.ca
- **Incomplete Data**: Some fields may be empty if not provided in the original listing

### Benefits and Applications

#### Time and Resource Savings

Our Centris.ca Property Scraper transforms hours of manual data collection into minutes of automated processing. Real estate professionals can analyze market trends, compare properties, and identify investment opportunities without spending countless hours copying and organizing data manually.

#### Real-World Applications

- **Market Analysis**: Compare property prices, features, and locations across different Quebec regions
- **Investment Research**: Identify undervalued properties and emerging market trends
- **Competitive Intelligence**: Monitor competitor listings and pricing strategies
- **Academic Research**: Analyze housing market patterns and demographic trends
- **Business Intelligence**: Integrate property data into CRM systems and analytical tools

#### Business Value

The comprehensive data extraction enables data-driven decision making in real estate investments, market analysis, and business development. With accurate, up-to-date information at your fingertips, you can respond quickly to market opportunities and make informed strategic decisions.

### Conclusion

The Centris.ca Property Details Scraper represents a powerful solution for anyone working with Quebec real estate data. By automating the complex process of data extraction from Canada's most comprehensive property database, this tool empowers professionals to focus on analysis and decision-making rather than manual data collection.

Whether you're a real estate investor seeking the next opportunity, a market researcher analyzing trends, or a technology company building innovative property solutions, our scraper provides the reliable, comprehensive data foundation you need to succeed in Quebec's dynamic real estate market.

**Ready to streamline your real estate data collection? Start extracting comprehensive Centris.ca property data today and transform your approach to Quebec real estate analysis.**

## Related Actors

- [**Centris.ca Property Search Scraper**](https://apify.com/ecomscrape/centris-property-search-scraper): A specialized data extraction tool engineered to harvest detailed property information from Centris's dominant real estate marketplace.

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Centris.ca Property Details Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

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

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

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

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

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2"
  ],
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2"
    ],
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/centris-property-details-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.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2"],
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/centris-property-details-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.centris.ca/fr/maison~a-vendre~berthierville/15399518?uc=2"
  ],
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/centris-property-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Centris Property Details Scraper",
        "description": "Advanced Centris.ca property scraper for extracting comprehensive real estate data from Quebec's largest property database. Get detailed property information, broker details, location coordinates, and more from thousands of listings automatically with our professional-grade scraping solution.",
        "version": "0.0",
        "x-build-id": "RUWgtAekrBQ5drHkN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ecomscrape~centris-property-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ecomscrape-centris-property-details-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/ecomscrape~centris-property-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ecomscrape-centris-property-details-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/ecomscrape~centris-property-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ecomscrape-centris-property-details-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 Specific property urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Specific property 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"
                        }
                    },
                    "max_retries_per_url": {
                        "title": "Limit the number of retries for each URL",
                        "type": "integer",
                        "description": "Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load"
                    },
                    "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
