Avito Scraper | Listings, Prices and Sellers
Pricing
from $3.28 / 1,000 listings
Avito Scraper | Listings, Prices and Sellers
Avito scraper that turns avito.ru listings into structured JSON: prices, descriptions, photos, coordinates, seller ratings, and the nearest metro station with walking time. Search by keyword and city, paste a URL, or use listing ids. Detail mode adds vehicle valuation and real estate checks.
Pricing
from $3.28 / 1,000 listings
Rating
0.0
(0)
Developer
SilentFlow
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
5
Monthly active users
5 days ago
Last modified
Categories
Features
Share
Avito Scraper
Turn Avito.ru listings into structured Russian classifieds data, prices, seller ratings, photos, and metro distance where Avito has one, delivered as JSON in seconds instead of hours of manual browsing.
How it works

- Tell it what to scrape. One or more keywords in any Avito city and category, Avito search or category pages pasted from your browser, or listing URLs and ids. Mix them in one run.
- The actor fetches the listings. Every keyword and every pasted search is its own search; specific listings are fetched directly.
- Structured JSON lands in your dataset. Every listing as one row, tagged with the search that found it, ready to filter, export, or pipe into another tool.
✨ Why teams choose this over other Avito scrapers
Copying listings from Avito one tab at a time? Building a price model for an apartment without knowing how far it sits from the metro? Paying extra just to get coordinates on a search you already ran?
- 📍 Metro distance with no separate step, in cities that have a metro. Search a city with an operating metro system (Moscow is the default) and most of its listings carry the nearest station, the distance, and the walking time, the same data other Avito scrapers on the Store sell as a separate paid detail call. Not every city has a metro system; where one exists, you get this data without a paid add-on.
- 🏷️ A full base listing, not a stub. Title, price, coordinates, images, category, seller name and seller rating (as their own
sellerNameandsellerRatingcolumns), badges, delivery, and posting date all ship without any paid add-on, before detail mode is even switched on. - 📈 Views and listing status on every detailed row. Detail mode adds total and today's views, the listing status (active, reserved, closed) and whether the seller is a company or a private person. The most used Avito scraper on the Store returns neither views nor status.
- 🔎 Several searches in one run. List as many keywords as you need, or paste several Avito URLs: each one is its own search with its own cap, every row says which search found it in
searchQuery, and a listing two searches both find is saved and billed once. - ♾️ Past the ~1,500 listings Avito shows per search. Avito stops at about 1,500 results for one search however many match. Ask for more and the actor splits the search into price ranges and collects them one after the other.
- 👤 Private sellers or companies only. One setting applies Avito's own seller filter to every search of the run.
- 🌍 Any city, any category, any Avito URL. Type any Avito city and any category as Avito writes them in its URLs, or paste a search or category page straight from the browser with every filter you set on Avito kept: brand, model, rooms, metro.
- 🚗 Category-specific depth from one page fetch. Turn on detail mode on a car listing and get Avito's own market valuation. On a real estate listing, get the registry ownership check, an independent valuation, rent terms, and floor plan images, all pulled from the same page load, not a separate request per feature.
- 🔓 No login required. Every field comes from Avito's own public listing data, no account, no API key.
🎯 What you can do with Avito data
| Team | What they build |
|---|---|
| Market research | Track price and listing-volume trends for phones, cars, and apartments across Russian cities |
| Automotive / resale | Benchmark asking prices against Avito's own vehicle market valuation before buying or relisting a car |
| Real estate / prop-tech | Score apartment listings by walking distance to the nearest metro station, no separate geocoding step |
| Real estate diligence | Pull the Rosreestr registry ownership check and Avito's independent valuation for a shortlist of properties |
| Resale / arbitrage | Monitor newly posted, price-dropped, or reserved listings to spot underpriced inventory |
| Lead generation | Collect seller names, ratings, and shop status from active listings in a category |
| Academic / journalism research | Build representative datasets on Russian classifieds pricing and market concentration |
📥 Input parameters
What to scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | array | ["iphone 15"] | What to search for, one keyword per line. Each keyword is a search of its own in the city, category and filters below, so two keywords give two searches in one run. Leave it empty to fetch only the URLs below, or to list a whole category. |
startUrls | array | [] | Avito pages, one per line. A search or category page copied from your browser (https://www.avito.ru/moskva/noutbuki) is a search of its own, with every filter you set on Avito kept (brand, model, rooms, metro). A listing URL or a bare listing id (7739644389) is fetched with its full details, after the searches. Mobile m.avito.ru links work too. |
location | string | moskva | City for the keyword searches. Pick one of the 15 large cities the form lists, or type any Avito city as Avito writes it in its URLs (tula, kaliningrad); all searches the whole of Russia. A city with an operating metro system (Moscow, Saint Petersburg, Novosibirsk, Yekaterinburg, Kazan, Nizhny Novgorod, Samara) is what makes the nearest station, distance and walking time appear on results. A pasted URL keeps its own city. |
maxResults | integer | 100 | Listings per search: each keyword and each search URL gets up to this many, and the listing URLs are fetched up to this many. Avito shows about 1,500 listings for one search; set more and the search is split into price ranges to reach the rest. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
category | string | (all) | Any Avito category as Avito writes it in its URLs: telefony, avtomobili, noutbuki, kvartiry/prodam, kvartiry/sdam/na_dlitelnyy_srok, gruzoviki_i_spetstehnika. The form suggests the common ones. |
sellerType | string | any | any, private (private sellers only) or company (companies only), with Avito's own seller filter. Rows of a filtered search carry userType. |
priceMin | integer | none | Minimum price, in Russian rubles |
priceMax | integer | none | Maximum price, in Russian rubles |
sort | string | relevance | relevance, newest, cheapest, expensive |
A pasted search URL keeps the filters it already has; these fields only add the ones it does not set.
Output
| Parameter | Type | Default | Description |
|---|---|---|---|
includeDetails | boolean | true | Visit each listing's own page for specifications, view counts, listing status, address, full description, and the seller's company status and profile. On the relevant category, this same page fetch also carries vehicle valuation, real estate registry checks, real estate valuation, rent conditions and floor plans. Disable for faster search-only scraping. |
Inputs saved with an earlier version of the form keep working unchanged: query, searchUrl, listingUrls, includeReviews and debugMode are still read, and the old category names phones, cars and apartments still search the same categories.
📊 Output data
Search-only listing (includeDetails: false)
A real row from a run of 6 November 2026 (keyword samsung galaxy s24, Moscow), with the photo list shortened:
{"id": 8260713563,"title": "Samsung Galaxy S24, 8/256 ГБ, SIM + eSIM","url": "https://www.avito.ru/moskva/telefony/samsung_galaxy_s24_8256_gb_sim_esim_8260713563","description": "Samsung Galaxy S24 8/256GB Cobalt Violet. При покупке сегодня magsafe Charger и AirPods Pro 2 в подарок!","price": 33990,"priceFormatted": "33 990 ₽","currency": "RUB","categoryId": 84,"categoryName": "Телефоны","categorySlug": "telefony","images": ["https://c60.img.avito.st/image/1/1.4_wHtLaATxVJHrUeTcPo0xoUTRG1A0sVtWQuEbXvRO-4F0sPSR61HrE.HuaVYwlEa-9Kbc_IUP1z97YPypj4Ez1iNffTB-5DniQ"],"imageCount": 6,"locationId": 637640,"locationName": "Москва","latitude": 55.664705,"longitude": 37.437191,"geoReferences": [{"name": "Озёрная", "distance": "1 км", "walkingTime": "11–15 мин."}],"seller": {"name": "MEGA Apple","profileUrl": "https://www.avito.ru/brands/d0de2fadda362a6f631c271ada060de4","ratingScore": 5,"reviewCount": 1414,"reviewSummary": "1 414 отзывов"},"sellerName": "MEGA Apple","sellerRating": 5,"conditionLabel": "Новый, 6.2″","badges": [{"id": 2353, "title": "Цена ниже рыночной"}, {"id": 2558, "title": "Оплата частями"}],"isDeliveryAvailable": false,"isReserved": false,"postedAt": "2026-10-21T15:22:17Z","postedTimestamp": 1792596137000,"scrapedAt": "2026-11-06T13:40:47Z","searchQuery": "samsung galaxy s24"}
Full detail listing (includeDetails: true, real estate)
{"id": 4022918734,"title": "2-к. квартира, 54 м², 7/12 эт.","url": "https://www.avito.ru/moskva/kvartiry/2-k._kvartira_54_m_712_et._4022918734","description": "Продается светлая двухкомнатная квартира рядом с метро.","descriptionHtml": "<p>Продается светлая двухкомнатная квартира рядом с метро.</p>","price": 14500000,"priceFormatted": "14 500 000 ₽","currency": "RUB","categoryId": 24,"categoryName": "Недвижимость","address": "Москва, Новочерёмушкинская ул., 14","latitude": 55.679,"longitude": 37.541,"geoReferences": [{"name": "Новые Черёмушки", "distance": "600 м", "walkingTime": "8–12 мин."}],"seller": {"name": "Rustel","ratingScore": 4.7,"reviewCount": 58,"manager": "Pavel","replyTime": "Отвечает около 30 минут","memberSince": "июня 2017","isCompany": true},"sellerName": "Rustel","sellerRating": 4.7,"isShop": false,"userType": "company","status": "active","viewsTotal": 1842,"viewsToday": 37,"realtyRegistryReport": {"title": "Проверка по реестру","cadastralNumber": "77:01:0001011:1234","infoList": ["Собственник подтвержден", "Обременений не найдено"]},"realtyValuation": {"estimated": 14200000,"highest": 14800000,"lowest": 13600000,"type": "sale"},"buildingInfo": {"items": [{"title": "Тип дома", "description": "панельный"},{"title": "Год постройки", "description": "2024"},{"title": "Этажей в доме", "description": "31"}]},"layoutImages": ["https://40.img.avito.st/image/1/layout123.jpg"],"postedAt": "2026-08-10T11:05:00Z","scrapedAt": "2026-08-17T09:05:00Z","searchQuery": "https://www.avito.ru/moskva/kvartiry/prodam"}
🗂️ Data fields
| Category | Fields |
|---|---|
| Identity | id, title, url, description, conditionLabel |
| Pricing | price, priceFormatted, currency, priceWasLowered, priceWithoutDiscount, discountPercent |
| Category | categoryId, categoryName, categorySlug, categoryRootId, microCategoryId, breadcrumbs (category trail) |
| Media | images, imageCount, imageAlt, hasVideo |
| Location | locationId, locationName, latitude, longitude, addressId, geoReferences (nearest metro, tied to a city with a metro system) |
| Seller | sellerName, sellerRating (flat columns, from the search result itself), seller (name, profile URL, logo, rating score, review count, review summary; detail mode only: manager name, typical reply time, member since, avatar, is company) |
| Signals | badges, isReserved, isVerifiedItem, isMarketplace, hasRealtyLayout, isSimilarToSearch (true on the similar listings Avito shows after the exact matches) |
| Contact | isDeliveryAvailable, contactMethods |
| Timing | postedAt, postedTimestamp, scrapedAt |
| Search | searchQuery (the keyword or the Avito URL that found the row, null on a listing fetched by URL or id) |
| Detail mode only | descriptionHtml, parameters, address (full address including street, where Avito provides it, falling back to the locality when it does not, e.g. "Москва"), viewsTotal, viewsToday, isShop, shopId, phoneInfo (phone number AVAILABILITY metadata, not a phone number, see below), verticalId, vertical, userType, sellerType, status, hasInstallments |
| Category enrichment (detail mode, same page fetch) | reviews (phones and cars with an established review corpus), vehicleValuation (cars), realtyRegistryReport, realtyValuation, rentConditions, buildingInfo, rentalRules, layoutImages (real estate) |
64 top-level fields per listing (a phone string field exists in the schema for a future feature but is never populated today, so it is left out of this count and never appears in a real row). seller carries 11 fields (name, profile URL, logo, rating score, review count, review summary, plus manager, reply time, member since, avatar and is company, the last five detail mode only). phoneInfo carries 5 more (mask, operatorPrefix, isAnonymous, isAnonymousProfile, isCallTracking), detail mode only. Each geoReferences entry carries 3 fields (name, distance, walking time), each badges entry carries 2 (id, title), each breadcrumbs entry carries 3 (name, title, url). breadcrumbs ships from both search and detail mode; addressId ships from a search result only, and is not present on a listing fetched by its URL or id. verticalId is the exact numeric marketplace-vertical id, read directly from the listing's own analytics data; vertical, userType, sellerType and status are readable labels this actor builds itself from the listing's own category, seller and reservation data, not raw values copied from anywhere else; hasInstallments is a plain yes/no on whether the listing offers instalment payments. All six are detail mode only, except userType, which a search filtered by seller type also sets on its search-only rows. Detail mode additionally adds category-specific blocks: reviews (4 fields), vehicleValuation (5 fields, cars only), realtyRegistryReport (3 fields) and realtyValuation (5 fields) for real estate, rentConditions (2 fields, plus 2 more per rent term) for rentals, buildingInfo (1 field, plus 2 more per item) for real estate, rentalRules (1 field, plus 2 more per item) for rentals.
phoneInfo is what detail mode carries about a listing's phone contact option, not a phone number. Avito never exposes the seller's plaintext number on the listing page itself, only a masked form like "8 981 XXX-XX-XX", alongside flags for whether the number is anonymised and whether calls route through a business call-tracking line. operatorPrefix is the three-digit prefix pulled out of that mask on the listings where Avito reveals it, useful on its own since it identifies the mobile carrier and the region a number was issued in, empty when Avito keeps the whole mask hidden.
url is the permanent listing address. images and layoutImages point at Avito's own CDN and stay reachable for as long as the listing itself stays live. postedAt and scrapedAt are both ISO 8601 UTC timestamps (Z suffix). Coordinates populate on every listing that shows a location on Avito; an ad offered with delivery only shows none, which is common outside the largest cities. Metro data (geoReferences) populates for most listings only when a search targets a city with an operating metro system, and is absent on a nationwide search or a search in a city with no metro, a separate condition from coordinates. A search-only row read from a pasted Avito URL, or from a city or category the form does not list, may carry no description: turn on includeDetails for the full text. Fetching a listing by its URL or id reads its own page and also finds it in Avito's search results, so its row carries the same fields as a detailed search row. Only when Avito's search no longer shows that listing does the row keep the page's fields alone, without the few that exist only in search results (priceWasLowered, priceWithoutDiscount, discountPercent, hasVideo, isVerifiedItem, isMarketplace, hasRealtyLayout, addressId).
🚀 Examples
Get the newest iPhone listings in Moscow
{"keywords": ["iphone 15"],"location": "moskva","sort": "newest","maxResults": 50}
Compare two phone models from shops only, in one run
{"keywords": ["iphone 15", "samsung galaxy s24"],"location": "moskva","sellerType": "company","priceMax": 80000,"maxResults": 100}
Each keyword gets up to 100 listings, and searchQuery on every row says which model it belongs to.
Find the cheapest apartments for sale in Saint Petersburg, private owners only
{"keywords": ["квартира"],"location": "sankt-peterburg","category": "kvartiry/prodam","sellerType": "private","priceMax": 8000000,"sort": "cheapest","maxResults": 100}
Pull mid-range cars in Moscow with full valuation data
{"keywords": [],"location": "moskva","category": "avtomobili","priceMin": 500000,"priceMax": 1500000,"maxResults": 200,"includeDetails": true}
Scrape any Avito category or filtered search, past 1,500 listings
{"keywords": [],"startUrls": ["https://www.avito.ru/moskva/noutbuki","https://www.avito.ru/moskva/telefony/mobilnye_telefony/apple/iphone_15-ASgBAgICA0SywA2SoO0RtMANzqs5sMENiPw3"],"maxResults": 5000,"includeDetails": false}
Each URL is its own search with up to 5,000 listings: past the 1,500 Avito shows for one search, the actor goes price range by price range.
Track a specific shortlist of listings
{"keywords": [],"startUrls": ["https://www.avito.ru/moskva/telefony/iphone_air_256_gb_esim_7739644389","4022918734"]}
💻 Integrations
Build a metro-proximity price index for apartments (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/avito-scraper").call(run_input={"location": "moskva","category": "kvartiry/prodam","priceMax": 15000000,"maxResults": 300,"includeDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():refs = item.get("geoReferences") or []if refs:metro = refs[0]print(f"{item['title']}: {item['priceFormatted']}, {metro.get('name')} ({metro.get('walkingTime')})")
Flag underpriced cars against Avito's own valuation (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('silentflow/avito-scraper').call({location: 'moskva',category: 'avtomobili',sort: 'newest',maxResults: 100,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const underpriced = items.filter(i => i.vehicleValuation && i.price < i.vehicleValuation.priceLow);underpriced.forEach(i => console.log(`${i.title}: ${i.priceFormatted} vs estimated low ${i.vehicleValuation.priceLow}`));
Export a search to CSV (Python)
import csvfrom apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("silentflow/avito-scraper").call(run_input={"keywords": ["iphone 15"],"location": "moskva","maxResults": 500,})with open("iphones.csv", "w", newline="") as f:writer = csv.writer(f)writer.writerow(["title", "price", "seller", "rating", "url"])for item in client.dataset(run["defaultDatasetId"]).iterate_items():writer.writerow([item["title"],item.get("price"),item.get("sellerName"),item.get("sellerRating"),item["url"],])
📈 Performance
| Metric | Value |
|---|---|
| Listings per search | Avito shows up to 1,500 for one search (30 pages of 50); ask for more and the search is split into price ranges to reach the rest |
| Catalog scale | The Moscow laptops category counted 65,531 matching listings on 6 November 2026 |
| Speed | 20 listings with full details in about 10 s, and two searches of 10 detailed listings each in about 12 s, in testing |
| Metro coverage | 39 to 43 of 50 listings carry metro data when the search targets a city with an operating metro system; a nationwide search, or a search in one of the 8 supported cities with no metro, returns none |
| Data freshness | Live, fetched at run time, no caching |
| Max listings | No fixed limit: maxResults caps each search, set it to what you need |
💡 Tips for best results
- Set a city with an operating metro system in
locationif you want metro data. The default, Moscow, has one; 8 of the 15 cities the form lists (Krasnodar, Voronezh, Perm, Chelyabinsk, Omsk, Krasnoyarsk, Ufa, Rostov-on-Don) do not, and a nationwide search (all) never returns metro stations, distance, or walking time either. - Put every keyword in one run. Two models, five brands or ten neighbourhoods are one run with one keyword each: every row says which keyword found it in
searchQuery, and a listing two keywords both find is billed once. - Narrow with
category,sellerTypeand a price range before scalingmaxResultsup. Confirm the filters return what you expect on a small run first, then scale. - Use
includeDetails: truewhen you need specifications, views, listing status, address, or category-specific enrichment. Vehicle valuation, real estate registry checks, and rent conditions all arrive through this one setting; leave it off for faster search-only scraping. - The
reviewssummary only appears when Avito has an established review corpus for that exact model. Expect it populated mostly on phones and popular cars, empty on niche or unusual listings. - Paste an Avito search URL when you need a filter the form does not have. Set brand, model, rooms or metro on Avito, copy the address bar into
startUrls: every filter of the URL is kept, and the form's price, seller type and sort only add what the URL does not set.
❓ FAQ
What data does the scraper extract?
Every listing carries title, price, coordinates where Avito shows a location, images, category, seller name and rating (also as the flat sellerName and sellerRating columns), badges, delivery, posting date, and the search that found it; keyword searches add the description snippet. Turning on detail mode adds specifications, view counts, address, full description HTML, the seller's shop status, and a fuller seller profile (manager name, typical reply time, member since, avatar), plus category-specific enrichment: product reviews, vehicle market valuation, real estate registry checks, real estate valuation, rent conditions, building details, and rental rules for real estate, and floor plans. Detail mode also adds phone AVAILABILITY metadata (the masked number, its operator prefix where Avito reveals one, and whether the listing is anonymised or routes through a call-tracking line), not a phone number itself; see the next question.
How do I search Avito with this actor? Three ways, which mix in one run: keywords (one search each, in the city, category and filters you set), Avito search or category pages pasted from your browser (one search each, with all their filters), and listing URLs or bare ids (fetched one by one after the searches).
Can I run several searches at once?
Yes. Put one keyword per line in keywords, or several Avito URLs in startUrls. Each one is its own search with up to maxResults listings, every row carries the keyword or URL that found it in searchQuery, and a listing found by two searches is saved and billed once.
Can I get only private sellers, or only companies?
Yes. Set sellerType to private or company: Avito's own seller filter is applied to every search of the run, and each row of a filtered search says which in userType. It is the same split as the listing page's own company flag; checked on 6 November 2026, every listing of a companies-only run opened as a company.
Which cities and categories can I search?
All of Avito's. The form lists 15 large cities and the common categories; you can type any other one as Avito writes it in its URLs, for example tula, kaliningrad, gruzoviki_i_spetstehnika or kvartiry/sdam/na_dlitelnyy_srok. A name Avito has no page for ends the search with a message saying so.
How fresh is the data? Live. Every run fetches current listings at scrape time, nothing is cached from a previous run.
Do I need an Avito account? No. The scraper reads publicly available listing data. No login and no API key are required.
Will I always get the nearest metro station?
No, and not merely because of the "city" setting. Metro data appears only in a city that actually has an operating metro system, most reliably 39 to 43 of 50 listings in one. The default city, Moscow, has a metro. 8 of the 15 cities the form lists (Krasnodar, Voronezh, Perm, Chelyabinsk, Omsk, Krasnoyarsk, Ufa, Rostov-on-Don) do not, so searching one of those, any other city without a metro, or the whole of Russia (all), will not return metro data.
Is there a limit on how many listings I can collect in one run?
No fixed limit. Avito itself shows about 1,500 listings for one search, however many match. Set maxResults above that and the search is split into price ranges, each under 1,500, collected one after the other, cheapest first. Two limits remain: listings beyond 1,500 at one exact price cannot be reached (the run's log says how many), and a search whose URL starts at a later page (?p=5) is not split.
Can I combine a keyword search with specific listing URLs?
Yes. Keywords, search URLs and listing URLs or ids all run in the same run: the searches first, then the listings. A listing a search already saved is not fetched again. To fetch only your listings, leave keywords empty.
Does the output include everything another Avito scraper returns? It carries what field-parity work against Avito's real payload confirmed the source actually emits, and that work is disclosed honestly rather than assumed complete. The listing's marketplace vertical ships two ways, in detail mode: the exact numeric id, matched precisely against Avito's own listing data, and a readable label built alongside it for the same fact. A few other fields other listings claim as opaque numeric or coded values, this actor builds itself in readable form instead, listing user type, seller type, listing status, and whether instalments are offered, all derived from the same public listing data this actor already reads for everything else, in detail mode. A handful of fields, like numeric district or metro ids and a seller's aggregate online/listing-count stats, are confirmed absent from Avito's own public data across every payload checked, and are not invented to pad the output. Detailed building info and rental rules, for real estate, are both included after a dedicated check against real listings. A separate realty info block some other listings claim was checked too: no such single block exists in Avito's own data, and the pieces it would plausibly carry (transaction type, category, room and floor specs) already ship under this actor's own category and parameter fields.
Can I get the seller's actual phone number?
No, and this is checked directly rather than assumed. The listing page's own data includes a dedicated field for the seller's plaintext number, and we decoded it on seven different live listings, private sellers and a shop alike: it was null on every single one. What the page does carry, and what this actor exposes as phoneInfo, is availability metadata around that missing number: a masked form like "8 981 XXX-XX-XX", whether the number is anonymised, whether the profile is anonymised, whether the listing routes calls through a business call-tracking line, and the three-digit operator prefix on listings where Avito reveals it inside the mask. None of that is a usable phone number, and it is never presented as one. Other Avito data sources return the same kind of anonymised, masked contact data rather than a plaintext number too, since Avito's own listing page never serves one to any visitor.
What data is missing if I fetch listings by URL or id instead of searching?
Usually nothing: the actor reads the listing's own page and also finds the listing in Avito's search results, so the row carries the same fields as a detailed search row, images, condition, contact methods and exact posting time included. Only a listing Avito's search no longer shows keeps the page's fields alone, without the few that exist only in search results: priceWasLowered, priceWithoutDiscount, discountPercent, hasVideo, isVerifiedItem, isMarketplace, hasRealtyLayout and addressId.
What happens when nothing matches my search?
The run returns what the Avito search page itself shows in that case: the similar listings nearby and in other cities that Avito places after the exact matches. Every one of those rows carries isSimilarToSearch: true, exact matches never carry the field, so filter it out to keep strict matches only. A thin search works the same way: exact matches always come first, and the similar listings only start once they run out, so a small maxResults fills with exact matches before any similar listing.
What is Avito? Avito is Russia's largest classifieds marketplace, spanning electronics, vehicles, real estate, jobs, and services, comparable in scope to Craigslist or OLX but operating at a much larger scale domestically.
Is this legal to use? Yes. The scraper reads listing data that is publicly visible on avito.ru to any visitor, without bypassing any login. You are responsible for using the collected data in line with applicable law in your jurisdiction and Avito's own terms.
⚖️ Legal
This actor extracts publicly available data from avito.ru. It does not bypass any login or paywall, or circumvent any access restriction placed in front of a page. Users are responsible for complying with Avito's terms of service and applicable data protection laws in their jurisdiction (GDPR, CCPA, and equivalent regimes elsewhere). Listings can include personal data, a seller's display name, rating, and contact availability signals, so handle exported data accordingly. The data returned reflects what Avito published at scrape time; verify accuracy for any regulated or high-stakes use case.
📬 Support
Need something this scraper doesn't do yet? We ship features fast.
- Feature requests go straight to our backlog
- Enterprise needs? We do custom integrations and high-volume plans
- Pricing questions? Check the Monetization tab on the actor page
Response time: usually under 24 hours.
Check out our other scrapers: silentflow on Apify