
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Avito.ru listings by keyword, city, category or search URL: prices, photos, seller, ratings, and optional full details (description, parameters, address, coordinates, views). No login needed.
Scrape listings from Avito.ru, Russia's largest classifieds site, by keyword, city, category or any Avito search URL. You get prices, photos, seller names and ratings, and with one switch the full listing: description, parameters, address, coordinates, posting date and view counts. No login and no Avito account needed, and it costs about half of what comparable tools charge.
iPhone 15 Pro) and a location (Москва, Kazan, Nizhny Novgorod Oblast), or paste an Avito search URL, or a list of listing URLs.| Field | Description |
|---|---|
query | Keywords as typed into the Avito search box |
searchUrl | Any Avito link: search, filtered category or a single listing. Filters, city and sort are read from the link |
listingUrls | Listing URLs or IDs, returns full details for each |
maxResults | How many listings to save (default 20) |
location | City or region in Russian or English; defaults to all of Russia |
category | Category preset (apartments for rent, cars, phones, laptops, …) |
priceMin / priceMax | Price range in rubles |
sort | relevance, newest, cheapest, expensive |
checkIn / checkOut / guests | Daily-rental dates and guests |
includeDetails | Fetch the full listing (description, parameters, coordinates, views) |
{
"query": "iPhone 15 Pro",
"location": "Москва",
"maxResults": 100,
"priceMax": 80000,
"sort": "cheapest",
"includeDetails": true
}
| Field | Description |
|---|---|
id, url, title | Listing ID, link and title |
price, priceFormatted, pricePrevious | Price in rubles (number), as shown, and the old price for discounts |
thumbnail, images, imageCount | Photos |
seller | Name, profile URL, shop or private, rating, review count, member since, badges |
badges, snippet, isDeliveryAvailable | Search-card badges, text snippet, Avito delivery |
description, parameters | Full text and all listing parameters (details) |
address, latitude, longitude, breadcrumbs | Location and category path (details) |
postedAt, viewsTotal, viewsToday, contactMethods, stock | Posting time (UTC), views, contact options (details) |
{
"id": 8203965121,
"title": "Велосипед горный 26''",
"url": "https://www.avito.ru/kazan/velosipedy/velosiped_gornyy_26_8203965121",
"price": 12890,
"priceFormatted": "12 890 ₽",
"categoryId": 34,
"imageCount": 10,
"isDeliveryAvailable": true,
"seller": {
"name": "Веломагазин Пример",
"profileUrl": "https://www.avito.ru/user/0000example/profile",
"isShop": true,
"sellerType": "Компания",
"ratingScore": 4.8,
"reviewCount": 325,
"memberSince": "На Авито с июня 2014",
"listingCount": 940
},
"description": "Новый горный велосипед, рама 17\", 21 скорость…",
"address": "Казань",
"latitude": 55.743912,
"longitude": 49.212469,
"postedAt": "2026-10-14 15:37:13",
"parameters": [
{"name": "Состояние", "value": "Новое"},
{"name": "Бренд", "value": "Другой"}
],
"contactMethods": ["phone", "messenger"],
"viewsTotal": 216,
"viewsToday": 4,
"searchQuery": "велосипед / Казань"
}
Pay per result:
truncatedAtChargeLimit: true; the run then stops.Example: 1,000 listings ≈ $2.50; 1,000 fully detailed listings ≈ $4.00. Platform usage (compute and proxy traffic) is charged separately and is small: a typical 1,000-listing run uses a few cents.
Is it legal to scrape Avito? The actor collects only publicly visible listing data, without logging in. You are responsible for using the data in line with Avito's terms and data-protection law (for example, personal data of private sellers).
Do I need an Avito account or my own proxy? No. The built-in residential proxy is the default. Datacenter proxy also works, but more requests are refused, so it's slower.
How many results can I get? Avito serves only about 40 pages (roughly 1,000–1,200 unique listings) per search. The actor gets past that by continuing the same search in price order, so a big category in one city can return many thousands of listings. With the newest or most expensive sort it stops at Avito's page limit.
Why are some fields empty? Fields such as description, parameters, coordinates and views come only with Full listing details. Some sellers leave fields out.
Are phone numbers included? No. Avito shows phone numbers only to logged-in users, and this actor doesn't log in.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start runs and fetch datasets through the REST API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
querystringOptionalПоисковый запрос (Search query)
Ключевые слова, как в строке поиска Avito. Оставьте пустым, чтобы выгрузить всю категорию. Keywords, as typed into the Avito search box. Leave empty to scrape a whole category.
searchUrlstringOptionalURL поиска (Search URL)
Любая ссылка Avito.ru: поиск, категория с фильтрами или объявление. Фильтры, город и сортировка берутся из ссылки, а поля запроса ниже игнорируются. Any Avito.ru link: a search, a filtered category or a listing. Filters, city and sort order are read from the link; the query fields are then ignored.
listingUrlsarrayOptionalСсылки на объявления (Listing URLs)
Прямые ссылки на объявления или их ID. Возвращает полные данные по каждому объявлению. Direct listing links or listing IDs. Returns full details for each listing.
maxResultsintegerOptionaldefault 20Макс. объявлений (Max listings)
Сколько объявлений сохранить в сумме. Avito отдаёт около 40 страниц на поиск; дальше актор продолжает поиск по возрастанию цены, чтобы собрать больше (для сортировки «по релевантности» и «дешевле»). How many listings to save in total. Avito serves about 40 pages per search; past that the actor continues the search in price order to collect more (for the relevance and cheapest sort orders).
Город, категория, цена и сортировка. Не применяются к Search URL и ссылкам на объявления.<br>City, category, price and sort order. Not applied to a Search URL or listing links.
locationstringOptionalМестоположение (Location)
Город или регион на русском или английском (Москва, Kazan, Nizhny Novgorod Oblast). По умолчанию вся Россия. City or region in Russian or English. Defaults to all of Russia.
categoryenumOptionaldefault "all"Категория (Category)
Категория объявлений. Можно выгрузить всю категорию без поискового запроса. Listing category. You can scrape a whole category without a query.
categoryPathstringOptionalКатегория из ссылки (Category path)
Первая часть пути из ссылки Avito, если категории нет в списке, например noutbuki или avtomobili. Имеет приоритет над полем «Категория». Для подкатегорий с фильтрами вставьте всю ссылку в Search URL. The first path part of an Avito link when the category is not in the list, e.g. noutbuki. Overrides Category. For sub-categories with filters, paste the whole link into Search URL.
priceMinintegerOptionalМин. цена, ₽ (Min price, RUB)
Минимальная цена в рублях. Minimum price in RUB.
priceMaxintegerOptionalМакс. цена, ₽ (Max price, RUB)
Максимальная цена в рублях. Если меньше минимальной, значения меняются местами. Maximum price in RUB. If lower than the minimum, the two are swapped.
sortenumOptionaldefault "relevance"Сортировка (Sort)
Порядок результатов. Result order.
Только для посуточной аренды (например, категория «Квартиры: посуточно» или ссылка на посуточные объявления).<br>Only for daily rentals (e.g. the Daily rent category or a link to daily rentals).
checkInstringOptionalЗаезд (Check-in)
Дата заезда для посуточной аренды, ГГГГ-ММ-ДД, не в прошлом. Цена за весь срок появляется, когда указаны обе даты. Check-in date for daily rentals, YYYY-MM-DD, not in the past. Prices for the whole stay appear once both dates are set.
checkOutstringOptionalВыезд (Check-out)
Дата выезда, ГГГГ-ММ-ДД, минимум на день позже заезда. Check-out date, YYYY-MM-DD, at least one day after check-in.
guestsintegerOptionalВзрослых гостей (Adult guests)
Количество взрослых гостей, 1–50. Учитывается вместе с датами. Number of adult guests, 1–50. Used together with the dates.
childAgesarrayOptionalВозраст детей (Child ages)
Возраст каждого ребёнка, 0–17, например 5 и 9. Age of each child, 0–17.
includeDetailsbooleanOptionaldefault falseПолные данные объявления (Full listing details)
Описание, все фото, характеристики, координаты, дата публикации, просмотры, способы связи и подробности о продавце. Один дополнительный запрос на объявление. Description, all photos, parameters, coordinates, posting date, views, contact methods and seller details. One extra request per listing.
maxConcurrencyintegerOptionaldefault 16Параллельные запросы (Max concurrency)
Сколько запросов выполнять одновременно. Значение по умолчанию подходит почти всегда. How many requests run at once. The default suits almost every job.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Прокси (Proxy)
Прокси для запросов к Avito. Каждая попытка идёт через новый IP. Для резидентного прокси по умолчанию используются российские IP. Proxy for requests to Avito. Every attempt goes out through a new IP. Residential proxy uses Russian IPs unless you pick another country.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumbnail | any | Photo |
| title | any | Title |
| price | any | Price, RUB |
| priceFormatted | any | Price |
| url | any | Listing |
| address | any | Address |
| postedAt | any | Posted (UTC) |
| seller.name | any | Seller |
| seller.ratingScore | any | Rating |
| seller.reviewCount | any | Reviews |
| seller.isShop | any | Shop |
| viewsTotal | any | Views |
| id | any | ID |
| searchQuery | any | Search |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Full listing details | Extra charge per listing saved with full details (description, parameters, coordinates, views). | $0.0015 |
| Listing | One Avito listing saved to the dataset. | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/avito-scraper').call({
"query": "iPhone 15 Pro",
"maxResults": 20,
"location": "Москва",
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/avito-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/avito-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Classified ads with full listing details.
Listing cards from a pasted Avito search page.
Ads limited to one category, with details.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.