CIAN.ru Real Estate Scraper — Sale & Rent avatar

CIAN.ru Real Estate Scraper — Sale & Rent

Pricing

from $4.00 / 1,000 property scrapeds

Go to Apify Store
CIAN.ru Real Estate Scraper — Sale & Rent

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

16 days ago

Last modified

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, location or regionId, rooms, propertyType and a price band, or paste CIAN search and listing URLs into startUrls.
  • Price per m² included. pricePerSqmRub sits next to priceRub, ready for value comparisons across districts.
  • Building context. floor and floorsTotal show where a flat sits in its building.
  • Metro on every row. metro and address make commute screening quick.
  • Sale and rent. dealType switches 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, or location keys such as moscow, spb or kazan.
  • Use startUrls when 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&region=1&room1=1" }],
"maxItems": 20
}
FieldTypeWhat it controls
startUrlsarrayCIAN search URLs or listing URLs such as /sale/flat/{id}. When set, these drive collection.
dealTypestringsale or rent. Default sale.
locationstringCity key such as moscow, spb or kazan.
regionIdintegerNumeric CIAN region ID; takes priority over location.
roomsarray of stringsRoom counts "1" to "5", "6" for six or more, "0" or "9" for studios. Default ["1"].
minPrice, maxPriceintegersPrice range in rubles: sale price or monthly rent.
propertyTypestringflat, room or house. Default flat.
maxItemsintegerCap on listings saved, from 1 to 500. Default 20.
proxyConfigurationobjectProxy settings. Default uses Russian residential Apify Proxy.

Output

One row per listing.

FieldWhat it contains
cianId, urlCIAN offer ID and listing link
dealType, titlesale or rent and the card's short label, such as 1-комн.
priceRub, pricePerSqmRubAsking price or monthly rent, and price per m²
rooms, isStudio, areaSqmRoom count, studio flag and area in m²
floor, floorsTotalFloor and total floors in the building
metro, addressNearest metro station and full address
sourceUrl, scrapedAtThe 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&region=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 ApifyClient
client = 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 situationHelpful actionExpected outcome
A first testKeep maxItems small, such as 3 to 10A quick check of the result shape
Exact regionsUse regionId instead of locationThe precise CIAN region
District or metro filtersBuild the search on cian.ru and paste it into startUrlsYour exact filters, collected
Value screeningSort by pricePerSqmRubUnderpriced flats first
Rental monitoringSet dealType to rent and schedule dailyNew rentals each run
Few resultsWiden rooms or the price bandMore 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.