avito.ru APIavito.ru ↗
Browse and retrieve classified ads from Avito.ru. Search by category and price, get full item details, seller info, images, and specs via 3 endpoints.
curl -X GET 'https://api.parse.bot/scraper/b54ad12b-11e9-48dd-a911-3dc6465949c4/search_items?query=iphone+14&category=telefony&location=moskva&price_max=50000&price_min=20000' \ -H 'X-API-Key: $PARSE_API_KEY'
Browse classified ads on Avito.ru by category with optional filters for price range and client-side text filtering. Returns a list of items and average price statistics. Note: only city-level locations are supported (e.g., 'moskva', 'sankt-peterburg'); country-wide locations like 'rossiya' may return empty results due to server-side rendering limitations.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| query | string | Optional text to filter results client-side by matching against item titles and descriptions. Applied after category browsing. |
| categoryrequired | string | Category slug for browsing (e.g., 'telefony', 'transport', 'bytovaya_elektronika', 'nedvizhimost', 'rabota') |
| location | string | City location slug (e.g., 'moskva', 'sankt-peterburg', 'novosibirsk', 'ekaterinburg') |
| price_max | integer | Maximum price filter in RUB |
| price_min | integer | Minimum price filter in RUB |
{
"type": "object",
"fields": {
"items": "array of item objects with id, title, url, price, currency, description_preview, thumbnail",
"stats": "object with average_price and items_with_numeric_price",
"total_count": "integer count of items returned on this page"
},
"sample": {
"data": {
"items": [
{
"id": "8086234972",
"url": "https://www.avito.ru/moskva/telefony/iphone_14_256_gb_2_sim_8086234972",
"price": 31990,
"title": "iPhone 14, 256 ГБ, 2 SIM",
"currency": "RUB",
"thumbnail": "https://40.img.avito.st/image/1/1.7RZht7aAQf93F-P-N5yeHFwXQ_vTAEX_02cg-9O0QF3UFEXldxfj_tc.Yo4luY9G350Z-ayCe6zLWMVbWSBfk0i6L60md3huMew",
"description_preview": "Ищешь iPhone и не хочешь попасть на «кота в мешке»?..."
}
],
"stats": {
"average_price": 41183.98,
"items_with_numeric_price": 50
},
"total_count": 50
},
"status": "success"
}
}About the avito.ru API
The Avito.ru API gives developers access to Russia's largest classifieds platform through 3 endpoints covering category browsing, full listing details, and seller contact retrieval. The search_items endpoint returns paginated ad listings with price, thumbnail, and description previews, plus aggregate statistics like average price across results. The get_item_details endpoint exposes structured fields including images, item parameters, seller profile, and posting date for any individual listing.
Browsing and Filtering Listings
The search_items endpoint accepts a required category slug — such as telefony, nedvizhimost, or transport — along with optional price_min and price_max filters in RUB. Location is scoped to city-level slugs like moskva or novosibirsk; country-wide location values are not supported. Each page of results includes an items array (each entry carrying id, title, url, price, currency, description_preview, and thumbnail) and a stats object with average_price and items_with_numeric_price. A query param can narrow results by matching against titles and descriptions client-side after the category filter is applied.
Retrieving Full Item Details
The get_item_details endpoint takes the full URL or path of any Avito listing and returns the complete record: title, price, price_text (formatted string when a structured price isn't available), currency, date_posted, an images array of photo URLs, a parameters key-value object containing item-specific specs (e.g., condition, brand, mileage depending on category), and a seller object with name, rating, and stats fields.
Seller Phone Retrieval
The get_phone endpoint accepts an item_id and an optional search_hash sourced from the item detail page, returning the seller's phone string. This endpoint is explicitly noted as heavily protected and may not succeed in all cases. It should be treated as best-effort rather than reliable for bulk workflows.
- Track asking prices for used smartphones in Moscow by querying
telefonywithprice_min/price_maxand readingstats.average_price. - Aggregate apartment rental listings in specific cities using the
nedvizhimostcategory andlocationslug, then parseparametersfor room count and area. - Monitor new vehicle listings under a price ceiling by polling
search_itemswith thetransportcategory and aprice_maxfilter. - Build a price comparison tool across Russian cities by running
search_itemswith differentlocationslugs and comparingstats.average_price. - Enrich a listing index with full seller details and photos by following each result's
urlthroughget_item_detailsforimagesandseller.rating. - Extract structured item specs from any category using the
parametersobject returned byget_item_detailsto feed into a database schema.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Avito.ru have an official developer API?+
What location granularity does `search_items` support?+
moskva, sankt-peterburg, novosibirsk, and ekaterinburg. Passing a country-wide or regional location value will not return results. If no location is provided, the endpoint returns listings without a geographic filter.How reliable is the `get_phone` endpoint?+
search_hash parameter, extracted from the item detail page returned by get_item_details, improves success rates but does not guarantee a result. Plan for failure cases in any workflow that depends on phone numbers.Does the API support filtering listings by seller type, condition, or subcategory?+
search_items endpoint filters by category, location, price_min, price_max, and a client-side query text match. Subcategory slugs, condition flags, and seller-type filters are not exposed as parameters. You can fork this API on Parse and revise it to add subcategory or condition filter support.What does the `stats` object in `search_items` actually measure?+
stats object contains average_price computed across all items on the returned page that have a parseable numeric price, and items_with_numeric_price which counts how many listings contributed to that average. Items listed as 'price negotiable' or without a numeric value are excluded from the average.