Avito API

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.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Avito endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
A
/avito/v1

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.

7 endpoints

search

2 cr

Search Avito.ru, Russia's largest classifieds site, by keyword and/or category anywhere in Ru…

required
optional
query, location, category, price_min, price_max, seller_type, delivery_only, category_detection, sort, page, include_sponsored, include_fallback_results, include_pii, max_rotations

cars/search

2 cr

Search Avito Auto.

required
optional
location, make, model, condition, year_min, year_max, mileage_min, mileage_max, fuel, drive, price_min, price_max, seller_type, query, sort, page, include_sponsored, include_pii, max_rotations

real_estate/search

2 cr

Search Avito Real Estate.

required
transaction
optional
location, property_type, rooms, area_min, area_max, market, seller_type, price_min, price_max, query, sort, page, include_sponsored, include_pii, max_rotations

listing

1 cr

The full Avito ad by id or URL, in any category.

required
ad_id
optional
include_pii, max_rotations

categories

1 cr

Avito's category tree (591 nodes.

required
optional
query

locations

1 cr

Find Avito location slugs (cities, towns and regions) for the location parameter.

required
query
optional
max_rotations

suggest

1 cr

Avito's own search-box suggestions for what a user is typing, with the category and filters A…

required
query
optional
max_rotations

Every parameter, every allowed value →

Avito API

4 of 7 endpoints, ready to run

View docs ↗

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.

2 credits0 required · 4 optional
POST/avito/v1/search
ok2021 ms · 48 records · sample
{
  "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"
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows, with seller names left out. Press Try it for the untrimmed response.

How the Avito API works

Avito is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 256 engines.

02
Call
POST /avito/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

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.

01search
POST/avito/v1/real_estate/search
{"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.

02listing
POST/avito/v1/listing
{"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.

request
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"}'
response envelope
{
  "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 adWhat Avito sendsWhat the API returnsthe catch
Job ad '57 000 — 130 000 ₽'price 93,500price: null, price_min: 57000, price_max: 13000093,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 priceprice 3279990, price_is_from: true, price_before_discount: 4599990, discount_percent: 29the 'from' price depends on the dealer's conditions; both figures are kept and named, the same in search and listing
'диван', Avito's default order47 of 50 rows are paid placements3 rows + sponsored_dropped: 47paid rows are removed and counted unless you ask for include_sponsored; the default newest order keeps them in their date position
'Бесплатно' and 'Зарплата не указана'both price 0is_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 Moscowthe phone category with an Apple filter, keyword droppedquery_interpreted_as with Avito's own noteAvito rewrites many keywords; category_detection: false keeps the plain keyword search (139,066 ads instead of 75,223)
A nonsense keyword0 results plus 50 unrelated ads0 rows, fallback_results_dropped: 50the 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.

Goods, cars, real estate - and every other category

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.

Every filter narrows, every row matches

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.

Checked against the ad page

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.

Prices are labelled

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.

Speed

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.

Against us: slower than most of our APIs

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.

Against us: paid ads are removed by default

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.

Against us: Avito's sort orders are approximate

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.

Against us: seller type differs between search and ad in some cases

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.

Against us: private sellers are not named, and no phone numbers

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.

7

endpoints

1/2

credits per call

01

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.

02

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.

03

Resale and pricing tools compare second-hand prices across Russian cities with free items, unpublished prices and paid placements kept out of the averages.

04

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 →
$0.67–$1.50 / 1,000 credits
  • 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
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"}'
python
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"])
FAQ

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.

0/4000

No account needed · we reply from [email protected]

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.