Cian RU – Property Listings, Search Filters & URLs
Pricing
from $1.50 / 1,000 dataset items
Cian RU – Property Listings, Search Filters & URLs
Collect property listings from Cian.ru by search filters or direct URLs. Returns structured rows with listing URL, title, price, address, rooms, area, floors, photos, visible contact fields, coordinates when available, and optional detail-page enrichment.
Pricing
from $1.50 / 1,000 dataset items
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
16 hours ago
Last modified
Categories
Share
Cian.ru Property Scraper
Collect property listings from Cian by search filters or direct URLs. Every row comes fully populated in a single fast pass: listing URL, title, price, address, rooms, area, floors, photos, coordinates, and contact phones.
Input
mode: choosesearchfor filters orurlfor pasted Cian URLs.urls: Cian search-result URLs, used in URL mode. The filters below are ignored in URL mode, so encode filters in the URL itself.
The next group applies to search mode only:
location/regionId: search area. Moscow is region1, Saint Petersburg is region2.operationType:saleorrent.category: flats, rooms, houses, new buildings, and commercial categories.sort: default, price low→high, price per m² (asc/desc), area, newest, or walking time.rooms,includeStudio: room-count filters (studio supported).minPrice/maxPrice(RUB),minArea/maxArea,minFloor/maxFloor,minFloors/maxFloors.advancedFilters: JSON object of raw Cian query fields for power users, e.g.{"repair":{"type":"terms","value":[2,3]}}.
Output and limits (both modes):
maxItems: maximum rows to save. Fewer can be returned when results or filters match fewer live records.maxPages: leave0for no page limit. The run stops at Max items.proxy: residential proxy is recommended for this site.mcpConnectors: select authorized Apify MCP connectors to export saved rows to your apps.
Resume & recurring updates
resumeFromRunId: continue ONE interrupted crawl. Paste a previous run ID (or dataset ID) and this run skips listings it already saved, appending only new ones.incrementalMode: for recurring/scheduled monitoring of the SAME search instead — remembers the previous run's results itself (keyed by your filters/URLs) and reports each listing aschangeTypeNEW/UPDATED/REAPPEARED/EXPIRED/UNCHANGED. Off by default.stateKey: optional manual key for the incremental baseline. Leave empty to derive one automatically from your mode/filters/URLs (excludingmaxItems/maxPages), so identical searches share a baseline and different ones never mix.emitUnchanged: also save (and charge for) listings that did not change. Off by default, so a recurring run only pays for what actually changed.emitExpired: also save (and charge for) a row for previously-tracked listings no longer found, markedchangeType: "EXPIRED". Only fires after a run that scanned the full tracked search — a capped, resumed, or partially-blocked run leaves previous state untouched instead of guessing.
resumeFromRunId and incrementalMode can combine to bootstrap a monitoring baseline from an interrupted crawl's dataset, but not once that baseline already has tracked listings (set a different stateKey for a separate campaign instead).
Output
Each dataset row includes:
id,url,sourceUrl,title,jkNameprice,priceValue,pricePerMeter,currencyaddress,district,metro,metroTimeroomsCount,totalArea,livingArea,kitchenArea,floorNumber,floorsCount,buildYear,materialTypedealType,category,offerType,isFromDeveloper,isPremiumdescription,phoneNumberslatitude,longitudeimageUrls,creationDate,addedLabel,scrapedAt
Incremental mode adds, only when incrementalMode is on:
changeType:NEW/UPDATED/REAPPEARED/EXPIRED/UNCHANGED(the last only whenemitUnchangedis on).changedFields: which fields differ from the previous run (empty forNEW/UNCHANGED/REAPPEARED/EXPIRED).firstSeenAt,lastSeenAt: when this actor first and most recently observed the listing.
Incremental change detection ignores scrapedAt (this actor's own per-fetch timestamp) and addedLabel (cian's relative "added" label, e.g. "вчера, 14:40" — it shifts with scrape time and the day boundary independently of any real listing change). Both fields are still present in every row; they are just excluded from the change comparison itself. Every other field, including imageUrls and phoneNumbers, is measured live and stays part of the comparison.
Notes
Use broad filters first, then narrow by price, rooms, and area. Phones, coordinates, descriptions, and photos are included on every row, so there is no separate detail step. Residential proxy is recommended.