Avito Real Estate Scraper at a glance
Avito Real Estate Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes id, url, title, price and currency, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.40 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Web data
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.40 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 23 options
Scrape Avito real estate: apartments and rooms for sale or rent with rooms, area, floor, price per square metre, mortgage chips and the owner-vs-agent seller signal. City search with the site's own facet filters or paste links. Resume, incremental updates and MCP export included.
What Avito Real Estate Scraper can do
- Two ways in. Search by city and property filters, or paste Avito search and category links.
- Sale and rental listings. Search apartments and rooms for sale or long-stay rent, with short-stay apartment rentals also available.
- Property filters. Narrow searches with room count, property features, price range, keywords and private-owner filters.
- Listing details. Enable detail reads for seller type, descriptions, property attributes, coordinates and available price history.
- Built for schedules. Resume interrupted runs or use incremental mode to return new and changed listings.
- App exports. Download JSON, CSV or Excel, use the dataset API, or send records to connected apps through MCP.
Choose what to collect
These inputs let you configure Avito Real Estate Scraper - Properties, Prices & Rentals. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring | search builds tokenized real-estate searches from your filters. url scrapes exactly the avito search/category links you paste (tokenized links from the site work as-is). |
regionsarray | City names (Москва / Moscow) or avito slugs (moskva). Every search is city-scoped on avito. |
categorystring | kvartiry = apartments (flats, studios, penthouses); komnaty = rooms. Other real-estate categories (houses, commercial, land, garages) work in url mode - paste a link from the site. |
dealTypestring | prodam = for sale, sdam = long-stay rent, posutochno = short-stay rent (kvartiry only). |
roomsinteger | Room facet 1-5 (the site's own values; 5 means 5+). Sale listings only - the site scopes this facet to resale apartments. Leave empty for any. |
featuresstring | Resale, new-build, free plan, renovated, courtyard windows, mortgage-friendly, market price - the site's own facet tokens. |
minPriceinteger | Minimum listing price in rubles. |
Show 16 more inputs
| Input | What it controls |
|---|---|
maxPriceinteger | Maximum listing price in rubles. |
querystring | Free-text search keyword (e.g. a residential complex name). |
sortBystring | default = relevance, date_desc = newest, price_asc / price_desc. |
ownerOnlyboolean | Exclude agencies and professional sellers (the site's own owner filter). |
urlsarray | Paste Avito property search or category links copied from the site, including their filter tokens. Use the example links as a guide. |
maxPagesinteger | Maximum pages walked per search. 0 means no page cap, so Max items is the only cap that stops a run early. |
fetchDetailsboolean | Read each listing's page for the seller type (owner vs agent), full attributes (building, house params), description, coordinates and price history signals. |
resumeFromRunIdstring | Run or dataset ID whose collected listings should be skipped (for continuing after an interrupted run). |
incrementalModeboolean | Track state between runs and classify every listing as NEW, UPDATED, UNCHANGED or EXPIRED instead of always NEW. Rows already known and unchanged are suppressed. |
stateKeystring | Named baseline for incremental runs. Leave empty to derive the key from the run scope. |
emitUnchangedboolean | In incremental mode, also push rows that did not change (changeType UNCHANGED). |
emitExpiredboolean | In incremental mode, emit EXPIRED tombstone rows for listings that disappeared from the walked scope. |
ignoreFieldsForChangesarray | Extra field names that must never mark a row UPDATED (photo URL churn and view counters are already excluded by default). |
mcpConnectorsarray | Apify MCP connector IDs that receive pushed records while the run executes. |
notionParentPageUrlstring | Notion parent page for the Notion MCP connector. |
maxNotifyListingsinteger | Cap on records sent to MCP connectors per run. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
ididurlurltitletitlepricepricecurrencycurrencypriceTextpriceTextpricePerSqmpricePerSqmavailabilityavailabilitycategorycategorysubcategorysubcategoryregionregioncitycityShow 45 more fields
addressaddressstreetstreethousehousedevelopmentNamedevelopmentNamemetrometrometroIdmetroIdmetroDistanceMinmetroDistanceMinroomsroomsareaSqmareaSqmfloorfloortotalFloorstotalFloorspostedDatepostedDatedescriptiondescriptionphotoUrlsphotoUrlsphotoCountphotoCountlayoutImageUrlslayoutImageUrlsbadgesbadgesisVerifiedisVerifiedrealtyBenefitrealtyBenefitmarketValuationmarketValuationsellerNamesellerNamesellerTypesellerTypesellerRatingsellerRatingsellerReviewsCountsellerReviewsCountsellerSincesellerSinceviewsCountviewsCounttodayViewstodayViewsattributesattributeslatlatlnglngpriceHistoryCountpriceHistoryCountpriceWasLoweredpriceWasLoweredpricePreviouspricePreviouspostedAtpostedAtcategoryIdcategoryIdlocationIdlocationIdhasVideohasVideoisDeliveryAvailableisDeliveryAvailablegeoReferencesgeoReferencesresultsReturnedresultsReturnedscrapedAtscrapedAtchangeTypechangeTypechangedFieldschangedFieldsfirstSeenAtfirstSeenAtlastSeenAtlastSeenAtExample output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"id": "8062141126",
"title": "4-к. квартира, 305,9 м², 11/11 эт.",
"price": 590968210,
"pricePerSqm": 1931888,
"rooms": 4,
"areaSqm": 305.9,
"floor": 11,
"totalFloors": 11,
"realtyBenefit": "Ипотека 12,39%",
"category": "kvartiry",
"subcategory": "prodam",
"region": "moskva",
"url": "https://www.avito.ru/moskva/kvartiry/4-k._kvartira_3059_m_1111_et._8062141126"
}Ways to use this data
- Who: property researchers - compare asking prices, floor areas and price per square metre across city searches.
- Who: rental analysts - collect rental listings by city, price range and keyword.
- Who: listing-monitoring teams - track new and changed properties with recurring runs.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Avito Real Estate Scraper return?
The documented output for Avito Real Estate Scraper includes id, url, title, price, currency, pricetext, pricepersqm and availability. Availability of each field depends on the source page and the selected mode.
How much does Avito Real Estate Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.40 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Does it scrape comments or reviews?
No. This actor returns property listings and optional listing details; it does not collect comments or reviews.
Can I get only new or changed listings on a schedule?
Yes. Turn on Incremental mode and schedule the actor. The first run returns everything matching as NEW; later runs return only NEW and UPDATED records. Listing content changes are tracked; rotating photo URLs and view counters are excluded as noise by default. Use State key to keep a monitoring campaign stable, and Emit unchanged or Emit expired only if you also want those rows (they return and bill extra rows).
Can I use it with AI agents or MCP?
Yes. Every record is plain JSON over the dataset API, and the MCP connector export sends rows straight into tools like Notion. Point an agent at the dataset items endpoint with the input above.
