Avito API & Scraper
The Avito API returns Russia's largest classifieds site as clean JSON in seven actions: search for any category in all of Russia or one city or region, cars/search for new and used cars, real_estate/search for apartments, rooms, houses, land, garages and commercial property for sale, long-term or daily rent, listing for the full record of any ad, and categories, locations and suggest for the categories, city names and search terms the searches take.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
Every row carries the price in rubles with its qualifier (per month, for everything, per shift), whether it is free or unpublished, a 'from' price and the price before discount where a dealer shows one, a salary range as its two ends, the seller type - private person, private storefront, company, agency or developer - with the rating and review count, the address with nearby metro stations, images, a description snippet, the parameters line, Avito Delivery and paid-placement flags. listing adds the full description, every parameter with its Russian label, building, rent-terms and house-rules blocks, car and apartment summaries, Avito's own market-price estimate for apartments, all photos, the seller's reply time, view counts and the expiry date. Every filter was checked live to narrow the result and every returned row to match it. On 14 ads in 7 categories, the title, price, view count and seller name matched each ad's own page. No Avito account, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.
Six Avito results that are not what they look like
An Avito salary can arrive as a number nobody wrote, a dealer price can be a conditional 'from' figure, most of a result page can be paid placement, and a nonsense search can come back full. Each looks like an ordinary row. This engine labels or removes every one.
| Search or ad | What Avito sends | What the API returns | the catch |
|---|---|---|---|
| Job ad '57 000 — 130 000 ₽' | price 93,500 | price: null, price_min: 57000, price_max: 130000 | 93,500 is a midpoint Avito computes; nobody offered it |
| New car 'от 3 279 990 ₽' | 3,279,990 in search, 4,599,990 as the ad's price | price 3279990, price_is_from: true, price_before_discount: 4599990, discount_percent: 29 | the 'from' price depends on the dealer's conditions; both figures are kept and named, the same in search and listing |
| 'диван', Avito's default order | 47 of 50 rows are paid placements | 3 rows + sponsored_dropped: 47 | paid rows are removed and counted unless you ask for include_sponsored; the default newest order keeps them in their date position |
| 'Бесплатно' and 'Зарплата не указана' | both price 0 | is_free: true (price 0) vs price_not_published: true (price null) | a free sofa and a job ad without a salary are not the same zero |
| 'iphone' in Moscow | the phone category with an Apple filter, keyword dropped | query_interpreted_as with Avito's own note | Avito rewrites many keywords; category_detection: false keeps the plain keyword search (139,066 ads instead of 75,223) |
| A nonsense keyword | 0 results plus 50 unrelated ads | 0 rows, fallback_results_dropped: 50 | the padding is removed and counted; include_fallback_results returns it apart |
Measured on 2026-09-16. Classified ads come and go - the searches above are dated.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/avito/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "диван",
"location": "moskva"
}
}{
"ok": true,
"meta": {
"api": "avito",
"endpoint": "search",
"mode": "live",
"latency_ms": 3201.5,
"record_count": 47,
"bytes": 3143625,
"cache_hit": false,
"stop_reason": "limit_reached"
},
"data": {
"listings": [
{
"ad_id": "8386499447",
"title": "Диван угловой Jordan раскладной",
"url": "https://www.avito.ru/moskva/mebel_i_interer/divan_uglovoy_jordan_raskladnoy_8386499447",
"category": {
"category_id": 20,
"name": "Мебель и интерьер",
"slug": "mebel_i_interer",
"root_category_id": 2
},
"subtitle": null,
"price": 35900,
"price_min": null,
"price_max": null,
"price_is_from": false,
"currency": "RUB",
"price_text": "35 900 ₽",
"price_period": null,
"is_free": false,
"price_not_published": false,
"price_before_discount": null,
"discount_percent": null,
"price_lowered": false,
"price_per_unit": null,
"published_at": "2026-09-16T19:51:58Z",
"location": {
"location_id": 637640,
"name": "Москва",
"address": null,
"nearby": [
"[trimmed-depth]"
]
},
"coordinates": {
"lat": 55.741044,
"lng": 37.687282,
"precision": "exact"
},
"coordinates_withheld": false,
"address_as_typed": "Москва, Рабочая улица",
"seller": {
"type": "private",
"type_label": null,
"has_shop": false,
"name": "Мебель по карману",
"name_withheld": false,
"name_hidden_by_avito": false,
"profile_id": "40f8bbae21be2814b395dcba0e38b09e",
"profile_url": "https://www.avito.ru/brands/40f8bbae21be2814b395dcba0e38b09e",
"rating": 5,
"rating_scale": 5,
"reviews_count": 8,
"closed_ads_count": 170,
"info": null,
"badges": [
"[trimmed-depth]"
]
},
"images": [
"https://40.img.avito.st/image/1/1.05UB07aAf3xPeYV3K-iZjhtzfXizZHt8swMeeLOIdIa-cHtmT3mFd7c.WHHm5uAXCRDFbMEMhS7891e_hw9DntDrXrfUQ1xWfhY",
"https://50.img.avito.st/image/1/1.79SxZLaAQz3_zrk240-UzqvEQTkD00c9A7QiOQM_SMcOx0cn_865Ngc.1Vbeh8T-lAnddnhnBmp-83m7zA4m8tmQ_rp-uuRjvZM",
"https://50.img.avito.st/image/1/1.w-Km2baAbwvoc5UArK6m-7x5bQ8UbmsLFAkODxSCZPEZemsR6HOVABA.hjaRfWjUpvHP8kxuGIPumHDlfUaNyJpdXSyJt1iV34o"
],
"images_count": 9,
"has_video": false,
"description_snippet": "Диван угловой Jordan (Джордан)ткань Velutto 30 (Велутто).\nМеханизм Еврокнижка.\nНезависимый пружинный блок.\nМатрас средней жесткости.\nУгол универсальный.\nБез дефектов.\n\nДоступна доставка по России. Склад расположен в городе Ковров, Владимирская област...",
"params_summary": null,
"badges": null,
"development_name": null,
"realty_type": null,
"is_promoted": false,
"paid_services": null,
"is_xl": false,
"is_reserved": false,
"delivery_available": false,
"delivery_text": null,
"is_verified_item": false
},
{
"ad_id": "8479424568",
"title": "Диван прямой",
"url": "https://www.avito.ru/moskva/mebel_i_interer/divan_pryamoy_8479424568",
"category": {
"category_id": 20,
"name": "Мебель и интерьер",
"slug": "mebel_i_interer",
"root_category_id": 2
},
"subtitle": null,
"price": 4000,
"price_min": null,
"price_max": null,
"price_is_from": false,
"currency": "RUB",
"price_text": "4 000 ₽",
"price_period": null,
"is_free": false,
"price_not_published": false,
"price_before_discount": null,
"discount_percent": null,
"price_lowered": false,
"price_per_unit": null,
"published_at": "2026-09-16T19:44:54Z",
"location": {
"location_id": 637640,
"name": "Москва",
"address": null,
"nearby": [
"[trimmed-depth]"
]
},
"coordinates": {
"lat": 55.770947,
"lng": 37.729583,
"precision": "exact"
},
"coordinates_withheld": false,
"address_as_typed": "Москва, 9-я ул. Соколиной Горы, 1",
"seller": {
"type": "private",
"type_label": null,
"has_shop": false,
"name": null,
"name_withheld": false,
"name_hidden_by_avito": true,
"profile_id": null,
"profile_url": null,
"rating": 4.9,
"rating_scale": 5,
"reviews_count": 41,
"closed_ads_count": 1,
"info": null,
"badges": null
},
"images": [
"https://10.img.avito.st/image/1/1.sYngY7aAHWCuyedrjgHzofrDH2RS1BlgUrN8ZFI4FppfwBl6rsnna1Y.Id3jyLrDf3co6t7x5-xVUSfuwcoQDWbOehr2ExR1I_g?cqp=2.2LhnDdKx1gU5sZ7QAbwhSdJoeYt5K_KL9JwGcCXpGrDVbBxJ1yJf9Jn7hY3rGWaiHtSha9zz1w==",
"https://70.img.avito.st/image/1/1.1mtsR7aAeoIi7YCJTADmQnbneIbe8H6C3pcbht4ccXjT5H6YIu2Aido.uKI8fLadLroB3AmvQ2egpd0Gi9yFUcEISOlLMnpsys0",
"https://10.img.avito.st/image/1/1.gxuuNraAL_LgnNX5pFzBM7SWLfYcgSvyHOZO9hxtJAgRlSvo4JzV-Rg.H2WcD0FFykY56rDe-1v5ZjeBSwCvevt9nIBwmrbNkE0?cqp=2.2LhnDdKx1gU5sZ7QAbwhSdJoeYt5K_KL9JwGcCXpGrDVbBxJ1yJf9Jn7hY3rGWaiHtSha9zz1w=="
],
"images_count": 5,
"has_video": false,
"description_snippet": "Продается мини диван в хорошем состоянии. Выполнен из белой экокожи, что придаёт ему современный вид. Каркас прочный и надёжный. Диван имеет небольшие потертости и царапины на обивке. Его размеры: ширина 150 см, глубина 70 см, высота 100 см. Идеально...",
"params_summary": null,
"badges": [
"Рассрочка"
],
"development_name": null,
"realty_type": null,
"is_promoted": false,
"paid_services": null,
"is_xl": false,
"is_reserved": false,
"delivery_available": false,
"delivery_text": null,
"is_verified_item": false
},
{
"ad_id": "8264461607",
"title": "Диван прямой раскладной",
"url": "https://www.avito.ru/moskva/mebel_i_interer/divan_pryamoy_raskladnoy_8264461607",
"category": {
"category_id": 20,
"name": "Мебель и интерьер",
"slug": "mebel_i_interer",
"root_category_id": 2
},
"subtitle": null,
"price": 7000,
"price_min": null,
"price_max": null,
"price_is_from": false,
"currency": "RUB",
"price_text": "7 000 ₽",
"price_period": null,
"is_free": false,
"price_not_published": false,
"price_before_discount": null,
"discount_percent": null,
"price_lowered": false,
"price_per_unit": null,
"published_at": "2026-09-16T19:42:51Z",
"location": {
"location_id": 637640,
"name": "Москва",
"address": null,
"nearby": [
"[trimmed-depth]"
]
},
"coordinates": {
"lat": 55.850914,
"lng": 37.617535,
"precision": "exact"
},
"coordinates_withheld": false,
"address_as_typed": "Москва, Берёзовая аллея, 17к1",
"seller": {
"type": "private",
"type_label": null,
"has_shop": false,
"name": null,
"name_withheld": false,
"name_hidden_by_avito": true,
"profile_id": null,
"profile_url": null,
"rating": 4.8,
"rating_scale": 5,
"reviews_count": 30,
"closed_ads_count": 44,
"info": null,
"badges": null
},
"images": [
"https://70.img.avito.st/image/1/1.6oOJ9baARmrHX7xh0bqmmJNVRG47QkJqOyUnbjuuTZA2VkJwx1-8YT8.gGVF_m5rQFIImW5U_jtRGSrtASQcJugBsw048l1p-iE",
"https://00.img.avito.st/image/1/1.dmhVGLaA2oEbsiCKNSEMck-42IXnr96B58i7hedD0Xvqu96bG7IgiuM.PUQb7qG0DzS27IkQOlX5N_27Dq0ELznJ9p-h1Vn8PwY?cqp=2.2LhnDdKx1gU5sZ7QAbwhSdJoeYt5K_KL9JwGcCXpGrDVbBxJ1yJf9Jn7hY3rGWaiHtSha9zz1w=="
],
"images_count": 2,
"has_video": false,
"description_snippet": "Продам диван.\nМеханизм рабочий, но требуется или чехол или перетяжка.\nВнизу есть ящик для хранения.\nСамовывоз ЖК.",
"params_summary": null,
"badges": [
"Рассрочка"
],
"development_name": null,
"realty_type": null,
"is_promoted": false,
"paid_services": null,
"is_xl": false,
"is_reserved": false,
"delivery_available": true,
"delivery_text": "Доставка от 1 дня",
"is_verified_item": false
}
],
"count": 47,
"total": 50849,
"pageable_total": 50849,
"page": 1,
"has_more": true,
"sort_applied": "newest",
"location": {
"slug": "moskva",
"location_id": 637640,
"name": "Москва"
},
"filters_applied": {
"location": "moskva"
},
"query_interpreted_as": {
"category_path": "mebel_i_interer/myagkaya-mebel/divany-ASgBAgICAkRaqgKMvg2ArjU",
"note": null
},
"sponsored_dropped": 3,
"promoted_on_page": 3,
"fallback_results_dropped": 0,
"search_url": "https://www.avito.ru/moskva/mebel_i_interer/myagkaya-mebel/divany-ASgBAgICAkRaqgKMvg2ArjU?localPriority=0&q=%D0%B4%D0%B8%D0%B2%D0%B0%D0%BD&s=104"
}
}What the Avito API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Avito.ru, Russia's largest classifieds site, by keyword and/or category anywhere in Russia or in one city or region: price in RUB (free, unpublished, 'from' and salary-range prices labelled), seller type, name, rating and reviews, address and nearby metro, images, description snippet, parameters summary, delivery and reserved flags, paid-placement flags. Filter by location, category, price, private or company seller and Avito delivery; sort by newest, relevance or price. | Price-intelligence teams call search to search Avito.ru, Russia's largest classifieds site, by keyword and/or category anywhere in Ru…. | query, location, category, price_min, price_max, ... |
| cars/search | Search Avito Auto - used and new cars anywhere in Russia or in one city: price (dealer 'from' prices with the price before discount), make/model, parameters summary (engine, power, gearbox, drive, body), dealer or private seller with rating, address, images and paid-placement flags. Filter by make, model, used/new, year, mileage, fuel, drive, price and seller type; sort by newest, price, year or mileage. | Classifieds aggregators call cars/search to search Avito Auto - used and new cars anywhere in Russia or in one city. | location, make, model, condition, year_min, ... |
| real_estate/search | Search Avito Real Estate - apartments, rooms, houses, land, garages and commercial property for sale, long-term or daily rent: price or rent per month/day, price per m², address with nearby metro and walking time, complex, agency/developer/owner, images and paid-placement flags. Filter by transaction, property type, rooms, area, new-build or resale, seller type and price. | Resale and arbitrage tools call real_estate/search to search Avito Real Estate - apartments, rooms, houses, land, garages and commercial property f…. | transaction, location, property_type, rooms, area_min, ... |
| listing | The full Avito ad by id or URL, in any category: title, status, price (from/range/free/unpublished labelled, price before discount), full description, every published parameter with its Russian label and grouped building/rent-terms/house-rules/requirements blocks, car and property summaries, Avito's own market price estimate for apartments, all images, address with nearby metro, seller type, shop name, rating, reviews, reply time and verification, view counts and expiry date. | Lead-generation teams call listing to get the full Avito ad by id or URL, in any category. | ad_id, include_pii, max_rotations |
| categories | Avito's category tree (591 nodes: transport, real estate, jobs, services, electronics, home, fashion, hobbies, animals, business) with node ids, Russian names and the paths the search action takes. | Price-intelligence teams call categories to get avito's category tree (591 nodes. | query |
| locations | Find Avito location slugs (cities, towns and regions) for the location parameter: search by Russian or Latin name; Avito's own lookup adds the region and location id. | Classifieds aggregators call locations to find Avito location slugs (cities, towns and regions) for the location parameter. | query, max_rotations |
| suggest | Avito's own search-box suggestions for what a user is typing, with the category and filters Avito would apply for each. | Resale and arbitrage tools call suggest to get avito's own search-box suggestions for what a user is typing, with the category and filters A…. | query, max_rotations |
Call search from your stack
curl -X POST https://api.reefapi.com/avito/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"диван","location":"moskva"}'import requests
r = requests.post(
"https://api.reefapi.com/avito/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "диван",
"location": "moskva"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/avito/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "диван",
"location": "moskva"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.avito.search with {"query":"диван","location":"moskva"}.Who uses this API and why
- Car dealers and valuation tools follow Russian asking prices by make, model, year, mileage, fuel and drive, with dealer 'from' prices and prices before discount kept apart.
- Property analysts track sale prices, rents and price per m² by city, rooms, area and new-build or resale, separating owners, agencies and developers, with Avito's own market estimate per apartment.
- Resale and pricing tools compare second-hand prices across Russian cities with free items, unpublished prices and paid placements kept out of the averages.
- Recruiting and labour-market teams read salary ranges as their two ends, per month or per shift, instead of a midpoint nobody offered.
Questions developers ask before integrating
Which parts of Avito does the API cover?
Goods, cars and real estate each have their own search action, and jobs, services and every other category are reachable through search with a category from the categories action (591 categories). On 2026-09-16: 420,822 sofa ads across Russia and 51,466 in Moscow; 82,111 cars in Moscow, 3,835 of them Toyotas; 75,146 apartments for sale in Moscow and 15,157 for long-term rent in Saint Petersburg. listing returns the full record of any ad. Russia only, prices in rubles.
How do I choose a city or region?
With the location parameter: Avito's own city or region name as it appears in its web addresses (moskva, sankt-peterburg, kazan, moskovskaya_oblast), a major city's Russian name (Москва, Казань), or all for the whole country. The locations action turns a Russian or Latin name into that value - 'нижний новгород' becomes nizhniy_novgorod - with the region and Avito's location id.
Is a private seller's name or address included?
No. A private person's display name, the street address they typed and the exact map point are left out; the town or the address Avito shows on the card stays, and ad pages that show only an approximate area return that area with its radius. Storefronts, companies, agencies and developers are named with their rating and reviews. Avito does not show phone numbers to visitors, so the API does not return them.
What happens to paid placements?
Avito mixes paid placements into results - 47 of the first 50 'диван' ads in its default order on 2026-09-16. They are removed by default and counted in sponsored_dropped; include_sponsored keeps them with is_promoted and the list of paid services. Results are newest first by default, where paid ads keep their date position. Cosmetic services such as a larger card or a highlight are listed but never removed.
Do the filters really narrow the results?
Each one was checked live on 2026-09-16: the filtered total had to be smaller than the unfiltered one, and the returned rows had to match. Sofas in Moscow (51,466): 5,000 to 10,000 ₽ 3,413, private sellers 18,776, with Avito Delivery 37,699. Toyotas in Moscow (3,835): Camry 810, 2020 to 2022 456, diesel 478, all-wheel drive 1,947, dealers 1,356. Apartments for sale in Moscow (75,146): two rooms 23,794, 40 to 60 m² 22,572, new builds 48,793, from developers 37,946.
Why do year, mileage and fuel filters need a make?
Avito applies those car filters only within a make, so cars/search asks for make with them and says so if it is missing. Makes and models are the names Avito uses in its web addresses - toyota, camry, vaz_lada (lada works too), mercedes-benz.
Are the sort orders exact?
They are Avito's own. Price order is close but not strict - 7 of 50 neighbouring 'диван' ads were out of order - and newest-first can hold an ad a few minutes out of place. The API returns rows in Avito's order so that pages stay consistent. Results stop at page 30 (1,500 ads per search), as on the site.
What does Avito not publish?
Phone numbers, private sellers' names and typed addresses, a sold status (a removed ad returns NOT_FOUND), stock, barcodes, photos on job ads, and the exact publication date on an ad page (search rows carry it). A seller's full list of other ads is not part of the API.
What is the Avito API?
Avito API is a ReefAPI endpoint group for russia's largest classifieds: goods, cars and real estate as json. It returns live JSON through POST requests under /avito/v1.
Is the Avito API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Avito calls use the same shared credit balance as every other ReefAPI engine.
Do I need an Avito login or account?
No login to Avito is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Avito data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Avito API use?
Avito actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Avito from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call avito actions with the same key, credit pool and JSON envelope used by normal REST requests.