# Fang 房天下 New-Home Scraper: China 楼盘 Prices, Sales & Developers (`getascraper/fang-new-property-listings-scraper`) Actor

Scrape 房天下 (Fang) 新房 new-home 楼盘 projects across 97 Chinese cities: price per sqm, total price, sales status, layouts, developer, opening dates, sales progress and coordinates. Filter by district, price, type and bedrooms, or track price changes. From $3 per 1,000 projects.

- **URL**: https://apify.com/getascraper/fang-new-property-listings-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 property projects

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏠 Fang 房天下 New-Home Scraper: China 楼盘 Prices, Sales & Developers

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#FFF4EC;border:1px solid #F9D3B8;border-top:4px solid #C2410C;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every new-home project in China, priced, dated and tracked</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Collect Fang (房天下) new-property projects from 97 cities: price per square metre, total price, sales status, developer, opening dates and how many homes have already sold. No login needed.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F9D3B8;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">🏙️ 97 cities</span><br>
<span style="font-size:12px;color:#57534E">Narrow by district, price, type, sales status and bedrooms.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F9D3B8;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">💴 Prices as numbers</span><br>
<span style="font-size:12px;color:#57534E">Price per square metre and total price, ready to sort and chart.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F9D3B8;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">📈 Sales progress</span><br>
<span style="font-size:12px;color:#57534E">Homes permitted, signed and still available for each project.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F9D3B8;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">🔔 Change tracking</span><br>
<span style="font-size:12px;color:#57534E">See new launches, price cuts and status changes between runs.</span>
</td>
</tr>
</table>

Fang (房天下, formerly Soufun) is one of China's biggest property portals. This Actor turns its 新房 (new home) project pages into a clean dataset: one row per 楼盘 (development) with prices as real numbers, layouts, area range, district, hotline and cover image. Switch on the optional extras to add the developer, opening and handover dates, presale permit, land and building specs, map coordinates and sales progress.

### 🔍 What does Fang New-Property Scraper do?

- Searches new-home projects in any of 97 Chinese cities, from Beijing and Shanghai to Sanya and Zhoushan.
- Filters by district, price per square metre, property type, sales status, bedrooms, home size, feature labels, project name, developer and opening window.
- Returns price per square metre and total price as numbers, with a clear flag when a project has no price yet or no presale permit.
- Adds sales progress per project: homes covered by the permit, homes signed, homes still available and the share already sold.
- Tracks a search over time and labels each project as new, price down, price up, price published, status changed or removed.
- Saves only what Fang shows. A field Fang leaves empty is left out of the row rather than filled with a placeholder.

### 👥 Who is it for?

- **I am a property investor** screening new launches in Shanghai, Chengdu and Hangzhou, so I need unit prices, sell-through and opening dates in one sheet.
- **I am a developer's market analyst** comparing nearby projects, so I track competitor prices, layouts and how fast their units sign.
- **I am a broker** who needs to know the day a project opens or cuts its price, so my clients hear it first.
- **I am a proptech data lead** feeding a price model or map, so I need clean numbers and coordinates for every city.
- **I am a researcher** studying regional new-home pricing, so I need the same fields across 97 cities.

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF4EC;border:1px solid #F9D3B8;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C2410C;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick cities and filters</span><br>
<span style="font-size:12px;color:#57534E">Choose cities from the list, then add districts, price range, type and bedrooms.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4EC;border:1px solid #F9D3B8;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C2410C;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose how deep to go</span><br>
<span style="font-size:12px;color:#57534E">Keep the quick listing view, or add project details and sales progress.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4EC;border:1px solid #F9D3B8;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C2410C;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Download or schedule</span><br>
<span style="font-size:12px;color:#57534E">Export to Excel, CSV or JSON, or schedule it and keep only what changed.</span>
</td>
</tr>
</table>

Start small: the default run returns 10 Beijing projects in seconds. Raise the project and page limits when you are ready for a full city.

### 💰 Pricing

Pricing is pay per result. You pay for each project saved to your dataset, and runs that return nothing cost nothing. There are no subscriptions or monthly fees. Project details and sales progress add one page load per project, so they make a run slower.

Free-plan accounts can collect up to 25 projects per run, with up to 3 runs per day at least 30 minutes apart. Paid plans have no such limits.

### ⭐ Enjoying Fang 房天下 New-Home Scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#FFF4EC;border:1px solid #F9D3B8;border-left:5px solid #C2410C;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Turned a week of copying from Fang into a single run?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other property investors and analysts find it. Your feedback also tells us which cities and fields to improve next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#C2410C;border:1px solid #F9D3B8;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/fang-new-property-listings-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cities` | array of strings | No | One or more cities to search, picked from a list of 97. Each city is searched separately. Defaults to Beijing. |
| `districts` | array of strings | No | District names such as 朝阳 or 福田. Each district is searched on its own inside every chosen city. |
| `startUrls` | array of URLs | No | Search pages copied from the Fang new-home site after you filtered them in your browser. When set, these replace the city list. |
| `unitPriceMin` | integer | No | Lowest price per square metre in yuan. |
| `unitPriceMax` | integer | No | Highest price per square metre in yuan. |
| `propertyType` | enum | No | Residential, villa, office, shop or commercial. Defaults to any type. |
| `saleStatus` | enum | No | On sale, upcoming or sold out. Defaults to any status. |
| `layouts` | array of strings | No | Keep projects offering at least one of the chosen bedroom counts. 5 means five or more. |
| `areaMin` | integer | No | Keep projects with homes of at least this size in square metres. |
| `areaMax` | integer | No | Keep projects with homes no larger than this size in square metres. |
| `nameKeyword` | string | No | Keep projects whose name contains this text. |
| `featureTags` | array of strings | No | Keep projects that carry any of these labels, such as 地铁沿线 or 装修交付. |
| `developerKeyword` | string | No | Keep projects whose developer name contains this text. Project details are switched on automatically. |
| `openingFrom` | string | No | Keep projects opening for sale on or after this date. Project details are switched on automatically. |
| `openingTo` | string | No | Keep projects opening for sale on or before this date. Project details are switched on automatically. |
| `sort` | enum | No | Fang default, price low to high, price high to low, most reviewed or opening date. Defaults to the Fang order. |
| `includeProjectDetails` | boolean | No | Adds developer, dates, decoration, land use term, plot ratio, greening, parking, property company and presale permit. Off by default. |
| `includeSalesAndLayouts` | boolean | No | Adds sales progress, main layouts with prices, coordinates, ratings and district price context. Off by default. |
| `monitorMode` | enum | No | Choose track changes to compare each run with the previous run of the same search. Off by default. |
| `monitorScope` | string | No | A short name that links scheduled runs of the same search. Leave empty to use an automatic name built from your cities and filters. |
| `includeUnchanged` | boolean | No | In monitoring mode, also return projects that did not change. Off by default. |
| `maxItems` | integer | No | Maximum number of projects to return in total. Defaults to 10. |
| `maxPages` | integer | No | Result pages to read per search, 20 projects each. Defaults to 1. |
| `proxyConfiguration` | object | No | Connection settings. The default connects directly and switches to another route by itself if the site refuses. |

### 📊 Data table

| Field | Type | Description |
| --- | --- | --- |
| `projectId` | string | Fang project ID. |
| `name` | string | Project name. |
| `alias` | string | Alternative project name, when listed. |
| `url` | string | Link to the project page. |
| `city`, `cityName` | string | City code and Chinese city name. |
| `district`, `plate`, `ringRoad` | string | District, sub-district and ring-road band. |
| `address` | string | Project address. |
| `salesAddress` | string | Sales office address. |
| `latitude`, `longitude` | number | Map coordinates (with sales progress option). |
| `imageUrl` | string | Cover image link. |
| `saleStatus`, `saleStatusText` | string | On sale, upcoming or sold out, plus Fang's own label. |
| `priceState` | string | Listed, to be determined, or no presale permit yet. |
| `unitPriceCny` | number | Price per square metre in yuan. |
| `unitPriceIsFrom` | boolean | True when the unit price is a starting price. |
| `totalPriceFromCny` | number | Starting total price per home in yuan. |
| `totalPriceMinCny`, `totalPriceMaxCny` | number | Total price range (with project details). |
| `rentPricePerSqmCny`, `rentPeriod` | number, string | Rent per square metre per day, month or year, for office and shop listings. |
| `priceText` | string | The price exactly as Fang shows it. |
| `priceQuotedAt`, `priceValidDays`, `priceValidUntil` | string, number | When the price was quoted and how long it holds. |
| `layouts` | array | Layout types offered, such as 三居 and 四居. |
| `bedroomsMin`, `bedroomsMax` | integer | Smallest and largest bedroom count. |
| `areaMinSqm`, `areaMaxSqm` | number | Smallest and largest home size in square metres. |
| `tags` | array | Feature labels shown on the listing. |
| `propertyCategories`, `buildingType`, `decoration` | string | Property categories, building type and decoration status. |
| `propertyTermText`, `propertyTermYears` | string, array | Land use term as published and in years. |
| `developer` | string | Developer company. |
| `openingDate`, `openingMonth`, `openingDateText` | string | Opening date, or month when only a month is known, and the original text. |
| `handoverDate`, `handoverMonth`, `handoverText` | string | Handover date or month and the original text. |
| `presalePermitNumber`, `presalePermitIssuedAt` | string | Presale permit number and issue date. |
| `plotAreaSqm`, `floorAreaSqm`, `plotRatio`, `greeningRatePct` | number | Land area, floor area, plot ratio and greening rate. |
| `parkingSpaces`, `parkingDescription` | integer, string | Parking spaces and description. |
| `buildingCount`, `totalHouseholds`, `floorsDescription` | integer, string | Buildings, households and floors. |
| `propertyCompany`, `propertyFeeText`, `propertyFeeCnyPerSqmMonth` | string, number | Property manager and monthly fee. |
| `salesHotline`, `salesHotlineExtension` | string | Sales hotline and extension. |
| `permittedUnits`, `signedUnits`, `availableUnits`, `sellThroughPct` | number | Homes permitted, signed, available and the share signed. |
| `salesProgressUpdatedAt`, `signedUnitsByAreaBand` | string, array | Date of the sales figures and signed homes by size band. |
| `mainLayouts` | array | Main layouts with size, total price and status. |
| `ratingOverall`, `ratingLayout`, `ratingTransport`, `ratingEducation`, `ratingLiving` | number | Overall score and sub-scores. |
| `reviewCount`, `cityHotRank` | integer | Number of reviews and rank on the city's hot list. |
| `districtNewHomeAvgPriceCny`, `districtResaleAvgPriceCny`, `plateNewHomeRefPriceCny` | number | New-home and resale averages for the district and reference price for the sub-district. |
| `nearbyTransit` | string | Nearby metro lines. |
| `detailStatus` | string | Set to unavailable when a project's extra pages could not be loaded. |
| `changeType`, `changes` | string, array | New, price down, price up, price published, status changed, unchanged or removed. |
| `previousUnitPriceCny`, `unitPriceChangePct`, `previousTotalPriceFromCny`, `previousSaleStatus` | number, string | Earlier values for projects that changed. |
| `firstSeenAt`, `lastSeenAt` | string | When monitoring first and last saw the project. |
| `searchPage`, `position`, `sourceUrl`, `scrapedAt` | integer, string | Where the row was found and when. |

Example row with both extras switched on (shortened):

```json
{
  "projectId": "1210223686",
  "name": "前滩元境",
  "city": "sh",
  "cityName": "上海",
  "district": "浦东",
  "saleStatus": "onSale",
  "priceState": "listed",
  "unitPriceCny": 133800,
  "totalPriceFromCny": 13380000,
  "layouts": ["三居", "四居"],
  "areaMinSqm": 100,
  "areaMaxSqm": 188,
  "developer": "上海建绽置业有限公司",
  "openingDate": "2026-08-13",
  "handoverDate": "2028-09-01",
  "latitude": 31.143049,
  "longitude": 121.477249,
  "permittedUnits": 214,
  "signedUnits": 184,
  "availableUnits": 30,
  "sellThroughPct": 86,
  "scrapedAt": "2026-10-14T08:31:08.000Z"
}
```

### ❓ FAQ

##### Do I need a Fang account or any login?

No. The Actor reads public new-home pages only. It needs no account, key or cookie.

##### How fresh is the data?

Every run reads the pages live, so prices and sales status match what Fang shows at that moment. Each price carries the date it was quoted and how long it holds.

##### 房天下新房楼盘数据怎么批量导出？

Pick your cities, set the filters and press Start. The results download as Excel, CSV or JSON, one row per 楼盘. Add a district name in Chinese, such as 朝阳, to narrow a city to one area.

##### 房天下楼盘降价怎么自动监控？

Turn on monitoring and schedule the run daily or weekly. Each run compares prices and sales status with the last run of the same search. Projects that cut prices are labelled as price down, with the old price and the percentage change.

##### How do I tell new projects and price cuts from the rest?

Use track changes with a scope name. The first run saves a baseline and labels every project as new. Later runs return only new, changed or removed projects unless you ask for unchanged ones too.

##### When is a project marked as removed?

Only when a run covers the whole search from start to end. A run that stops early because of your project or page limits never marks anything as removed.

##### Why are some fields empty for a project?

Fang does not publish every field for every project, for example the price of a launch that has no presale permit yet. The Actor leaves those fields out and never fills them with guesses.

##### What if Fang cannot be reached?

The Actor retries and changes its connection route once. If nothing can be collected, the run fails with a clear message instead of returning an empty dataset.

### 🔗 Other actors

- [Lianjia Scraper 链家: China Resale Listings, Prices & Communities](https://apify.com/getascraper/lianjia-real-estate-scraper) ↗ - resale listings and community prices from Lianjia and Beike.
- [58.com Real Estate Scraper: China Sale, Rental & Landlord Data](https://apify.com/getascraper/58-classifieds-scraper) ↗ - sale and rental listings with landlord contacts from 58.com.
- [Realting.com Scraper: Property Listings, Prices, 90+ Countries](https://apify.com/getascraper/realting-property-scraper) ↗ - international property listings and prices.
- [Yandex Realty Scraper: Яндекс Недвижимость](https://apify.com/getascraper/yandex-realty-scraper) ↗ - Russian property listings and prices from Yandex Realty.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/fang-new-property-listings-scraper/changelog.md

# Actor input Schema

## `cities` (type: `array`):

Pick one or more Chinese cities. Each city is searched separately and the results are combined. Ignored when you paste search URLs below.

## `districts` (type: `array`):

Optional district names inside the chosen cities, for example 朝阳, 海淀 or Pudong style pinyin codes. Names are matched against the city page. Each district is searched on its own.

## `startUrls` (type: `array`):

Optional new-property search pages from newhouse.fang.com (for example a page you filtered in your browser). When set, these are scraped instead of the cities above.

## `unitPriceMin` (type: `integer`):

Only projects with a published price per square metre at or above this value.

## `unitPriceMax` (type: `integer`):

Only projects with a published price per square metre at or below this value.

## `propertyType` (type: `string`):

Kind of property to include.

## `saleStatus` (type: `string`):

Whether the project is selling now, about to sell, or already sold out.

## `layouts` (type: `array`):

Keep projects that offer at least one of these bedroom counts. 5 means five bedrooms or more.

## `areaMin` (type: `integer`):

Keep projects whose unit sizes reach at least this area.

## `areaMax` (type: `integer`):

Keep projects that offer units no larger than this area.

## `nameKeyword` (type: `string`):

Only projects whose name contains this text, for example 保利 or a developer brand shown in the project name.

## `featureTags` (type: `array`):

Keep projects that carry any of these labels, for example 地铁沿线, 装修交付, 低总价, 品牌地产.

## `developerKeyword` (type: `string`):

Only projects whose developer company name contains this text. Turns on project details automatically, so each project costs extra page loads.

## `openingFrom` (type: `string`):

Only projects opening for sale on or after this date. Turns on project details automatically.

## `openingTo` (type: `string`):

Only projects opening for sale on or before this date. Turns on project details automatically.

## `sort` (type: `string`):

How Fang orders the results before the limits are applied.

## `includeProjectDetails` (type: `boolean`):

Adds developer, opening and handover dates, decoration, land use term, plot ratio, greening, parking, property company and fee, and presale permit. One extra page load per project.

## `includeSalesAndLayouts` (type: `boolean`):

Adds units permitted, signed and available with sell-through, main layouts with size and price, latitude and longitude, ratings, and district price context. One extra page load per project.

## `monitorMode` (type: `string`):

Choose "Track changes" to compare this run with the previous run of the same scope and label each project as new, price down, price up, status changed or removed.

## `monitorScope` (type: `string`):

A short name for this search. Runs that share a name share a saved snapshot. Leave empty to use an automatic name built from your cities and filters.

## `includeUnchanged` (type: `boolean`):

In monitoring mode, also return projects that did not change. Off keeps only new and changed projects.

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

Stop after this many projects have been returned in total.

## `maxPages` (type: `integer`):

Each Fang result page holds 20 projects. Raise it together with Maximum projects to collect more.

## `proxyConfiguration` (type: `object`):

Connection used to reach Fang. The default connects directly and switches to an alternative route if the site refuses.

## Actor input object example

```json
{
  "cities": [
    "bj"
  ],
  "districts": [],
  "startUrls": [],
  "propertyType": "any",
  "saleStatus": "any",
  "layouts": [],
  "featureTags": [],
  "sort": "default",
  "includeProjectDetails": false,
  "includeSalesAndLayouts": false,
  "monitorMode": "off",
  "includeUnchanged": false,
  "maxItems": 10,
  "maxPages": 1,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "cities": [
        "bj"
    ],
    "districts": [],
    "startUrls": [],
    "propertyType": "any",
    "saleStatus": "any",
    "layouts": [],
    "featureTags": [],
    "sort": "default",
    "includeProjectDetails": false,
    "includeSalesAndLayouts": false,
    "monitorMode": "off",
    "includeUnchanged": false,
    "maxItems": 10,
    "maxPages": 1,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/fang-new-property-listings-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 = {
    "cities": ["bj"],
    "districts": [],
    "startUrls": [],
    "propertyType": "any",
    "saleStatus": "any",
    "layouts": [],
    "featureTags": [],
    "sort": "default",
    "includeProjectDetails": False,
    "includeSalesAndLayouts": False,
    "monitorMode": "off",
    "includeUnchanged": False,
    "maxItems": 10,
    "maxPages": 1,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/fang-new-property-listings-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "cities": [
    "bj"
  ],
  "districts": [],
  "startUrls": [],
  "propertyType": "any",
  "saleStatus": "any",
  "layouts": [],
  "featureTags": [],
  "sort": "default",
  "includeProjectDetails": false,
  "includeSalesAndLayouts": false,
  "monitorMode": "off",
  "includeUnchanged": false,
  "maxItems": 10,
  "maxPages": 1,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/fang-new-property-listings-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/fang-new-property-listings-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ORXWEU0suNSof9lUY/builds/Nx2e86RqIU79sch7A/openapi.json
