Russia's largest classifieds as JSON: goods, cars and real estate
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.
7 active endpoints, on 1 and 2 credit tiers.
- POST/avito/v1/search
- POST/avito/v1/cars/search
- POST/avito/v1/real_estate/search
- POST/avito/v1/listing
- POST/avito/v1/categories
- POST/avito/v1/locations
- POST/avito/v1/suggest
What Avito endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Avito API
4 of 7 endpoints, ready to run
Avito ads for a keyword or category in one city or all of Russia: price with its qualifier, free and unpublished flags, seller type, rating and reviews, address with nearby metro, images, description snippet and Avito Delivery.
{ "ok": true, "meta": { "api": "avito", "endpoint": "search", "mode": "live", "latency_ms": 2020.6, "record_count": 48, "cache_hit": false }, "data": { "listings": [ { "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": [ { "name": "Соколиная гора", "distance": "1 км", "walk_time": "11–15 мин." } ] }, "coordinates": { "lat": 55.770947, "lng": 37.729583, "precision": "exact" }, "coordinates_withheld": false, "address_as_typed": "Москва, 9-я ул. Соколиной Горы, 1", "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": [ { "name": "Ботанический сад", "distance": "1,4 км", "walk_time": "16–20 мин." } ] }, "coordinates": { "lat": 55.850914, "lng": 37.617535, "precision": "exact" }, "coordinates_withheld": false, "address_as_typed": "Москва, Берёзовая аллея, 17к1", "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 }, { "ad_id": "8324563764", "title": "Диван и два кресла", "url": "https://www.avito.ru/moskva/mebel_i_interer/divan_i_dva_kresla_8324563764", "category": { "category_id": 20, "name": "Мебель и интерьер", "slug": "mebel_i_interer", "root_category_id": 2 }, "subtitle": null, "price": 1999, "price_min": null, "price_max": null, "price_is_from": false, "currency": "RUB", "price_text": "1 999 ₽", "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:41:13Z", "location": { "location_id": 637640, "name": "Москва", "address": null, "nearby": [ { "name": "Преображенская площадь", "distance": "1 км", "walk_time": "11–15 мин." } ] }, "coordinates": { "lat": 55.803333, "lng": 37.72422, "precision": "exact" }, "coordinates_withheld": false, "address_as_typed": "Москва, Халтуринская ул., 17", "images": [ "https://60.img.avito.st/image/1/1.fOW5L7aA0Az3hSoHzXYD_6OP0ggLmNQMC_-xCAt02_YGjNQW94UqBw8.GUIJoMmYEJuCox78RqHl9riKthI4ziZ4IKDix3IkcTA", "https://90.img.avito.st/image/1/1.GEmWIraAtKDYiE6rqlZLTYyCtqQklbCgJPLVpCR5v1opgbC62IhOqyA.Es_KXyomLsWvGtchCUjwaZKFfzRu3fWSWjfmMimW0hM", "https://80.img.avito.st/image/1/1.JBG5IbaAiPj3i3Lz_Q1GC6OBivwLloz4C_Hp_At6gwIGgozi94ty8w8.VzLth-twJPJn9sC_gLknQN9LlLh6OeUrIchhD_HFE0w" ], "images_count": 4, "has_video": false, "description_snippet": "Диван и два кресла.\nСамовывоз с 9 этажа.\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 } ], "count": 48, "total": 15285, "pageable_total": 15285, "page": 1, "has_more": true, "sort_applied": "newest", "location": { "slug": "moskva", "location_id": 637640, "name": "Москва" }, "filters_applied": { "location": "moskva", "price_max": 20000 }, "query_interpreted_as": { "category_path": "mebel_i_interer/myagkaya-mebel/divany-ASgBAgICAkRaqgKMvg2ArjU", "note": null }, "sponsored_dropped": 2, "promoted_on_page": 2, "fallback_results_dropped": 0, "search_url": "https://www.avito.ru/moskva/mebel_i_interer/myagkaya-mebel/divany-ASgBAgICAkRaqgKMvg2ArjU?f=ASgBAgECAkRaqgKMvg2ArjUBRcaaDBV7ImZyb20iOjAsInRvIjoyMDAwMH0&localPriority=0&q=%D0%B4%D0%B8%D0%B2%D0%B0%D0%BD&s=104" } }
How the Avito API works
Avito is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 256 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
One-room flats for long-term rent in Saint Petersburg, then the full terms of one
real_estate/search narrows the rental market; listing opens one flat with its deposit, commission, utilities and house rules.
{"transaction": "rent_long", "location": "sankt-peterburg", "rooms": ["1"], "seller_type": "owner"}Rent per month, address with nearby metro, area in the title and the owner or agency on every row. Take listings[].ad_id.
{"ad_id": "<ad_id from step 1>"}The full record: deposit, commission and utilities under param_groups.rent_terms, pets and children under house_rules, building year and floors, views and photos.
A filtered view of owner-listed flats in one city with each flat's real monthly cost spelled out.
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"}'{
"ok": true,
"data": { … },
"meta": {
"api": "avito",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}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.
What was checked, and what Avito leaves out
Measured on 2026-09-16: 80 live calls across the four main actions with no failure, 137 controlled checks including every filter, and 14 ads compared with their own pages. Five of these lines go against us.
Three search actions plus categories for jobs, services and the rest of Avito's 591 categories, in any Russian city or region or all of Russia. Prices in rubles.
Each filter was run against its unfiltered total in the same minute: Toyotas in Moscow, 3,835, became 810 Camrys and 456 cars from 2020 to 2022; Moscow apartments for sale, 75,146, became 23,794 two-room flats.
On 14 ads across furniture, laptops, cars, apartments for sale and rent, jobs and services, the title, price, view count, seller name and ad number matched each ad's own page on all 14.
Salary ranges come as their two ends, dealer 'from' prices with the price before discount, free items and unpublished prices with their own flags, and rent per month or per day marked.
Median across 80 calls: a search 3.5 seconds, a car search 5.2 seconds, a property search 4.9 seconds, an ad 5.7 seconds. The slowest call in that run took 21.4 seconds.
Avito answers in seconds, not milliseconds, and some calls take over 20 seconds. A car search with year, mileage, fuel, drive or seller filters reads two Avito pages.
In Avito's default order most of a page can be paid placements, so a relevance search can return few rows; use the default newest order or include_sponsored.
Price order had 7 of 50 neighbouring ads out of order and newest-first can hold an ad a few minutes out of place. Rows keep Avito's order.
On 13 ads, the seller type in search matched the ad page on 11; some realtors carry no label in search. The ad page is the more precise one.
A private person's name, typed address and exact location are left out on purpose; Avito shows phone numbers only to signed-in users. A seller's full list of other ads is not included.
What people build with Avito
The jobs this data is most often used for.
endpoints
credits per call
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.
What Avito data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 256 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
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"])Have a question? We got answers.
The questions people actually ask before wiring up Avito.
Get a free key →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.
17 Classifieds & Second-hand APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Avito, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 255 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-16.