CIAN.ru Real Estate Scraper — Sale & Rent
Pricing
from $4.00 / 1,000 property scrapeds
CIAN.ru Real Estate Scraper — Sale & Rent
Scrape public CIAN.ru property listings in Russia by search URL or filters for city, rooms, price, and sale or rent. Returns price, area, floor, metro and address, collected through Russian residential proxies.
Pricing
from $4.00 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
What is CIAN.ru Real Estate Scraper — Sale & Rent?
CIAN.ru Real Estate Scraper — Sale & Rent returns one dataset row per public CIAN.ru property listing in Russia: listing ID and URL, deal type, asking price or monthly rent in rubles, price per square metre, rooms and a studio flag, area in m², floor and total floors, nearest metro station and the full address. Real estate agents, investors, relocation services, analysts and AI agents use it to screen flats for sale or rent by city, rooms and price, or to collect a CIAN search they already filtered on the site.
Why people use this CIAN scraper
- Filters or URLs. Set
dealType,locationorregionId,rooms,propertyTypeand a price band, or paste CIAN search and listing URLs intostartUrls. - Price per m² included.
pricePerSqmRubsits next topriceRub, ready for value comparisons across districts. - Building context.
floorandfloorsTotalshow where a flat sits in its building. - Metro on every row.
metroandaddressmake commute screening quick. - Sale and rent.
dealTypeswitches between asking prices and monthly rents.
Best fit for this Actor
- Best fit for screening Russian flats, rooms and houses for sale or rent, especially in Moscow and Saint Petersburg.
- Designed for public CIAN listing cards, collected through Russian residential proxies by default.
- Use
regionId(1 for Moscow, 2 for Saint Petersburg) for exact regions, orlocationkeys such asmoscow,spborkazan. - Use
startUrlswhen you already set districts, metro lines or other filters on cian.ru. - To see private-seller and classifieds listings in the same city, continue with Avito Scraper and compare prices per m².
Example workflow: from a client budget to a shortlist
A relocation consultant starts with dealType set to rent, location set to moscow, rooms set to ["1", "2"] and maxPrice at 120,000 rubles, with maxItems at 100. The dataset returns each flat's priceRub, areaSqm, floor, metro and url. They filter on metro stations near the client's office, compare rent per square metre, and drop ground-floor flats. They export a shortlist of ten links to share with the client, then schedule the same input daily to catch new rentals first.
Input
Search with filters:
{"dealType": "sale","location": "moscow","rooms": ["1"],"propertyType": "flat","maxPrice": 20000000,"maxItems": 20}
Or collect a CIAN search URL:
{"startUrls": [{ "url": "https://www.cian.ru/cat.php?deal_type=sale&engine_version=2&offer_type=flat®ion=1&room1=1" }],"maxItems": 20}
| Field | Type | What it controls |
|---|---|---|
startUrls | array | CIAN search URLs or listing URLs such as /sale/flat/{id}. When set, these drive collection. |
dealType | string | sale or rent. Default sale. |
location | string | City key such as moscow, spb or kazan. |
regionId | integer | Numeric CIAN region ID; takes priority over location. |
rooms | array of strings | Room counts "1" to "5", "6" for six or more, "0" or "9" for studios. Default ["1"]. |
minPrice, maxPrice | integers | Price range in rubles: sale price or monthly rent. |
propertyType | string | flat, room or house. Default flat. |
maxItems | integer | Cap on listings saved, from 1 to 500. Default 20. |
proxyConfiguration | object | Proxy settings. Default uses Russian residential Apify Proxy. |
Output
One row per listing.
| Field | What it contains |
|---|---|
cianId, url | CIAN offer ID and listing link |
dealType, title | sale or rent and the card's short label, such as 1-комн. |
priceRub, pricePerSqmRub | Asking price or monthly rent, and price per m² |
rooms, isStudio, areaSqm | Room count, studio flag and area in m² |
floor, floorsTotal | Floor and total floors in the building |
metro, address | Nearest metro station and full address |
sourceUrl, scrapedAt | The search page and collection time |
Example row:
{"cianId": "333184256","url": "https://www.cian.ru/sale/flat/333184256/","dealType": "sale","title": "1-комн.","priceRub": 25643000,"pricePerSqmRub": 657513,"rooms": 1,"isStudio": false,"areaSqm": 39,"floor": 5,"floorsTotal": 6,"metro": "Санино","address": "Москва, ТАО (Троицкий), м. Санино, д. Рогозинино, улица Луговая, 20Вк2","sourceUrl": "https://www.cian.ru/cat.php?deal_type=sale&engine_version=2&offer_type=flat®ion=1&p=1&room1=1","scrapedAt": "2026-10-01T01:49:02.144Z"}
Each run also writes OUTPUT and RUN_SUMMARY records to the default key-value store with the run outcome and totals.
Pricing
This Actor uses Pay per event plus Apify platform usage. Each listing saved is one Property scraped event, and each run has one Actor Start event plus the platform and residential proxy usage of the run. For example, a daily rental search capped at 100 listings is up to 100 Property scraped events plus the start event and usage. maxItems doubles as a spending limit. The live Pricing tab on this page shows the current event prices.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~cian-ru-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"dealType": "rent", "location": "spb", "rooms": ["1", "2"], "maxPrice": 80000, "maxItems": 30}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("khadinakbar/cian-ru-scraper").call(run_input={"dealType": "sale", "regionId": 1, "rooms": ["2"], "maxItems": 50})flats = list(client.dataset(run["defaultDatasetId"]).iterate_items())for flat in sorted(flats, key=lambda f: f["pricePerSqmRub"])[:10]:print(flat["metro"], flat["areaSqm"], flat["priceRub"], flat["url"])
Use with AI agents (MCP)
Connect the Actor to Claude, ChatGPT or Cursor through Apify MCP and ask:
Find 20 one-room flats for sale in Moscow on CIAN under 20 million rubles and list the five cheapest per square metre with their metro station and link.
The agent sets dealType, location, rooms, maxPrice and maxItems, reads rows with get-dataset-items, sorts by pricePerSqmRub, and cites each url. It can check OUTPUT.outcome to tell a narrow search from a full one, and each saved listing is one event, so maxItems keeps the cost of the request predictable.
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| A first test | Keep maxItems small, such as 3 to 10 | A quick check of the result shape |
| Exact regions | Use regionId instead of location | The precise CIAN region |
| District or metro filters | Build the search on cian.ru and paste it into startUrls | Your exact filters, collected |
| Value screening | Sort by pricePerSqmRub | Underpriced flats first |
| Rental monitoring | Set dealType to rent and schedule daily | New rentals each run |
| Few results | Widen rooms or the price band | More listings per run |
Builder's note
I built this around the fields Russian buyers and renters scan first on a CIAN card: price, price per square metre, floor and the metro station. I kept URL mode alongside filters because CIAN's own search has district and metro options that are easiest to set on the site and then collect as is.
FAQ
Do I need a CIAN account?
No. The Actor reads public listing cards.
Does it include seller phone numbers?
It collects the public card fields: price, area, rooms, floor, metro, address and link.
Which cities work?
Any CIAN region. Use location keys such as moscow, spb or kazan, or a numeric regionId.
Responsible use
This Actor collects public CIAN.ru listing data for research and property search. Respect CIAN's terms and applicable data-protection laws, including Russian personal-data rules. CIAN is a trademark of its owner; this independent Actor is not affiliated with or endorsed by CIAN.