Avito Scraper: Avito.ru Listings, Prices & Sellers avatar

Avito Scraper: Avito.ru Listings, Prices & Sellers

Pricing

from $1.60 / 1,000 listings

Go to Apify Store
Avito Scraper: Avito.ru Listings, Prices & Sellers

Avito Scraper: Avito.ru Listings, Prices & Sellers

Scrape Avito.ru listings in any category from a search URL or a keyword, city, category and price range: price, price per m², address, coordinates, date, parameters, photos, seller type and company name. Only-new mode for monitoring. No browser; private sellers' names withheld by default.

Pricing

from $1.60 / 1,000 listings

Rating

0.0

(0)

Developer

Amit Aviv

Amit Aviv

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Avito Scraper (avito.ru listings)

Returns listings from Avito.ru, Russia's largest classifieds site, in any category (flats, houses, cars, phones, furniture, services ...) from search URLs you copy out of the browser or from a keyword, region, category and price range. Plain HTTP with no browser, so 500 listings take under a minute; apart from the start fee you pay only for delivered listings, and a run that delivers nothing because of an error ends as Failed, never as a green empty run.

Private sellers are not named by default. For Avito shops and for companies whose details Avito has verified you get the company name, its Avito page and its badges; for everyone else (private persons, and accounts Avito calls companies that show neither, which can be individual agents) those fields are empty unless you switch on the opt-in described under "Legal and responsible use". Phone numbers are never collected.

What you get

  • Title, price in roubles, the price as Avito prints it, price per m² for real estate, whether the price was lowered, whether the listing is in an Avito sale, and the sale or dealer-discount price
  • Category, location, short and full address, latitude and longitude, nearby metro stations and districts with distances
  • Date and time the listing was published or last lifted to the top (listedAt)
  • Description, photo URLs (largest size), photo count, whether there is a video; whether the listing can be bought with Avito Delivery, Avito's delivery time ("Доставка от 1 дня") and its "Только доставка" badge
  • Parsed from the title / parameter line: rooms, area m², floor, floors in the building (real estate); year and mileage (vehicles); and the vehicle parameter line as text
  • With details on: every parameter of the listing page (parameters: rooms, kitchen area, ceiling height, renovation, house type, year built, lift, parking; engine, gearbox, drive, colour, condition, VIN as masked by Avito ...), all photos, the exact seller type and whether the seller is an Avito shop
  • Seller type (private, company or null when Avito does not say, see below); for shops and verified companies the name, Avito page, number of completed listings, verification badges and since-when
  • One record per listing, as JSON, CSV or Excel, or through the API
  • A run summary (OUTPUT_SUMMARY in the run's key-value store): what was requested, delivered and charged, how many listings Avito reports per search, which inputs failed or were ignored and why, whether a proxy was used, and why the run stopped

What it does not return: phone numbers (Avito shows them only to logged-in users), private sellers' names or profile links (unless you opt in), names of company employees, reviews, anything behind a login, view counts.

How to use

  1. Open avito.ru, make the search you want (city, category, filters, sort) and copy the URL from the browser. Or type keywords and a city.
  2. Paste the URL into Avito search or listing URLs, or fill in Search keywords / Category and Region. Several entries are fine.
  3. Set Maximum listings per search, and Open each listing page if you need all parameters. Press Start.
  4. Download the results from the Output tab, or read them from the API.

Input

FieldTypeDefaultWhat it does
startUrlslist of textnoneAvito search or category pages (all filters you set on the site are kept) or listing pages (…_1234567890, returned with full details). m.avito.ru and URLs without https:// are accepted. Ignored and listed in the summary with the reason: duplicates, other sites, a city's start page without a category (avito.ru/moskva: add one, e.g. avito.ru/moskva/kvartiry), and Avito pages that are not searches (avito.ru/business, help pages, seller profiles).
searchQuerieslist of textnoneKeywords, as typed in Avito's search box. Each one is a search in region (and category).
regiontextРоссияA city or region by name (Москва, Санкт-Петербург, Екатеринбург, Московская область; about 50 names known), Россия for the whole country, or Avito's slug from its URLs (kazan, nizhniy_novgorod).
categorytextnoneAvito's category path, the part of its URL after the city: kvartiry/prodam, kvartiry/sdam/na_dlitelnyy_srok, avtomobili, telefony, predlozheniya_uslug ... A category alone reads the whole category. A whole Avito URL typed into region or category is accepted: its city and category are used where the other field is empty (if the two disagree, the field meant for it wins and the summary warns).
priceMin, priceMaxnumbernonePrice range in roubles, for searches built from the fields above.
cityOnlyyes/noyesKeep a city search to the city itself. The actor asks Avito not to widen the search (radius=0) and then leaves out every listing Avito shows that is located outside the city: listings from other cities that Avito mixes into a city search because they are sold with delivery, and, in keyword searches (where Avito drops the radius), listings from nearby and other towns. Parts of a city that Avito lists under the city (Peterhof in St Petersburg, Zelenograd in Moscow) count as the city. Left-out listings are not delivered or charged; the status message and the summary (outsideCity, cityOnly) give their number on the pages read. Off: everything Avito shows, as on the website, which for cars and some other categories includes towns up to about 200 km around the city. Not applied to regions such as Московская область or to Россия (the summary says so), and pasted search URLs are returned as Avito shows them.
sellerTypechoiceallprivate or company uses Avito's own seller filter, so every listing carries a definite sellerType.
sortchoiceAvito's defaultdate (newest first), price_asc, price_desc.
maxItemsnumber50Stop each search after this many listings (up to 5,000).
includeDetailsyes/nonoOpen each listing's own page for all parameters and photos. Charged as an add-on per listing whose page was read; slower (see Limits).
onlyNewyes/nonoMonitoring: return and charge only listings that earlier runs have not delivered. See "Monitoring".
monitorKeytextemptyName of the monitor memory, to keep two schedules apart.
includePrivateSellerDatayes/nonoAlso return private persons' display names and profile links. Requires a lawful basis, see below.
proxyConfigurationproxyoffNot needed: the actor switches to Apify Proxy by itself when Avito refuses its address.
{
"region": "Краснодар",
"category": "kvartiry/prodam",
"maxItems": 30,
"includeDetails": true
}

Example result

From run C5BTLsWfmgnFus55w (the input above) on 2026-10-20; only the description and the photo list are shortened here (priceWithDiscounts, onSale, deliveryOnly and deliveryText were added later, in builds 0.1.13, 0.1.15 and 0.1.19, and are shown with the values this listing has):

{
"id": 8417769121,
"url": "https://www.avito.ru/krasnodar/kvartiry/1-k._kvartira_316_m_49_et._8417769121",
"title": "1-к. квартира, 31,6 м², 4/9 эт.",
"price": 2950000,
"currency": "RUB",
"priceWithDiscounts": null,
"priceText": "2 950 000 ₽",
"pricePerM2": 93354,
"priceWasLowered": true,
"onSale": false,
"category": "Квартиры",
"categorySlug": "kvartiry",
"categoryId": 24,
"location": "Краснодар",
"address": "Ул. имени 40-летия Победы, 41",
"fullAddress": "Краснодарский край, Краснодар, ул. имени 40-летия Победы, 41",
"latitude": 45.056804,
"longitude": 39.015234,
"nearby": [{ "name": "р-н Прикубанский", "distance": null }],
"listedAt": "2026-10-20T14:21:21.000Z",
"description": "Пpодажa квартиpы в Kраснодaрe Прeдлaгаетcя к пoкупке уютная квapтиpa в Пpикубанском paйoне Кpаснoдaрa, на улицe имени 40-лeтия Победы. …",
"paramsText": null,
"rooms": 1,
"areaM2": 31.6,
"floor": 4,
"floorsTotal": 9,
"year": null,
"mileageKm": null,
"parameters": {
"Количество комнат": "1",
"Общая площадь": "31.6 м²",
"Площадь кухни": "6 м²",
"Жилая площадь": "18 м²",
"Этаж": "4 из 9",
"Балкон или лоджия": "лоджия",
"Высота потолков": "2.6 м",
"Окна": "во двор",
"Ремонт": "дизайнерский",
"Мебель": "кухня, хранение одежды, спальные места",
"Техника": "кондиционер, холодильник, стиральная машина, водонагреватель",
"Способ продажи": "свободная",
"Условия продажи": "возможна ипотека",
"Тип дома": "панельный",
"Год постройки": "2010",
"Этажей в доме": "9",
"Пассажирский лифт": "1",
"В доме": "мусоропровод, газ",
"Двор": "детская площадка, спортивная площадка"
},
"images": [
"https://c80.img.avito.st/image/1/1._VmzF7a4UbCFoNO9xUCoFK-3U7YNttOmhbtTsgO-WboF.kzki2uZRpzfZh_-VZ_uFBPPVRDXcJj6ldOWrc965W0o",
"https://60.img.avito.st/image/1/1.gbD3wra4LVnBda9U-Zzw_OtiL19JY69PwW4vW0drJVNB.fS5q-F8ggY9crwjUIepUJoywmep2Xo4yBe45GZT8zys"
],
"imagesCount": 14,
"hasVideo": false,
"hasDelivery": false,
"deliveryOnly": false,
"deliveryText": null,
"sellerType": "company",
"isShop": true,
"sellerName": "Данис Девелопмент",
"sellerUrl": "https://www.avito.ru/brands/9b3d003c4ba56257a7cf3e9289984f94",
"sellerClosedListings": 2717,
"sellerBadges": ["Реквизиты проверены"],
"sellerSince": null,
"privateDataRedacted": false,
"detailsFetched": true,
"searchUrl": "https://www.avito.ru/krasnodar/kvartiry/prodam",
"scrapedAt": "2026-10-20T14:46:21.217Z"
}
FieldMeaning
idAvito's listing number; stable between runs.
price, currency, priceTextPrice in roubles as a number (null for "price on request"), RUB, and the text Avito shows (it can say "за месяц", "за сутки" ...).
priceWithDiscountsA lower price Avito shows besides the asking price, which stays in price. Dealer offers (mostly new cars) show "от 4 069 000 ₽", the minimum with all dealer discounts (asking price 4 649 000). Listings in an Avito sale ("Хватамба") show a sale price on their own page, e.g. 35 625 instead of 37 500: it is filled in when details are read, as search cards do not show it. null otherwise.
onSaletrue when the listing is in an Avito sale (the "Хватамба" badge on the card, or a sale price on the listing page); turn on details to get the sale price.
pricePerM2Price per m² as Avito computes it; real estate only.
locationThe city or town of the listing. Cards of listings sold with delivery show a delivery time instead of a place: location is then the searched city when the listing is in it, else null (filled in when details are read).
address, fullAddressThe short address of the search card and the full one; as precise as the seller published it. Some cards (phones, and listings sold with delivery) have no address: then address is null, or the full address when details are read.
listedAtWhen the listing was published or last lifted to the top by its seller (Avito sorts "newest" by this time).
paramsTextThe parameter line of vehicle cards, e.g. 363 945 км, 1.5 AMT (143 л.с.), внедорожник, передний, бензин.
rooms ... mileageKmRead from the title and the parameter line; rooms is 0 for a studio; null where the title does not say.
parametersAll parameters of the listing page, in Avito's Russian labels (only with details).
sellerTypecompany or private when known: always with the sellerType filter or details; without them, company when the card shows Avito's verified-company badge, otherwise null.
sellerName, sellerUrlGiven for Avito shops and for sellers whose card shows Avito's "Реквизиты проверены" (company details verified) badge. Everyone else, including accounts Avito marks as companies without either (these can be individual agents named like a person), only with includePrivateSellerData.
privateDataRedactedtrue when a seller name was shown on Avito and left out under the rule above.
hasDelivery, deliveryOnly, deliveryTexthasDelivery: the listing can be bought with Avito Delivery (the card shows "Доставка от N дней" or "Только доставка"; with details, also the listing page's "Купить с доставкой"). deliveryOnly: the card carries Avito's "Только доставка" badge, which Avito shows on listings from far-away cities: for a buyer in the searched place they come by delivery only. So with cityOnly on it is practically always false (in run osbc9302PbEKqfHQJ, 37 of 50 Moscow phone listings had delivery and none the badge); it is true on the other cities' listings that cityOnly off lets through (20 of 30 in run wnNevlgs4fDPOTeLy). deliveryText: the delivery time as the card shows it, e.g. Доставка от 1 дня. For listing URLs in the input only hasDelivery is known.
detailsFetchedtrue when the listing's own page was read (and the details add-on charged).

Fields Avito does not provide for a given listing are null (lists are empty), never missing. Text uses ordinary spaces where Avito uses non-breaking ones.

Pricing

Pay per event. You pay for what is delivered, not for time, memory or proxies.

EventFreeBronzeSilverGold and above
Actor start (once per run)$0.003$0.003$0.003$0.003
Listing delivered$0.0024$0.002$0.0018$0.0016
Listing details (add-on, per listing whose page was read)$0.0024$0.002$0.0018$0.0016

Worked example on Bronze: one search, 200 listings = 200 × $0.002 + $0.003 = $0.403. With details: + 200 × $0.002 = $0.803. A scheduled "only new" run that finds 5 new listings costs 5 × $0.002 + $0.003 = $0.013; a run that finds nothing new costs $0.003.

  • A listing that appears twice in one run (on two pages, or in two of your searches) is delivered and charged once.
  • The details add-on is charged only for listings whose page was actually read (detailsFetched: true).
  • The maximum total charge you set for a run is respected: the actor stops before it would go over, keeps what was delivered, and says so (run fBWm0wKRFwEhWnBDN: limit $0.017 → exactly 7 listings, Succeeded).

Reliability and failure behaviour

What happenedRun statusStatus message
Listings deliveredSucceededScraped 500 listings from 1 query
Avito has no listings for your searchSucceeded0 results: avito.ru has no listings for this query
A category Avito shows only as a landing page (services) with an explicit price sortFailedNo listings delivered: Avito shows this page as a category landing page that lists none of its … listings: add a keyword … (with the default order the actor reads such a category newest first instead, see Limits)
A URL that is not an Avito search pageFailed, or ignored when other inputs work… this URL is not an Avito search page … / … a city page without a category; add one …
Some searches worked, some failedSucceededScraped 120 listings from 2 queries — 1 of 2 queries failed ("…": …)
Nothing delivered because Avito refused every attemptFailedNo listings delivered: avito.ru blocked every attempt; try again later. No listings were charged (the start fee applies).
Input the actor cannot use (other site, unknown region, bad category path)Failed, within secondsOne sentence naming the problem and the fix, e.g. Nothing to do: … Paste an avito.ru search URL into "startUrls", or set "searchQueries" and/or "category" with a "region". … or "Атлантида" is not a region Avito knows by that name: use a city such as "Москва" … No listings were charged (the start fee applies). An unusable URL next to a usable keyword search is ignored and listed in the summary's ignoredInputs; when the region itself is unknown the run stops on that before the URLs are listed.
City search with listings from elsewhere (cityOnly)SucceededScraped 30 listings from 1 query — 55 listings outside the city skipped on the pages read (cityOnly; not charged) (the count covers every page read, including the rest of the last page after the maximum was reached)
Maximum charge reachedSucceeded… — stopped at the maximum charge set for this run
Run timeout closeSucceeded… — stopped just before the run timeout; raise the timeout to get the rest (with a note when Avito refused requests on the way)

How it gets through: Avito shows new visitors an automatic security check ("Доступ ограничен: проверка безопасности"): a small computation that every browser opening the page performs on its own, without any user action. The actor performs the same computation. When Avito refuses an address outright (HTTP 403 / 429, or its "Подождите, идет загрузка" script page, which the actor does not run), the run continues on a fresh address through Apify Proxy, datacenter first and residential after repeated refusals; you need no proxy settings for this. Measured on 2026-10-20: all 16 test runs that should have delivered listings did (19 runs in all; the other 3 were a bad input, an empty search and a second "only new" run, which ended as they should); the 1,000-listing run GNVXJ4OhdLcz4ATRZ moved to the datacenter proxy once and finished in 172 s.

  • Results are saved page by page. A run that is aborted or times out keeps what was delivered and never charges the same listing twice. With details, a timeout in the middle of a page still delivers (and charges) the listings whose pages were already read; the rest of that page is not delivered or charged.
  • A run that the platform restarts (migration, resurrect) continues where it was and counts what it delivered before the restart against the maximum.
  • Requests are retried on network errors, HTTP 429 and 5xx; page requests start at most once a second, and a run moves to a fresh proxy address every 10 pages once it uses the proxy.

Limits

  • Avito shows at most 100 pages per search (about 5,000 listings; cars 32 per page, so 3,200). Split bigger searches by price range or district; the summary says when a search was cut by this.
  • Speed: about 500 listings in 45 s and 1,000 in 3 minutes without details (runs OPinsy337YGXYpYP9, GNVXJ4OhdLcz4ATRZ). With details each listing page is one more request, and Avito limits those per address, so expect roughly 20 to 35 listings per minute: 30 took 103 s (C5BTLsWfmgnFus55w), 60 took 172 s (evhOMzU9Ux05wzDj0), 100 took 382 s (sUDrJklKNcnTS0NJC).
  • Without the seller-type filter or details, sellerType is null for sellers without Avito's verified-company badge: Avito's search cards do not say.
  • Searches sorted newest first shift while you read them (new listings push older ones down a page); a listing met twice is delivered once.
  • Avito answers keyword searches by moving to the matching category; the result is what Avito itself shows for that search (minus the listings outside the city with cityOnly).
  • cityOnly reads more pages for the same number of listings when Avito mixes in many listings from elsewhere; after 2 pages in a row with no listing in the city it stops that search and says so.
  • Services (predlozheniya_uslug and its sub-categories) are shown by Avito as a landing page without a list in its default order, and as an ordinary list newest first. Such a search is therefore read newest first (the summary says sortedByDate). With an explicit price sort it fails with advice, as Avito does not list it. A keyword (searchQueries) works in any order.
  • Wholesale price ranges that some shops show on the listing page (17 631 — 17 990) are not returned; price is the single retail price.
  • Avito's "newest first" order is close to, but not strictly, the order of listedAt, and for some categories it places dealer offers near the top.
  • Russia only (avito.ru), Russian-language data as Avito publishes it.

Monitoring: only new listings

  1. Turn on Only new listings and save the input as a task.
  2. Schedule the task (hourly or daily).
  3. The first run delivers the newest listings up to the maximum. Every later run delivers and charges only listings it has not delivered before for the same search, and stops reading once a page is mostly known; a run with nothing new ends as Succeeded with 0 new listings… and charges only the start event (runs UX6KlR3cgWDixoQ69 → 20 new, 7gA6mbbcbghqO24K2 → 0 new).

A listing that its seller pays to lift back to the top is not delivered again. The memory is a key-value store named avito-scraper-monitor in your own account (one record per search and monitor name); delete it or change Monitor name to start over. Set the maximum above the number of new listings you expect between two runs. To be notified, add an integration (email, Slack, webhook) to the task.

FAQ

Do I need a proxy? No. Leave the proxy off; the run moves to Apify Proxy by itself if Avito refuses its address, at no extra charge to you.

Why is sellerType empty for some listings? Avito's search cards do not say whether a seller is a person or a company. Use the Seller type filter (Avito's own) or turn on details.

Why are there fewer listings than Avito's counter shows? Avito lists at most 100 pages per search; split the search by price range or district. The summary gives Avito's count per search (totalOnSite).

Can I get phone numbers? No. Avito shows them only to logged-in users, and this actor never logs in.

Can I run it from code? Yes: the API, the Apify clients for JavaScript and Python, Make, Zapier, n8n. The Output tab shows the URLs.

What happens when Avito changes its pages? Runs fail loudly instead of returning empty data; report the run id under Issues.

This actor collects listing data that Avito shows publicly to any visitor without a login. Avito's user agreement restricts automated collection and re-use of its content; check it and your purpose before you build on the output. Do not re-publish listings or photos (they belong to their authors) and do not use the output to build a competing classifieds site.

Personal data: listings come from both companies and private persons. By default the actor leaves out private persons' names and profile links (privateDataRedacted: true), never returns phone numbers or names of company employees, and returns descriptions as the seller wrote them (a seller may have typed contact details into the text). Turn on includePrivateSellerData only if you have a lawful basis to process personal data of private individuals (for example under Russia's Federal Law 152-FZ "On Personal Data" or the GDPR) and use it accordingly. Do not use the output for unsolicited marketing to individuals.

You are responsible for complying with the laws that apply to you and to the data. If you are unsure, ask a lawyer.

Changelog

  • 2026-10-24 0.1.19: hasDelivery works (it was always false): it is read from the card's "Доставка от N дней" block and "Только доставка" badge, and from the listing page's delivery button with details; new fields deliveryOnly and deliveryText. cityOnly now really keeps a city search to the city: listings Avito shows from other cities (delivery listings, and other towns in keyword searches) are skipped, not charged, and counted in the status message; it stops reading after 2 pages with nothing in the city. Delivery listings in the searched city get the city as location.
  • 2026-10-24 0.1.16: services categories are read (newest first) instead of returning "0 results"; a city start page (avito.ru/moskva) or another non-search page is reported as unusable input instead of as a block; with details, a timeout no longer discards the listing pages already read; onSale and the sale price in priceWithDiscounts; seller names only for shops and verified companies; address is null rather than empty; descriptions use plain spaces; a whole Avito URL in region / category is understood; a restarted run keeps to the maximum; a timeout message no longer says "try again later" when a longer timeout is the cure.
  • 2026-10-24 0.1.13: cityOnly (on by default: a city search no longer includes towns up to 200 km away for cars); dealer offers report the price without discounts in price and the discounted one in priceWithDiscounts.
  • 2026-10-20 0.1: first version.

Support

Open an issue on the actor's Issues tab with the run id.