Avito Scraper — Listings, Prices & Seller Details
Pricing
from $9.00 / 1,000 avito item enricheds
Avito Scraper — Listings, Prices & Seller Details
Scrape Avito.ru by keyword or URL (search, category, item): title, price, location, images, seller, posted date; optional detail enrichment with description, seller profile, and phone number. HTTP-only over Russian residential proxy. MCP-ready.
Pricing
from $9.00 / 1,000 avito item enricheds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
13 hours ago
Last modified
Categories
Share
Scrape Avito.ru — Russia's largest classifieds marketplace — by keyword or by URL. Get clean, structured JSON for every listing: title, price, location, images, seller, and posted date, plus (with detail enrichment) the full description, item parameters, seller profile, and view count. No login, MCP-ready.
What it does
Give it a search keyword (e.g. iPhone 15, диван угловой) or one or more Avito URLs (search results, a category, or individual item pages). The actor paginates the results, normalizes every listing into a stable schema, and optionally opens each item to enrich it with the full description, specs, and seller details.
Avito renders its catalog with JavaScript and hard-blocks every non-Russian IP at the edge, so the actor drives an anti-detect browser (Camoufox / Firefox) over Russian residential proxies — both built in. You don't supply a proxy.
When to use it
- Price & market research across a category or city.
- Competitor / inventory monitoring — track new listings for a keyword on a schedule.
- Seller sourcing — collect seller name, type (private vs company), and profile URL per listing.
- Feeding an AI agent / MCP client that needs structured Avito data from a single query.
Do not use it for Avito account actions (messaging, posting) — it is a public, read-only scraper.
Output
One record per listing/item. Core fields:
| Field | Description |
|---|---|
id | Avito item id |
url | Canonical listing URL |
title | Listing title |
price | Numeric price (RUB) |
priceLabel | Price as shown (e.g. "27 290 ₽") |
location | City / region |
images | Array of image URLs |
sellerName | Seller display name |
sellerType | Частное лицо (private) / Компания (company) |
postedText | Posted date as shown on Avito |
description | Short snippet |
source | Extraction source |
With detail enrichment (enrichDetails, on by default) each record also gets:
| Field | Description |
|---|---|
fullDescription | Complete item description |
params | Item parameters (brand, condition, specs…) as a key/value object |
address | Full street address (real estate / auto), metro proximity stripped |
sellerProfileUrl | Link to the seller's Avito profile |
viewCount | Listing views |
Note on phone numbers: Avito gates seller phone reveal behind login / its mobile app, so phone numbers are not reliably scrapable and are not included. Seller name, type, and profile URL are provided instead.
Pricing (Pay Per Event)
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Listing scraped (enrichment off) | $0.004 / listing |
| Item enriched (default) | $0.009 / item |
You're billed only for results actually returned, capped by your Max results. The run logs the maximum possible cost before it starts.
Input
| Field | Type | Notes |
|---|---|---|
query | string | Search keyword. Cyrillic or Latin. |
startUrls | array | Avito search / category / item URLs (auto-detected). |
maxResults | integer | Hard cap (1–1000, default 50). |
enrichDetails | boolean | Add full detail + seller (default true). |
sortBy | enum | relevance, newest, price_asc, price_desc. |
locationPath | string | Avito city slug (e.g. moskva) to scope a keyword search. |
proxyUrls | array | Your own RU residential proxies (optional override). |
Example input
{"query": "iPhone 15","maxResults": 20,"enrichDetails": true,"sortBy": "newest","locationPath": "moskva"}
Run it via API
JavaScript (Apify client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('khadinakbar/avito-scraper').call({query: 'iPhone 15',maxResults: 20,enrichDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (Apify client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("khadinakbar/avito-scraper").call(run_input={"query": "iPhone 15","maxResults": 20,"enrichDetails": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
MCP / AI agents
Exposed in the Apify MCP server as apify--avito-scraper. The tool takes a single keyword or URL and returns structured listings — a natural one-call tool for Claude, ChatGPT, or any MCP client doing Russian-market research.
FAQ
Do I need a proxy? No. Russian residential proxy is built in. Avito blocks all non-RU IPs, so the actor will not work without one — which is why it's included.
Why can runs take a while? Avito's Russian-residential IP pool is inconsistent; the actor relaunches the browser on a fresh IP whenever it hits Avito's "access restricted" block page. Most runs succeed, but the occasional retry adds time. Keep maxResults sized to what you actually need.
Does it support city/category filters? Yes, via locationPath (a city slug like moskva) or by passing an Avito URL that already encodes the filters.
Can it get seller phone numbers? No — Avito requires login or its app to reveal phones, so they are not reliably scrapable. The actor returns seller name, type, and profile URL instead.
What if a search returns nothing? You get an empty dataset and a clear status message — no charge for results that don't exist.
Legal
This actor collects only publicly available data from Avito.ru and performs no login or account actions. You are responsible for using the output in compliance with Avito's Terms of Service, applicable data-protection laws, and any export/sanctions regulations relevant to your jurisdiction. Use it for legitimate research and market analysis where permitted.