Etagi Scraper — Russia Property Data & API avatar

Etagi Scraper — Russia Property Data & API

Pricing

from $2.50 / 1,000 overview listings

Go to Apify Store
Etagi Scraper — Russia Property Data & API

Etagi Scraper — Russia Property Data & API

Etagi scraper & real estate data API for Russia's largest property-agency network. Sale & rent listings across many Russian cities: price (RUB), price/m², rooms, area, floor, building year, GPS, metro, photos, new-build complex — clean JSON/CSV.

Pricing

from $2.50 / 1,000 overview listings

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Etagi Scraper — Russia Property Data & API 🇷🇺🏠

SIÁN Agency Store Yandex Realty Scraper Cian Property Scraper Zillow Property Scraper

🎉 The fast, no-code Etagi data API — sale & rent listings across Russia with price/m², GPS, metro & new-build (ЖК) data, no Etagi API key required

For investors, analysts, agencies and proptech teams who need clean structured Russian real-estate data at scale


📋 Overview

Pull every Etagi listing into a clean dataset in minutes — Etagi is Russia's largest real-estate agency network, covering sale and rent, new-builds and secondary, across dozens of cities. This scraper turns its public listings into structured JSON/CSV/Excel: price in rubles, price per square meter, rooms, area, floor, building year, GPS coordinates, nearest metro, photos and the new-build complex (ЖК) name.

Why professionals choose us:

  • Deterministic city targeting: pick any Russian city by name and get exactly that city's inventory — no guessing, no IP roulette.
  • Fast & cheap Overview mode: every core field straight from the listings feed, billed per result.
  • 🎯 High coverage: price, geo and photos on virtually every record; 40+ structured fields per listing.
  • 💸 Pay-per-result pricing: you're only charged for listings actually extracted — and never until your input is validated.
  • 💎 Sale + rent in one place: switch between buy and rent with a single field; rent rows add deposit, rental period and online-rent flags.
  • New-build (ЖК) intelligence: complex name, completion year/quarter and new-building flags for off-plan tracking.

✨ Features

  • 🏙️ City selection — search any Russian city by its Etagi slug (Tyumen, Moscow, St. Petersburg, Ekaterinburg, Kazan, and more).
  • 🤝 Sale or rent — one toggle covers both deal types with the right fields for each.
  • 🏠 Object types — flats, houses, commercial, land and garages.
  • 🎚️ Rich filters — price, area, rooms, floor and build-year ranges, applied at the source.
  • ↕️ Sorting — featured, price, area, newest, or price per m².
  • 🔢 Tiered limits — try free, scale unlimited on the paid tier.
  • 📍 Geo & metro — GPS latitude/longitude plus nearest metro and walk time.
  • 🖼️ Media — main photo, photo count, virtual-tour and video flags.
  • 🔁 Detail refresh — re-fetch any property by its listing URL for a fresh full record.
  • 📤 Clean exports — JSON, CSV and Excel straight from the Apify dataset.

🎬 Quick Start

Pick a city, choose sale or rent, and run. Results stream into the dataset as clean rows you can export to JSON, CSV or Excel. Start in Overview mode for the fast, cheap path.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~etagi-property-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"scrapeMode": "overview", "city": "tyumen", "deal": "sale", "maxResults": 50}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your scrape depth

Overview for the fast, cheap path (every core field from the listings feed) or Detail to refresh exact properties by their URL.

Step 2: Pick your city, deal & filters

Set the city slug, choose sale or rent, and optionally narrow by price, area, rooms, floor or build year.

Step 3: Set a limit & run

Cap the run with Max results, hit Start, and export your dataset.

That's it! In a couple of minutes, you'll have:

  • A structured dataset of Russian property listings
  • Price, geo, metro and media on every record
  • Clean JSON/CSV/Excel ready for analysis or import

📥 Input Configuration

FieldTypeRequiredDescription
scrapeModestringNooverview (fast & cheap) or detail (refresh by URL). Default overview.
citystringNoRussian city slug, e.g. tyumen, moskva, ekaterinburg. Default tyumen.
dealstringNosale or rent. Default sale.
objectTypestringNoflat, house, commercial, land, garage. Default flat.
listingUrlsarrayNoDetail mode: specific Etagi listing URLs to refresh.
sortstringNodefault, price_asc, price_desc, area_asc, area_desc, date_desc, price_m2_asc.
priceMin / priceMaxintegerNoPrice range filter (RUB).
areaMin / areaMaxintegerNoTotal-area range filter (m²).
roomsintegerNoExact room count (0 = studio).
floorMin / floorMaxintegerNoFloor range filter.
yearMin / yearMaxintegerNoBuild-year range filter.
maxResultsintegerNoMax listings per run. FREE: 25; PAID: unlimited.

Example — Moscow rentals under 60,000 ₽, cheapest first:

{
"scrapeMode": "overview",
"city": "moskva",
"deal": "rent",
"priceMax": 60000,
"sort": "price_asc",
"maxResults": 100
}

Example — refresh specific properties by URL:

{
"scrapeMode": "detail",
"listingUrls": [
"https://tyumen.etagi.com/realty/12938989/",
"https://moskva.etagi.com/realty_rent/12987947/"
]
}

📤 Output

Results are saved to the Apify dataset with 40+ fields including:

FieldTypeDescription
idstringPublic Etagi object id
urlstringCanonical listing URL
deal_typestringsale or rent
object_typestringProperty type (e.g. flat)
priceintegerPrice in rubles (RUB)
price_per_sqmintegerPrice per square meter
roomsintegerNumber of rooms (0 = studio)
area_total_sqmnumberTotal area in m²
floor / floors_totalintegerFloor and total floors
building_yearintegerConstruction year
city / district / streetstringLocation breakdown
latitude / longitudenumberGPS coordinates
metro_name / metro_time_minstring / integerNearest metro + walk time
newcomplex_namestringNew-build complex (ЖК) name
deposit / rental_periodintegerRent-only fields
main_photo / photo_countstring / integerMedia

Example:

{
"id": "12938989",
"url": "https://tyumen.etagi.com/realty/12938989/",
"deal_type": "sale",
"object_type": "flat",
"price": 7900000,
"currency": "RUB",
"price_per_sqm": 141071,
"rooms": 2,
"area_total_sqm": 56,
"floor": 7,
"floors_total": 24,
"building_year": 2020,
"city": "Тюмень",
"district": "Дом Обороны",
"street": "Полевая",
"latitude": 57.17264,
"longitude": 65.483465,
"newcomplex_name": "Озёрный парк",
"is_new_building": true,
"main_photo": "https://cdn.example/photo.jpeg",
"photo_count": 33,
"source": "overview"
}

💼 Use Cases & Examples

1. Market research & price benchmarking

Analysts tracking price-per-m² trends across Russian cities. Input: a city + sale, sorted by price/m². Output: structured price + area data. Use: build city-level price indices.

2. Investment sourcing

Investors hunting undervalued flats and new-builds. Input: price and area filters per city. Output: ranked inventory with ЖК data. Use: shortlist deals by yield potential.

3. Agency & broker lead generation

Agencies mapping the competitive landscape. Input: a city + deal type. Output: listings with office and agent ids. Use: territory and inventory analysis.

4. New-build (ЖК) tracking

Proptech teams monitoring off-plan supply. Input: sale + new-building filters. Output: complex names + completion year/quarter. Use: track pipeline by developer.

5. Rental-yield research

Investors comparing rent vs. sale economics. Input: rent and sale runs for the same city. Output: price, deposit and area. Use: compute gross rental yields.

6. Portfolio & competitor monitoring

Brokerages watching listing churn. Input: scheduled city runs. Output: fresh datasets per run. Use: detect new/removed inventory over time.

Relocation services sourcing options for clients. Input: city + filters by rooms/area/price. Output: matching listings with geo + metro. Use: curate client shortlists.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/etagi-property-scraper').call({
scrapeMode: 'overview',
city: 'ekaterinburg',
deal: 'sale',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/etagi-property-scraper').call(
run_input={'scrapeMode': 'overview', 'city': 'kazan', 'deal': 'rent', 'maxResults': 50}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~etagi-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"scrapeMode": "overview", "city": "tyumen", "deal": "sale", "maxResults": 50}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule or webhook
  2. HTTP Request: Call the actor API
  3. Process: Handle JSON results
  4. Action: Save, notify, or transform

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 listings per run — full feature access, same quality
  • No credit card required
  • Perfect for testing and small projects
  • Unlimited listings per run
  • Pay-per-result: only charged for listings actually extracted
  • Same clean fields, at scale

💸 Transparent pay-per-result pricing — no subscriptions, no wasted spend on blocked or empty runs.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many listings can I extract? A: FREE tier: 25 per run. PAID tier: unlimited.

Q: Which cities are supported? A: Any city Etagi covers — pass its slug (e.g. tyumen, moskva, kazan). The scraper targets exactly the city you choose.

Q: Can I get both sale and rent? A: Yes — toggle the deal field. Rent rows include deposit, rental period and online-rent flags.

Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.

Q: Does it support new-builds? A: Yes — new-building flags, complex (ЖК) name and completion year/quarter are included.

Q: Is this legal? A: Yes — we only extract publicly available data. See the legal section below.


🐛 Troubleshooting

No results returned

  • Check the city slug is correct (read it from the subdomain on Etagi, e.g. kazan.etagi.comkazan).
  • Loosen any price/area/rooms filters that may be too narrow.

Fewer results than expected

  • FREE tier caps each run at 25 listings — upgrade to PAID for unlimited.
  • Raise maxResults.

Detail mode returns "not found"

  • The listing id may have rotated or been delisted. Verify the URL opens on Etagi.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

This is an independent tool and is not affiliated with, endorsed by, or sponsored by Etagi (Этажи) or its operators. "Etagi" / "Этажи" is a trademark of its respective owner. You are responsible for complying with Etagi's terms of service and all applicable laws when using this tool.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools