# Avito Scraper: Listings and Cars from Avito.ru (`themineworks/avito-scraper`) Actor

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.

- **URL**: https://apify.com/themineworks/avito-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** E-commerce, Real estate, Lead generation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.14 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Avito Scraper: Listings and Cars from Avito.ru

[![500 Avito car listings in 3 minutes: price, city, seller, photos and make, model, year and mileage](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/avito-scraper-hero.png)](https://console.apify.com/actors/R09No47QCyECv54yl/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), 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](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/R09No47QCyECv54yl/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works E-commerce and marketplaces family:** [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### 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:

```json
{
  "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

```text
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

```json
{
  "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

```json
{
  "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

```json
{
  "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

```json
{
  "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

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `startUrls` | array of strings | empty | Avito search or category links. Up to 200 per run. |
| `query` | string | empty | Search words, used with `region` and `category`. |
| `region` | string | `all` | Avito city or region slug: `all`, `moskva`, `sankt-peterburg`, `moskovskaya_oblast`, `kazan` and so on. |
| `category` | string | empty | Avito category slug: `avtomobili`, `kvartiry`, `telefony`, `noutbuki`, `velosipedy`, `vakansii` and so on. Empty searches every category. |
| `maxItems` | integer | `50` | Most listings per search, 1 to 5,000. |
| `priceMin`, `priceMax` | integer | empty | Price range in rubles, applied to every search. |
| `sort` | string | `default` | `default` (the order of your link), `date`, `price_asc` or `price_desc`. |
| `monitorMode` | boolean | `false` | Delivers and charges only listings not delivered to you by an earlier run. |
| `proxyConfiguration` | object | Apify Proxy | Keep 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.

| Field | What it is |
|---|---|
| `id` | Avito listing id, e.g. `8239696202` |
| `title`, `url` | Listing title and link |
| `price`, `price_text`, `currency`, `price_postfix` | Price as a number, as shown, `RUB`, and the unit for rentals (`в месяц`, `за сутки`) |
| `price_without_discount`, `discount_percent`, `price_was_lowered` | Discount and price drop signals, when the card shows them |
| `category`, `category_slug`, `category_id` | Category in Russian, its link slug and id |
| `location`, `location_id`, `address`, `area`, `latitude`, `longitude` | City, street address or district, and coordinates when shown |
| `posted_at`, `posted_timestamp`, `date_text` | Time Avito shows for the listing (published or last raised), ISO 8601 and Unix ms, and the date text of the card |
| `seller_name`, `seller_url` | Seller or shop name and profile link, when on the card |
| `seller_type`, `seller_type_ru` | `dealer`, `company`, `agency`, `developer`, `owner` or `private`, and the Russian label |
| `seller_rating`, `seller_reviews`, `seller_closed_listings`, `seller_badges` | Rating out of 5, review count, completed listings and badges |
| `badges` | Listing badges such as `Только на Авито` or `1 владелец` |
| `description` | Start of the description as shown on the card |
| `params_text` | The parameter line of the card (cars: mileage, engine, body, drive, fuel; flats: deposit and fees) |
| `image_url`, `image_urls`, `image_count` | Main photo, all photo links on the card, and the photo count |
| `has_video`, `has_phone`, `has_delivery` | Video, phone calls accepted, Avito Delivery offered |
| `is_promoted`, `is_verified`, `is_reserved`, `is_outside_search` | Paid promotion, verified listing, reserved, added by Avito from outside your search |
| `is_car` | True for car listings |
| `car_make`, `car_model`, `car_year`, `car_mileage_km` | Parsed from the title and params of car cards |
| `car_engine_l`, `car_power_hp`, `car_transmission` | Engine volume, power and gearbox |
| `car_body_type`, `car_drive`, `car_fuel`, `car_damaged` | Body, drive, fuel and Avito's damaged mark, in English |
| `search_url`, `page`, `position` | The search, results page and place in the results |
| `scraped_at` | When 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:

| Field | What it is |
|---|---|
| `id` | The key to store and join on |
| `title` | Listing title |
| `url` | Link to the listing |
| `price` | Price as a number |
| `price_text` | Price as shown |
| `category_slug` | Category slug |
| `location_id` | Avito location id |
| `posted_at` | Listing time, ISO 8601 |
| `description` | Start of the description |
| `image_count` | Number of photos |
| `is_promoted` | Paid promotion |
| `is_car` | Car listing or not |
| `search_url` | The search it came from |
| `position` | Place 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):

```json
[
  {
    "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:

```json
{
  "_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.

| Event | When it is charged | Free plan | Bronze (Starter) | Silver (Scale) | Gold (Business) |
|---|---|---|---|---|---|
| `listing-scraped` | Once 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-start` | Once 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.

#### How many listings can I get per search?

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.

#### Which links work?

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.

#### Why are some listings outside my city or search?

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"`

#### Is it legal to scrape Avito?

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**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Etsy Listings Scraper](https://apify.com/themineworks/etsy-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [AliExpress Scraper](https://apify.com/themineworks/aliexpress-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Kleinanzeigen.de Scraper](https://apify.com/themineworks/kleinanzeigen-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [eBay Product Listings Scraper](https://apify.com/themineworks/ebay-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Shopify Store Scraper](https://apify.com/themineworks/shopify-store-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [🛒 TikTok Shop Scraper](https://apify.com/themineworks/tiktok-shop-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Walmart Product & Price Scraper](https://apify.com/themineworks/walmart-product-price-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Vinted Scraper](https://apify.com/themineworks/vinted-listings-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [SEC EDGAR Filings Scraper](https://apify.com/themineworks/sec-edgar-filings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [G2 Reviews Scraper](https://apify.com/themineworks/g2-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naver Blog Scraper](https://apify.com/themineworks/naver-blog-posts-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [WeChat Article Scraper 微信公众号文章](https://apify.com/themineworks/wechat-article-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### 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.*

# Actor input Schema

## `startUrls` (type: `array`):

Any avito.ru page that lists results, one per line: a category (https://www.avito.ru/moskva/avtomobili), a filtered search you set up on avito.ru and copied from the address bar (https://www.avito.ru/moskva/avtomobili/toyota/camry), or a word search (https://www.avito.ru/all?q=iphone+15). All categories work: cars, real estate, electronics, jobs, services and the rest. Single listing pages are not read in this version. Up to 200 links per run.

## `query` (type: `string`):

Words to search for, as you would type them on avito.ru, e.g. iphone 15 or Toyota Camry. Used with region and category below. Runs in addition to the links above.

## `region` (type: `string`):

The region or city part of an Avito link: all (whole of Russia), moskva, sankt-peterburg, moskovskaya_oblast, ekaterinburg, novosibirsk, kazan and so on. Open the city on avito.ru and copy the word after avito.ru/. Used with search words or category.

## `category` (type: `string`):

The category part of an Avito link, e.g. avtomobili (cars), kvartiry (flats), telefony (phones), noutbuki (laptops), velosipedy (bicycles), vakansii (jobs). Leave empty to search every category.

## `maxItems` (type: `integer`):

The most listings to return for each link and for the search words, 1 to 5,000. A results page has 50 listings. Avito lets you page through 1,500 results in its default order and up to 5,000 when sorted by date.

## `priceMin` (type: `integer`):

Only listings priced at or above this, in rubles. Applied to every search.

## `priceMax` (type: `integer`):

Only listings priced at or below this, in rubles. Applied to every search.

## `sort` (type: `string`):

The order of the results. Newest first is the one to use with monitor mode, and it lets you page deeper (5,000 results). Keep the order of your link to leave it unchanged.

## `monitorMode` (type: `boolean`):

Deliver and charge only listings that earlier runs of this actor in your account have not delivered. Put the same input on a schedule, sorted by newest first, to get new listings as they appear.

## `proxyConfiguration` (type: `object`):

Keep the default Apify Proxy (datacenter). In our tests Avito blocked the residential pool and direct connections with HTTP 439, while the datacenter pool returned the pages.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.avito.ru/moskva/avtomobili"
  ],
  "region": "all",
  "maxItems": 30,
  "sort": "default",
  "monitorMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.avito.ru/moskva/avtomobili"
    ],
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/avito-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://www.avito.ru/moskva/avtomobili"],
    "maxItems": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/avito-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.avito.ru/moskva/avtomobili"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call themineworks/avito-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/avito-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/R09No47QCyECv54yl/builds/1OClkQSLOCdMES5qa/openapi.json
