Avito Scraper: Listings and Cars from Avito.ru avatar

Avito Scraper: Listings and Cars from Avito.ru

Pricing

from $3.14 / 1,000 listings

Go to Apify Store
Avito Scraper: Listings and Cars from Avito.ru

Avito Scraper: Listings and Cars from Avito.ru

Scrape Avito.ru listings from any search or category link, cars included: title, price in rubles, city, address, seller, photos and date, plus make, model, year, mileage, engine and gearbox for cars. Region, category and price filters. Up to 5,000 per search. No login.

Pricing

from $3.14 / 1,000 listings

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

5 days ago

Last modified

Share

500 Avito car listings in 3 minutes: price, city, seller, photos and make, model, year and mileage

From The Mine Works, makers of Ozon.ru Scraper and 2GIS Places Scraper, with over 140,000 runs across 170+ public actors.

Updated 20 Oct 2026: first release. Any Avito search or category link, or search words with a region and category, one row per listing, car fields parsed from every car card, and monitor mode for new listings. Bookmark this Actor on its Store page so it is one click away next time.

Why choose this actor?

  • Any Avito search, every category. Paste the link of a search you set up on avito.ru (cars, flats for rent, phones, jobs, bicycles, anything) or type search words with a city and category. In our test runs it read 500 used car listings in Moscow in 3 minutes, 50 listings a page, with 0 duplicates.
  • Cars come with the details already split out. For every car card you get make, model, year, mileage, engine volume, power, gearbox, body type, drive, fuel and a damaged flag as separate columns, ready to filter in a spreadsheet. Every listing also carries its price as a number, city, address, coordinates, seller name and type, rating, photos and the date.
  • Pay per listing, nothing for blocked pages. You pay for the listings that reach your dataset and a flat $0.003 per run. A search Avito blocks, a link that is not an Avito search, and the summary rows are never charged. No Avito account, no cookies, no proxy to rent.

Run it on Apify

Part of The Mine Works E-commerce and marketplaces family: Ozon.ru Scraper, ⭐ Amazon Reviews Scraper, Amazon Product Scraper, Etsy Listings Scraper, AliExpress Scraper, Kleinanzeigen.de Scraper.

Try it in one minute

Paste this into the input (JSON view) and press Start. It returns the first 30 car listings in Moscow, 30 rows. It took 7 seconds in one test run and 14 in another:

{
"startUrls": ["https://www.avito.ru/moskva/avtomobili"],
"maxItems": 30
}

Any page on avito.ru that shows a list of results works as a start link: a whole category, a make and model (https://www.avito.ru/moskva/avtomobili/toyota/camry), a search with filters you set on the site, or a word search (https://www.avito.ru/all?q=iphone+15). Copy it from the address bar.

Apify's free plan includes $5 of credit every month, which covers about 1,100 listings at this actor's price.

Copy to your AI assistant

themineworks/avito-scraper on Apify. Scrapes Avito.ru search and category pages, all categories including cars, one row per listing, no Avito login. Call ApifyClient("TOKEN").actor("themineworks/avito-scraper").call(run_input={"startUrls": ["https://www.avito.ru/moskva/avtomobili"], "maxItems": 100}), then client.dataset(run["defaultDatasetId"]).list_items().items. Give startUrls (list of avito.ru search or category links, up to 200) and/or query (search words) with region (Avito city slug, default "all" = whole of Russia, e.g. "moskva", "sankt-peterburg") and category (Avito category slug, e.g. "avtomobili", "kvartiry", "telefony"). Optional: maxItems (per search, default 50, 1 to 5000), priceMin and priceMax (rubles), sort ("default", "date", "price_asc", "price_desc"), monitorMode (default false; delivers only listings not delivered by an earlier run in the same Apify account). Listing rows have no _type field and carry id, title, url, price, price_text, currency, price_postfix, category, category_slug, location, address, latitude, longitude, posted_at, seller_name, seller_type, seller_rating, seller_reviews, badges, description, params_text, image_url, image_urls, image_count, is_promoted, is_car, and for cars car_make, car_model, car_year, car_mileage_km, car_engine_l, car_power_hp, car_transmission, car_body_type, car_drive, car_fuel, car_damaged. Each run also writes one row with _type "summary", one with _type "info" when listings were delivered, and a row with _type "error" for each link that could not be read; none of these is charged. Full spec: GET https://api.apify.com/v2/acts/themineworks~avito-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral

Key features

  • Links or search words. Start from any Avito results link, or from search words plus a region slug and a category slug. Both can be used in one run, up to 200 searches.
  • Up to 5,000 listings per search. Pages are read in order, 50 listings each, following Avito's own next page link. Avito lets anyone page through 1,500 results in its default order and up to 5,000 sorted by date.
  • Price filter and sort order. priceMin and priceMax in rubles, and newest first, cheapest first or most expensive first, applied to every search.
  • Car columns. Make and model from the title, year, mileage, engine volume, power in hp, gearbox (automatic, manual, robot, cvt), body type, drive (front, rear, awd), fuel and a damaged flag, from the card text Avito shows on each car.
  • Duplicates removed. Promoted listings repeat across pages and searches; each listing is delivered and charged once per run.
  • Monitor mode. Remembers up to 50,000 listing ids it delivered to you and skips them on later runs, so a scheduled run pays only for new listings.
  • Stops cleanly when blocked. Each blocked page is retried on fresh proxy sessions. When Avito keeps blocking, the run stops early, keeps every listing it read, and says why in the summary row.

How to use it

Basic: one category in one city

{
"startUrls": ["https://www.avito.ru/sankt-peterburg/kvartiry/sdam/na_dlitelnyy_srok"],
"maxItems": 200
}

Long term flats for rent in Saint Petersburg, 200 rows. price is the monthly rent and price_postfix says в месяц (per month).

Used car market research: one model across Russia

{
"query": "Toyota Camry",
"region": "all",
"category": "avtomobili",
"priceMin": 1000000,
"priceMax": 3000000,
"sort": "date",
"maxItems": 1000
}

Filter the rows on car_year and car_mileage_km to build a price curve, or group by location to compare cities. seller_type separates dealers from other sellers.

Dealer and competitor tracking

Open a dealer's search on avito.ru (a make, a city, your price band), copy the link and put it in startUrls. seller_name, seller_url, seller_rating, seller_reviews and seller_closed_listings show who sells what and how active they are, and is_promoted shows who pays for promotion.

New listings every morning

{
"startUrls": ["https://www.avito.ru/moskva/avtomobili/toyota/camry"],
"sort": "date",
"maxItems": 200,
"monitorMode": true
}

Save it as a task and add a daily schedule. The first run delivers the newest 200; each later run delivers and charges only listings that were not in an earlier run.

Price research for electronics and other goods

{
"query": "iphone 15",
"region": "moskva",
"category": "telefony",
"priceMin": 30000,
"priceMax": 80000,
"maxItems": 300
}

In our test this returned listings priced from 30,000 to 56,990 rubles, with the seller name on most cards.

Many cities in one run

Give one link per city (https://www.avito.ru/kazan/avtomobili, https://www.avito.ru/ekaterinburg/avtomobili, and so on). maxItems applies to each link, and search_url on every row tells you which search it came from.

Input parameters

ParameterTypeDefaultWhat it does
startUrlsarray of stringsemptyAvito search or category links. Up to 200 per run.
querystringemptySearch words, used with region and category.
regionstringallAvito city or region slug: all, moskva, sankt-peterburg, moskovskaya_oblast, kazan and so on.
categorystringemptyAvito category slug: avtomobili, kvartiry, telefony, noutbuki, velosipedy, vakansii and so on. Empty searches every category.
maxItemsinteger50Most listings per search, 1 to 5,000.
priceMin, priceMaxintegeremptyPrice range in rubles, applied to every search.
sortstringdefaultdefault (the order of your link), date, price_asc or price_desc.
monitorModebooleanfalseDelivers and charges only listings not delivered to you by an earlier run.
proxyConfigurationobjectApify ProxyKeep the default datacenter proxy (see the FAQ).

Give startUrls, query, or both. With only category and region, the whole category of that region is read.

What data do you get?

One row per listing. Listing rows have no _type field; the summary, info and error rows do, so a filter on _type separates them.

FieldWhat it is
idAvito listing id, e.g. 8239696202
title, urlListing title and link
price, price_text, currency, price_postfixPrice as a number, as shown, RUB, and the unit for rentals (в месяц, за сутки)
price_without_discount, discount_percent, price_was_loweredDiscount and price drop signals, when the card shows them
category, category_slug, category_idCategory in Russian, its link slug and id
location, location_id, address, area, latitude, longitudeCity, street address or district, and coordinates when shown
posted_at, posted_timestamp, date_textTime Avito shows for the listing (published or last raised), ISO 8601 and Unix ms, and the date text of the card
seller_name, seller_urlSeller or shop name and profile link, when on the card
seller_type, seller_type_rudealer, company, agency, developer, owner or private, and the Russian label
seller_rating, seller_reviews, seller_closed_listings, seller_badgesRating out of 5, review count, completed listings and badges
badgesListing badges such as Только на Авито or 1 владелец
descriptionStart of the description as shown on the card
params_textThe parameter line of the card (cars: mileage, engine, body, drive, fuel; flats: deposit and fees)
image_url, image_urls, image_countMain photo, all photo links on the card, and the photo count
has_video, has_phone, has_deliveryVideo, phone calls accepted, Avito Delivery offered
is_promoted, is_verified, is_reserved, is_outside_searchPaid promotion, verified listing, reserved, added by Avito from outside your search
is_carTrue for car listings
car_make, car_model, car_year, car_mileage_kmParsed from the title and params of car cards
car_engine_l, car_power_hp, car_transmissionEngine volume, power and gearbox
car_body_type, car_drive, car_fuel, car_damagedBody, drive, fuel and Avito's damaged mark, in English
search_url, page, positionThe search, results page and place in the results
scraped_atWhen the row was read

Summary row (_type: "summary", never charged): searches_requested, searches_read, searches_failed, pages_read, pages_blocked, listings_found, listings_delivered, charged_for, duplicates_skipped, requests, requests_blocked, stopped_by_max_cost, stop_reason, shortfall_reason when fewer listings came back than asked, and per_search, one entry per search with total_results (Avito's count), pages, delivered and stopped. The same summary is saved as the OUTPUT record of the run.

Error rows (_type: "error", never charged): one per link that could not be read, with error_type (not_avito, not_a_url, listing_page, no_search, not_found, blocked), identifier and reason.

Stable fields for automations

These were present in every listing row of our test runs (993 rows from cars, flats, phones and bicycles), and their names will not change:

FieldWhat it is
idThe key to store and join on
titleListing title
urlLink to the listing
pricePrice as a number
price_textPrice as shown
category_slugCategory slug
location_idAvito location id
posted_atListing time, ISO 8601
descriptionStart of the description
image_countNumber of photos
is_promotedPaid promotion
is_carCar listing or not
search_urlThe search it came from
positionPlace in the results

Optional, present only when the card has a value: location and address (986 of 993 rows), seller_name (617 of 993; Avito does not print a name on every card), seller_type (605), seller_rating (701), image_urls (967), price_postfix (rentals only). On the 800 car rows, car_make, car_year, car_power_hp, car_transmission, car_body_type, car_drive and car_fuel were in every row, car_model in 799, car_engine_l in 793 (electric cars have none) and car_mileage_km in 678 (new cars show none).

Output examples

A used car and a flat for rent, from test runs on 20 Oct 2026 (trimmed):

[
{
"id": "8239696202",
"title": "Opel Zafira 1.6 MT, 2017, 118 300 км",
"url": "https://www.avito.ru/moskva/avtomobili/opel_zafira_1.6_mt_2017_118_300_km_8239696202",
"price": 1550000,
"price_text": "1 550 000 ₽",
"currency": "RUB",
"category": "Автомобили",
"category_slug": "avtomobili",
"location": "Москва",
"address": "район Северное Медведково",
"area": "Москва, Медведково",
"latitude": 55.88811446073473,
"longitude": 37.661585259009414,
"posted_at": "2026-10-20T04:21:34.000Z",
"seller_name": "Автоль Групп",
"seller_url": "https://www.avito.ru/brands/i185937874",
"seller_type": "dealer",
"seller_rating": 4.9,
"seller_reviews": 381,
"seller_closed_listings": 610,
"badges": ["Только на Авито", "Можно в кредит"],
"params_text": "118 300 км, 1.6 MT (135 л.с.), минивэн, передний, дизель",
"image_count": 37,
"is_promoted": true,
"is_car": true,
"car_make": "Opel",
"car_model": "Zafira",
"car_year": 2017,
"car_mileage_km": 118300,
"car_engine_l": 1.6,
"car_power_hp": 135,
"car_transmission": "manual",
"car_body_type": "minivan",
"car_drive": "front",
"car_fuel": "diesel",
"car_damaged": false,
"page": 1,
"position": 1
},
{
"id": "7712867593",
"title": "1-к. квартира, 35 м², 11/26 эт.",
"url": "https://www.avito.ru/sankt-peterburg/kvartiry/1-k._kvartira_35_m_1126_et._7712867593",
"price": 40000,
"price_text": "40 000 ₽ в месяц",
"currency": "RUB",
"price_postfix": "в месяц",
"category": "Квартиры",
"location": "Санкт-Петербург",
"address": "Санкт-Петербург, проспект Луначарского, 78к5",
"latitude": 60.0350647,
"longitude": 30.3743763,
"posted_at": "2026-10-20T04:31:13.000Z",
"date_text": "1 час назад",
"params_text": "Залог 40 000 ₽ · Без комиссии · ЖКУ 3 500 ₽ + счетчики",
"image_count": 23,
"is_car": false
}
]

The summary row of a 500 listing run, trimmed:

{
"_type": "summary",
"searches_requested": 1,
"searches_read": 1,
"pages_read": 10,
"pages_blocked": 0,
"listings_found": 500,
"listings_delivered": 500,
"charged_for": 500,
"duplicates_skipped": 0,
"requests": 22,
"requests_blocked": 10,
"per_search": [
{ "url": "https://www.avito.ru/moskva/avtomobili/s_probegom?s=104", "pages": 10, "delivered": 500, "total_results": 60897, "stopped": "max_items_reached" }
]
}

Pricing

Pay per event: you pay for the listings you receive, plus a flat $0.003 per run, whatever memory you choose.

EventWhen it is chargedFree planBronze (Starter)Silver (Scale)Gold (Business)
listing-scrapedOnce per listing row stored in your dataset$4.49 per 1,000$3.59 per 1,000$3.41 per 1,000$3.14 per 1,000
run-startOnce per run, after the first page returned listings$0.003$0.003$0.003$0.003

The price of one listing is the price per 1,000 divided by 1,000. 1,000 car listings cost $4.49 on the free plan and $3.14 on Gold, plus $0.003 for the run.

Never charged:

  • links that are not Avito searches, single listing pages and pages Avito answers with 404 (each gets an error row);
  • searches Avito keeps blocking; a run whose first page never returns listings pays no start fee either;
  • the same listing a second time in one run, and listings skipped by monitor mode;
  • listings past your maxItems;
  • the summary, info and error rows;
  • anything past your "Max cost per run". The actor checks the budget before each listing and stops while the total is still below your limit, so the run ends SUCCEEDED with a partial result and a status message saying so.

Run it on a schedule

  1. Open the actor in Apify Console, set your input and click Save as a new task.
  2. In the task, open Schedules, click Add schedule and pick how often (every hour, every day at 08:00 and so on).
  3. Set sort to date and turn on monitorMode in the task's input so each run delivers and charges only listings you have not received yet.
  4. Optional: add an integration (Google Sheets, Slack, a webhook) so new listings land where your team works.

Monitor mode keeps the ids of up to 50,000 delivered listings in a storage named monitor-avito-scraper in your own Apify account, shared by all your runs of this actor. If that storage cannot be opened, the run says so in its log, delivers everything, and sets monitor_degraded: true in the summary row.

FAQ

What does this actor read?

Avito's public search result pages, the same list anyone sees on avito.ru without logging in. Each row holds what the listing card shows: title, price, place, seller, photos, date, the start of the description and, for cars, the parameter line. It does not open each listing's own page, so the full description, phone numbers and the full list of car options are not included in this version.

Up to 5,000. Avito serves 50 listings per page and lets anyone page through 1,500 results in its default order and up to 5,000 sorted by date (sort: "date"). For more than that, split one search into several by price range (priceMin, priceMax) or by city, and put each in its own link.

How are make, model, year and mileage found?

From the text Avito prints on each car card. The title reads like Opel Zafira 1.6 MT, 2017, 118 300 км and the line under it like 118 300 км, 1.6 MT (135 л.с.), минивэн, передний, дизель; the actor splits both into columns and translates gearbox, body, drive and fuel into English words. New cars have no mileage on the card, and electric cars no engine volume, so those columns are absent there. Makes written in two words (Land Rover, Alfa Romeo, Aston Martin, Great Wall and others) are kept together.

Any avito.ru page with a list of results: a category in a city (/moskva/avtomobili), a make and model (/moskva/avtomobili/toyota/camry), the whole of Russia (/all/avtomobili), word searches (/all?q=...) and pages with filters you set on the site. m.avito.ru links are read as www links. A single listing page (its address ends in a long number) gets an error row instead.

How do I find the region and category slugs?

Open the city and category on avito.ru and read the address: in https://www.avito.ru/sankt-peterburg/kvartiry, the region is sankt-peterburg and the category is kvartiry. all means the whole of Russia.

Do I need an Avito account, cookies or my own proxy?

No. The actor reads public pages through Apify's datacenter proxy, which is included. Keep the default proxy setting: in our tests Avito answered residential proxies and direct connections with its block code (HTTP 439), while the datacenter pool returned the pages.

How long does a run take, and what happens when Avito blocks a page?

In our tests a page of 50 listings took 4 to 20 seconds, and 500 used car listings took 3 minutes. About half of all requests got Avito's block page (39 of 78 in our tests); each is retried on a fresh proxy session with a short pause, and 29 of 30 pages came through within 6 tries. If 3 pages in a row stay blocked after every retry, the run stops early, keeps what it read and says so in shortfall_reason. Blocked searches are never charged.

What is posted_at?

The time Avito shows for the listing, which is when it was published or last raised by the seller (raising moves a listing back to the top). Sort by date returns the most recently published or raised listings first.

When a search has few results, Avito adds similar listings or listings from nearby areas. Those rows have is_outside_search: true, so you can drop them.

Which formats can I download?

JSON, CSV, Excel, XML, RSS and HTML from the run's Storage tab or through the API. The dataset has two ready views: Listings and Cars.

Can I use it from Claude, ChatGPT or Cursor (MCP)?

Yes, through Apify's MCP server. Connector URL: https://mcp.apify.com/?tools=themineworks/avito-scraper

  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http avito-scraper "https://mcp.apify.com/?tools=themineworks/avito-scraper"

The actor reads only public listing pages that anyone can open without logging in. Listings can contain seller names; you are responsible for how you use the data, including Avito's terms and data protection law such as Russia's personal data law, GDPR and CCPA. This is general information, not legal advice.

Integrations

  • Google Sheets: send each run's listings to a sheet with Apify's Google Sheets integration; one row per listing fits a sheet as is.
  • Make, Zapier and n8n: start a run and read its dataset with the Apify apps and nodes, for example "new Camry listings under 2 million rubles to Telegram".
  • Webhooks: have Apify call your URL when a run succeeds, then fetch the dataset.
  • API and SDKs: run it from Python or JavaScript with the Apify client, or with a plain HTTP call (see "Copy to your AI assistant" above).
  • MCP clients: Claude, ChatGPT, Cursor and VS Code can run it as a tool through the connector URL in the FAQ.

More from The Mine Works

E-commerce and marketplaces

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a search that returns fewer listings than it should, or a card field that is missing? Open an issue in the Issues tab with the input and the run ID, and we will look at it. For a field you need or a new source, email dmineworks@gmail.com.

Give Avito search links or search words and get every listing back as one row, with price, city, seller, photos and date, plus make, model, year and mileage for cars, up to 5,000 per search, no login.