Avito logo

Marketplaces · Live on Apify

Avito Scraper: Listings, Prices and New Ads

Get public Avito listings from search words or links. Each row has the title, price, location, category and seller type. You can add full details or get only new ads each day.

About $3.60 for 1,000 results$0.0036 per result + $0.003 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

itemId8075689687
urlhttps://www.avito.ru/moskva/velosipedy/velosiped_gornyy_26_8075689687
titleВелосипед горный 26''

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: [] in Search links. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Avito Listings Scraper reads public Avito.ru search results and listing pages and saves clean rows with prices, locations, seller type, photos and optional full details.

Good for

  • Track prices of a product or a car in a region.
  • Collect homes for sale with Avito's price estimate and the building's listing history.
  • Get only the new listings of a saved search each day.
  • Read public reviews and price statistics of a product model.
  • Find short-term rentals for exact dates and guests.

Who uses it

Resellers

Track prices of a product or a car in a region.

Real estate analysts

Collect homes for sale with Avito's price estimate.

Market researchers

Read public reviews and price numbers of a product model.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.003Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Listing$0.0036 (from $0.00252 on paid Apify plans)One saved listing. Duplicates, excluded ads and closed listings are not charged.
Source work unit$0.0003 (from $0.00021 on paid Apify plans)Work on Avito, charged also when nothing is found. Search page: 12 units. Listing, reviews or valuation read: 2 units. New connection: 1 unit. Protected reply: 8 more units.
Listing details$0.0021 (from $0.00147 on paid Apify plans)Full details added to one listing when details are turned on.
Model review$0.0005 (from $0.00035 on paid Apify plans)One saved product model review when reviews are turned on.

Examples

  • One result: about $0.0066.
  • 1,000 results: about $3.60.
  • Every day 100 results, for 30 days: about $10.89 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 1,300 results.

Prices checked on 8 November 2026. See the current price on Apify.

Questions

Do I need an Avito account or a proxy?

No. You need only an Apify account. The Actor reads public pages.

Does it return phone numbers?

No. Phone numbers and personal emails are not collected.

Why is the price empty?

The listing shows no number as price. The field is null, not zero.

Can I get more than 2,000 rows from one search?

Not from one search. Avito stops showing results after about 31 pages. Add more phrases, regions, categories or price ranges in one run.

How fresh and complete is the data?

Each row shows Avito at the time in fetchedAt. Avito decides what a search shows, so the Actor does not promise every listing.

Is isUnderpriced a market valuation?

No. It compares a price only with rows from the same source page. Avito's own estimates for homes and cars are in marketValuation and carMarketPrice.

Details

Step by step on Apify
  1. Open the input form. Keep the prefilled велосипед in Search words or type your own words (box 1 in the picture).
  2. Keep moskva in Region or paste a region from an Avito link, such as sankt-peterburg (box 2).
  3. Keep 10 in Maximum listings for a first test (box 3).
  4. Click Start.
  5. Open the Output tab and check title, price and location (box 5).
Use cases
TaskInputYou getKey fieldsNext step
Compare prices of a product in a regionquery, region, sortListing rowtitle, price, location, urlCSV or Excel export
Get new listings from a saved searchsearchUrls, onlyNew, stateNameNew listing rowitemId, changeType, price, urlSchedule and Slack or Notion summary
Watch price changessearchUrls, trackChanges, stateNameChanged listing rowchangeType, price, priceText, postedAtSchedule, API or webhook
Value a home for salelistingUrls, includeDetailsDetailed listing rowmarketValuation, realtyReport, buildingListingHistoryJSON export
Study a product modellistingUrls, includeReviews, includeComparablesListing row with model dataproductReviews, modelRating, modelComparablesJSON export or API
Tips for better results
  • One search shows up to about 2,000 listings. Use more phrases, regions or price ranges for more.
  • Turn on onlyNew and run it on a schedule to get only new ads.
  • The default 300 second timeout fits about 550 to 1,000 search rows. Set a longer timeout for more.
Limits and good to know
  • The Actor reads only public pages. It does not return phone numbers or personal emails, and it does not log in
  • One search returns up to about 2,000 listings, because Avito stops showing results after about 31 pages. Avito can also start repeating or stop a search after about 500–800 listings. Use several phrases, regions, categories or price ranges for more
  • The default timeout of 300 seconds fits about 550–1,000 search rows. Set a longer timeout for more. Rows with details take about 1 second each
  • The current version was tested up to 450 search rows in one run. Larger runs were measured on an earlier build at 512 MB: 5,000 rows took about 28 minutes and 20,000 rows about 93 minutes. Treat these numbers as a guide, and start a large job with a smaller run
  • Avito can refuse some reads. The Actor retries and then keeps the rows it has, with SOURCE_BLOCKED in the summary
  • Avito can widen a narrow search with other regions and loosely related listings. The Actor checks the price range again, but it keeps Avito's choice of words and region
  • onlyNew remembers the latest 50,000 delivered IDs

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "itemId": "8075689687",
  "url": "https://www.avito.ru/moskva/velosipedy/velosiped_gornyy_26_8075689687",
  "title": "Велосипед горный 26''",
  "price": 7500,
  "priceText": "7 500 ₽",
  "priceWithoutDiscount": null,
  "discountPercent": null,
  "currency": "RUB",
  "location": "Москва, ул. Лескова, 19Ас2",
  "latitude": 55.894085,
  "longitude": 37.616457,
  "category": "Горные",
  "categoryId": 34,
  "breadcrumbs": ["Хобби и отдых", "Велосипеды", "Горные"],
  "postedAt": "2026-10-31T17:06:46.000Z",
  "sellerType": "company",
  "sellerRating": 5,
  "sellerReviewCount": 442,
  "sellerVerified": false,
  "imageCount": 5,
  "isDeliveryAvailable": false,
  "isNegotiable": null,
  "parameters": [
    { "name": "Состояние", "value": "Новое", "attributeId": 110399 }
  ],
  "viewsTotal": 16248,
  "viewsToday": 4,
  "source": "avito.ru",
  "fetchedAt": "2026-11-07T03:22:15.474Z",
  "status": "ok"
}

Use it from code

Actor ID: cliqtomedia/avito-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/avito-scraper").call(run_input={
    "query": "велосипед",
    "region": "moskva"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~avito-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "велосипед", "region": "moskva"}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/avito-scraper")
result = tool.invoke({"run_input": {"query": "велосипед", "region": "moskva"}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (40)
FieldTypeMeaning
itemIdstringPublic Avito listing ID.
urlstringPublic listing page without tracking parameters.
titlestringListing title. Private contacts are removed.
priceTextstringPrice text shown by Avito.
currencystringRUB when a numeric price is shown.
locationstringPublic location text.
addressstringPublic listing address, when shown.
categorystringSource category name.
postedAtstringPublication time in ISO 8601 UTC when Avito returns an exact timestamp.
descriptionstringListing description as plain text. Private phone numbers and email addresses are removed.
sellerTypestringSource seller type, when shown.
sourcestringData source: avito.ru.
sourceUrlstringPublic source page for the listing.
fetchedAtstringTime the row was fetched, in ISO 8601 UTC.
statusstringok for a listing that was read successfully; not_found for a listing that no longer exists.
descriptionPreviewstringShort description shown in search results. It may be cut off by Avito.
listingSummarystringShort specifications shown in the search card.
changeTypestringnew or changed when listing history is enabled.
pricenumberCurrent numeric price in RUB. A missing price is null, not zero.
latitudenumberPublic latitude.
longitudenumberPublic longitude.
categoryIdnumberSource category ID.
sellerRatingnumberPublic seller rating, rounded to two decimal places.
sellerReviewCountnumberPublic number of seller reviews.
viewsTotalnumberPublic total listing views.
viewsTodaynumberPublic listing views today.
modelRatingnumberPublic model rating.
modelReviewCountnumberTotal public reviews for the model.
imagesarrayAvailable public listing image links.
parametersarrayListing specifications shown by Avito.
productSpecsarrayModel specifications when available.
productReviewsarrayPublic model review text, ratings and original date labels. Review author names are excluded.
modelComparablesobjectPrice statistics for a sample of matching model offers. Null when this model has no comparison data.
isUnderpricedbooleanTrue when the price is at least 20% below other comparable prices on the same source search page; null when fewer than 10 prices are available.
priceWithoutDiscountnumberPrevious price in RUB when the source shows a higher old price.
discountPercentnumberPrice reduction as a positive percentage, based on the current and old prices.
districtIdnumberPublic source district ID, when returned.
metroIdnumberPublic source metro station ID, when returned.
verticalIdnumberSource vertical category ID, when returned.
imageCountintegerNumber of photos returned by the source.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search wordsquerystring"велосипед"
Regionregionstring"moskva"
Search linkssearchUrlsarray[]
More search phrasesqueriesarray[]
Listing linkslistingUrlsarray[]
Category pathcategoryPathstring
Maximum listingsmaxItemsinteger10
Read full listing detailsincludeDetailsbooleanfalse
Read model reviewsincludeReviewsbooleanfalse
Compare model pricesincludeComparablesbooleanfalse
Maximum reviews per listingmaxReviewsinteger1000
Minimum price (RUB)minPriceinteger
Maximum price (RUB)maxPriceinteger
Sort ordersortstring"relevance"
Seller typesellerTypestring"any"
Prefer the selected regionlocalOnlybooleanfalse
Only new listingsonlyNewbooleanfalse
Track changed listingstrackChangesbooleanfalse
History namestateNamestring
Skip listing IDsexcludeListingIdsarray[]
Skip listings without a numeric priceskipNegotiablePricebooleanfalse
Flag low prices in search resultsflagUnderpricedbooleanfalse
Maximum pages per searchmaxPagesPerSearchinteger100
Send results to (optional)deliveryConnectorstring
Notion page or channel (optional)deliveryTargetstring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure