Avito Listings Scraper: Prices, Details and New Ads
Pricing
from $2.52 / 1,000 listings
Avito Listings Scraper: Prices, Details and New Ads
Scrape public Avito listings by search words or links into clean rows with prices, locations, seller type, photos and full details. Add model reviews, price comparison and only-new monitoring. No phone numbers.
Pricing
from $2.52 / 1,000 listings
Rating
0.0
(0)
Developer
Cliqto Media
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Features
Share
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.
It suits price researchers, resellers, real estate and car analysts, and the smallest run is one search word with 10 listings in about 8–60 seconds for about $0.04–$0.07 on the FREE tier, with no Avito login.

Table of contents
- What it does
- How it works
- Quick start
- Use cases
- Input
- Output
- Pricing
- Limits
- API, export and integrations
- Troubleshooting
- FAQ
- Related Actors
- Support
What it does
The Actor takes search words, Avito search links or listing links from Avito.ru. It returns one row for each listing, with the title, price, location, category, publication time, seller type and link. You can add full details, public model reviews, model price statistics and only-new monitoring. It does not return phone numbers or personal email addresses, and it needs no Avito login.
Good fit
- 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.
How it works
- The Actor opens the public Avito searches or listing pages that you give it.
- It removes duplicates, applies your filters and reads the extra data that you turned on.
- It saves one Dataset row for each listing and writes a run summary with the stop reason.
Quick start
-
Open the input form. Keep the prefilled
велосипедin Search words or type your own words (box 1 in the picture). -
Keep
moskvain Region or paste a region from an Avito link, such assankt-peterburg(box 2). -
Keep
10in Maximum listings for a first test (box 3). -
Click Start.
-
Open the Output tab and check
title,priceandlocation(box 5).
Expected result: 10 rows, each with a title, a price, a location and a link to the listing.
Use cases
| Buyer job | Input path | Output entity | Key fields | Next integration |
|---|---|---|---|---|
| Compare prices of a product in a region | query, region, sort | Listing row | title, price, location, url | CSV or Excel export |
| Get new listings from a saved search | searchUrls, onlyNew, stateName | New listing row | itemId, changeType, price, url | Schedule and Slack or Notion summary |
| Watch price changes | searchUrls, trackChanges, stateName | Changed listing row | changeType, price, priceText, postedAt | Schedule, API or webhook |
| Value a home for sale | listingUrls, includeDetails | Detailed listing row | marketValuation, realtyReport, buildingListingHistory | JSON export |
| Study a product model | listingUrls, includeReviews, includeComparables | Listing row with model data | productReviews, modelRating, modelComparables | JSON export or API |
Input
Input fields
| Field | Plain name | Type | Required | Default / prefill | Allowed values | Effect | Example | Recommendation |
|---|---|---|---|---|---|---|---|---|
query | Search words | string | One search input is required | Prefill велосипед | Any text | Searches these words | велосипед | Use for one simple search |
region | Region | string | No | Default and prefill moskva | Region path from an Avito link; rossiya for all of Russia | Sets the search region | sankt-peterburg | Use rossiya for wide searches |
searchUrls | Search links | array of strings | One search input is required | Default [] | Public Avito search links | Keeps the link's category and filters | https://www.avito.ru/moskva/velosipedy | Best when you need Avito's own filters |
queries | More search phrases | array of strings | One search input is required | Default [] | Any text | Runs several phrases in region | ["велосипед", "самокат"] | Use for large volumes |
listingUrls | Listing links | array of strings | One search input is required | Default [] | Public listing links or numeric IDs | Reads these listings | 8075689687 | Use for exact listings |
categoryPath | Category path | string | One search input is required | Empty | Path after the region in an Avito link | Limits the search to a category | kvartiry/prodam | Copy it from an Avito link |
maxItems | Maximum listings | integer | No | Default and prefill 10 | 1–20000 | Limits saved rows across all inputs | 500 | Start small, then raise it |
includeDetails | Read full listing details | boolean | No | false | true, false | Adds descriptions, photos, parameters and coordinates | true | Slower and costs more per row |
includeReviews | Read model reviews | boolean | No | false | true, false | Adds public model reviews for supported products | true | Use with listing links of products |
includeComparables | Compare model prices | boolean | No | false | true, false | Price statistics, up to 35 offers (10 if limited) | true | Check modelComparables.region |
maxReviews | Maximum reviews per listing | integer | No | 1000 | 1–10000 | Limits reviews for each listing | 100 | Lower it to control cost |
minPrice | Minimum price (RUB) | integer | No | Empty | 0 or more | Keeps listings at or above this price | 5000 | Not above maxPrice |
maxPrice | Maximum price (RUB) | integer | No | Empty | 0 or more | Keeps listings at or below this price | 20000 | Not below minPrice |
sort | Sort order | string | No | relevance | relevance, newest, cheapest, expensive | Sets the Avito order | newest | Use newest for monitoring |
sellerType | Seller type | string | No | any | any, private, company | Filters by seller | private | None |
localOnly | Prefer the selected region | boolean | No | false | true, false | Asks Avito to prioritize region | true | Avito can still show nearby listings |
onlyNew | Only new listings | boolean | No | false | true, false | Skips listing IDs from earlier runs | true | Keep the same input or stateName |
trackChanges | Track changed listings | boolean | No | false | true, false | Returns new and changed listings | true | Keep the same input or stateName |
stateName | History name | string | No | Empty | Letters, digits, -, _; up to 64 characters | Names a shared listing history | bikes-moscow | Use for scheduled runs |
excludeListingIds | Skip listing IDs | array of strings | No | Default [] | Numeric IDs | Skips these listings | ["8075689687"] | None |
skipNegotiablePrice | Skip listings without a numeric price | boolean | No | false | true, false | Drops rows with no numeric price | true | Useful for price statistics |
flagUnderpriced | Flag low prices in search results | boolean | No | false | true, false | Compares each row with its source page | true | Needs at least 10 prices |
maxPagesPerSearch | Maximum pages per search | integer | No | 100 | 1–100 | Stops a search after this many pages | 5 | Lower it to control cost |
deliveryConnector | Send results to | connector | No | Empty | Your Slack, Notion or other MCP connector | Posts a short summary after the run | Your connector | Optional |
deliveryTarget | Notion page or channel | string | No | Empty | Notion page link or Slack channel ID | Sets where the summary goes | C0123456789 | Optional |
checkIn | Check-in date | string | With checkOut | Empty | YYYY-MM-DD | First night of a short-term rental | 2026-12-10 | Leave query empty |
checkOut | Check-out date | string | With checkIn | Empty | YYYY-MM-DD, after checkIn | Departure date | 2026-12-13 | Leave query empty |
guests | Adult guests | integer | With childAges | Empty | 1–50 | Sets the number of adults | 2 | Leave query empty |
childAges | Children ages | array of integers | No | Default [] | 0–17 | Adds children to the rental search | [4, 9] | Also set guests |
Empty input: the run stops with INPUT_SEARCH_REQUIRED and saves nothing. Give one of query, queries, searchUrls, listingUrls or categoryPath.
Arrays hold plain strings, one item per line in the form. The form accepts up to 20,000 saved rows per run, see Limits for what was tested. A listing that appears in several searches is saved once and counted once.
Interacting settings
| When | Input A | Input B | Effective behavior | Example | Cost/result effect |
|---|---|---|---|---|---|
| You give links and words | searchUrls or listingUrls | query, queries | Links run. The words are ignored. | A link and query | Only the link is read |
| You give phrases and words | queries | query | queries runs. query is ignored. | Two phrases and query | Two searches |
| Your link has a sort | searchUrls | sort | The sort in the link wins. | Link with s=104 | None known |
| You set filters and a link | searchUrls | minPrice, maxPrice, sellerType | The filters also apply to the link. | Link and maxPrice | Fewer rows |
| You set a price range | listingUrls or any search | minPrice, maxPrice | Rows outside the range are skipped, even when Avito returned them. | Link and maxPrice | Skipped rows are not charged |
| You turn on model data | includeReviews, includeComparables | includeDetails | Full details are also read. | Reviews on | detail-enriched is charged |
| You turn on both monitors | onlyNew | trackChanges | trackChanges wins: new and changed rows return. | Both on | More rows than onlyNew |
| You search rentals by date | checkIn, checkOut, guests | query | With words, the run stops with SOURCE_RENTAL_FILTERS_UNCONFIRMED. | Dates and query | No rows, only small charges |
Input examples
Quick test
{"query": "велосипед","region": "moskva","maxItems": 10}
Expected behavior: the Actor reads one search and stops at 10 rows.
Expected output: listing rows with title, price, location and url.
Limit or cost note: about $0.04–$0.07 on the FREE tier.
Several searches across Russia
{"queries": ["велосипед", "самокат", "ноутбук"],"region": "rossiya","maxItems": 450}
Expected behavior: the Actor runs the phrases in order until it has 450 unique rows. Expected output: 450 listing rows. Limit or cost note: about 1–4 minutes and $1.66–$1.96 on the FREE tier.
One product with reviews and price statistics
{"listingUrls": ["https://www.avito.ru/moskva/telefony/iphone_17_256_gb_8095557352"],"includeDetails": true,"includeReviews": true,"includeComparables": true,"maxReviews": 100}
Expected behavior: the Actor reads the listing, its model reviews and its price comparison.
Expected output: one row with productReviews, modelRating and modelComparables.
Limit or cost note: about 10–45 seconds and $0.03–$0.05 on the FREE tier. Avito does not always return price statistics, so modelComparables can be null.
Daily new listings
{"searchUrls": ["https://www.avito.ru/moskva/velosipedy"],"maxItems": 100,"sort": "newest","onlyNew": true,"stateName": "bikes-moscow"}
Expected behavior: the first run saves up to 100 rows. Later runs save only IDs that were not delivered before. They also go further down the search, so they can return older listings until the search has no unseen IDs left.
Expected output: rows with changeType set to new.
Limit or cost note: a run with nothing unseen saves 0 rows and pays only the start and source reads. Lower maxItems if you want fewer older rows per run.
Short-term rental for exact dates
{"query": "","categoryPath": "kvartiry/sdam/posutochno","region": "moskva","maxItems": 3,"checkIn": "2026-12-10","checkOut": "2026-12-13","guests": 2}
Expected behavior: the Actor checks that Avito accepted the dates and guests, then saves the rentals.
Expected output: rental rows with title, price, location and url.
Limit or cost note: use only with an empty query.
Output
Output fields
| Field | Meaning | Type | Can be empty? | Example / enum | Source / notes |
|---|---|---|---|---|---|
itemId | Avito listing ID | string | No | 8075689687 | Unique within a run |
url | Listing link | string | No | https://www.avito.ru/moskva/... | Public page |
title | Listing title | string | Yes, for not_found | Велосипед горный 26'' | As shown on Avito |
price | Price as a number | number | Yes | 7500 | null means no numeric price, not zero |
priceText | Price as shown | string | Yes | 7 500 ₽ | Keeps the unit, such as per day |
currency | Currency | string | Yes | RUB | |
priceWithoutDiscount | Price before discount | number | Yes | 9900 | Only when Avito shows it |
discountPercent | Discount size | number | Yes | 24 | Only when Avito shows it |
location | Place of the listing | string | Yes | Москва, ул. Лескова, 19Ас2 | |
address | Address as shown | string | Yes | Москва, ул. Лескова, 19Ас2 | Public text only |
latitude, longitude | Coordinates | number | Yes | 55.894085 | Often needs details |
districtId, metroId, verticalId | Avito location and section IDs | number | Yes | 625 | Avito's own IDs |
category | Category name | string | Yes | Горные | |
categoryId | Category ID | number | Yes | 34 | |
breadcrumbs | Category path | array | Yes | ["Хобби и отдых", "Велосипеды"] | |
postedAt | Publication time | string | Yes | 2026-10-31T17:06:46.000Z | ISO date in UTC |
sellerType | Seller type | string | Yes | private, company | |
sellerRating | Seller rating | number | Yes | 5 | |
sellerReviewCount | Seller review count | number | Yes | 442 | |
sellerVerified | Verified seller mark | boolean | Yes | false | |
description | Listing text | string | Yes | Text | Phone numbers and emails are removed |
descriptionPreview | Short listing text | string | Yes | Text | Phone numbers and emails are removed |
listingSummary | Short summary | string | Yes | Text | Built from public fields |
images | Photo links | array | Yes | ["https://..."] | |
imageCount | Number of photos | number | Yes | 5 | |
imageAlt | Photo text | string | Yes | Велосипед горный 26'', Москва | Often empty in search rows |
parameters | Listing parameters | array | Yes | [{"name": "Состояние", "value": "Новое"}] | Guaranteed with includeDetails |
viewsTotal, viewsToday | View counts | number | Yes | 16248 | Guaranteed with includeDetails when Avito shows them |
isNegotiable | Negotiable price mark | boolean | Yes | null | Only when Avito shows it |
isDeliveryAvailable | Delivery mark | boolean | Yes | false | |
hasInstallments | Installments mark | boolean | Yes | null | |
badges | Listing badges | array | Yes | [] | |
modelRating, modelReviewCount | Product model rating | number | Yes | 4.8 | Supported products |
productSpecs | Product model specs | array | Yes | Array | Supported products |
productReviews | Public model reviews | array | Yes | Array | includeReviews; author names are excluded |
modelComparables | Model price statistics | object | Yes | {"offersCount": 78, "region": "chelyabinsk", "sampleSize": 35, "priceMedian": 68390} | includeComparables; Avito chooses the region |
vehicleHistory | Public vehicle history | object | Yes | Object | Car listings with details |
carMarketPrice | Avito car price estimate | object | Yes | Object | Car listings with details |
marketValuation | Avito home price estimate | object | Yes | {"estimatedPrice": 8640000, "comparableCount": 392} | Supported homes with details |
realtyReport | Home report | object | Yes | Object | Supported homes with details |
buildingListingHistory | Listing history of the building | array | Yes | Array | Supported homes with details |
priceHistory | Price history | array | Yes | Array | Only when Avito shows it |
isUnderpriced | Low price mark | boolean | Yes | true | flagUnderpriced |
priceVsMedian | Price against the page median | number | Yes | -0.24 | flagUnderpriced |
priceComparisonMedian | Median used for the comparison | number | Yes | 12000 | flagUnderpriced |
priceComparisonSampleSize | Prices in the comparison | number | Yes | 25 | At least 10 |
priceComparisonScope | What was compared | string | Yes | source-page | Only the same source page |
changeType | Monitor result | string | Yes | new, changed | onlyNew or trackChanges |
status | Row status | string | No | ok, not_found | not_found means a closed or missing listing |
enrichmentStatus | Extra data status | string | Yes | partial | Some requested data did not arrive |
enrichmentError | Why data is missing | string | Yes | Code | Read with enrichmentStatus |
source | Data source | string | No | avito.ru | |
sourceUrl | Page that gave the row | string | No | Link | |
fetchedAt | Time of the read | string | No | 2026-11-07T03:22:15.474Z | ISO date in UTC |
Output entities and surfaces
| Situation | Dataset/API/KVS/live view | Result shape | User action |
|---|---|---|---|
| Normal item | Dataset views Listings, Model details and Listing details; RUN_SUMMARY in the Key-value store | One row for each listing | Open, export or use itemId as the key |
| Domain-empty result | Empty Dataset; RUN_SUMMARY with savedItems 0; status SUCCEEDED | No rows | Check words, region, price range and filters |
| Partial result | Dataset row with enrichmentStatus set to partial; RUN_SUMMARY.partial and stopReason | Saved rows with some empty fields | Read enrichmentError, then run those links again |
| Closed listing | Dataset row with status set to not_found | Row with itemId and url | Remove it from your list |
| Technical failure or retry | Run status FAILED; RUN_SUMMARY.stopReason; rows saved so far stay | Rows saved before the stop | Read the code in Troubleshooting, then retry |
Output example
{"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"}
This example is trimmed and shows one row from the Quick test input. null or a missing field means Avito did not show that value in this read. Detail fields can appear without includeDetails when the Actor has to read the listing page, but only includeDetails guarantees that it tries to read them.
Send results to Slack or Notion
Pick your connector in the optional deliveryConnector field. After the run saves its data, the Actor posts a short summary (up to 25 rows and a link to the full dataset) there. Put a Notion page link or a Slack channel ID in deliveryTarget: in Notion every run is added on top of that one page, so your workspace does not fill up with new pages. A delivery error never fails the run and costs nothing extra. Connect a service once in Apify Console → MCP connectors.
Use case → fields
| Buyer job | Input path | Output entity | Key fields | Next integration |
|---|---|---|---|---|
| Compare prices | query, region | Listing row | price, location | CSV or Excel |
| New-listing alerts | searchUrls, onlyNew | New listing row | itemId, changeType | Slack or Notion summary |
| Price change log | searchUrls, trackChanges | Changed listing row | changeType, price | API or webhook |
| Home valuation | listingUrls, includeDetails | Detailed row | marketValuation, realtyReport | JSON export |
| Model research | listingUrls, includeReviews | Row with reviews | productReviews, modelRating | JSON export |
Pricing
Pricing unit
The Actor uses pay-per-event pricing. Platform usage is included: you pay only for these events.
| Event | What it pays for | FREE | BRONZE | SILVER | GOLD and above |
|---|---|---|---|---|---|
listing-scraped | One saved listing row | $0.0036 | $0.00324 | $0.00288 | $0.00252 |
source-read | One unit of reading the source | $0.0003 | $0.00027 | $0.00024 | $0.00021 |
detail-enriched | One listing with full details | $0.0021 | $0.00189 | $0.00168 | $0.00147 |
review-scraped | One saved model review | $0.0005 | $0.00045 | $0.0004 | $0.00035 |
apify-actor-start | One run start, per GB of memory | $0.003 | $0.003 | $0.003 | $0.003 |
The start fee scales with run memory (per GB). At the default 512 MB it is one event, $0.003.
source-read depends on what Avito returns, so the same input can use a different count in two runs. Measured counts: 0.3–10 per row for search rows, 8–14 per row with includeDetails. A monitoring run with few new rows uses more per row, because it also reads the rows that it skips: 8–23 per row in our tests.
Runs with no results still pay. A valid search with no matches, a filter with no matches and a monitoring run with no new listings save 0 rows and pay the start and source-read. An invalid input stops before it reads the source and pays only the start. A partial or failed run pays for the work done before the stop, and its saved rows stay. detail-enriched is charged only when the Actor read details at your request. The maximum cost per run setting is respected: the run stops with CHARGE_LIMIT, and its status stays SUCCEEDED. The smallest allowed limit is $0.02.
Cost examples
Amounts are for the FREE tier, from real runs. Base charge = start + saved rows + source reads. Rows marked "earlier build" were measured on an earlier build of this Actor and priced at the current rates.
| Scenario | Input scope | Expected item/event count | Base charge | Optional charge | Stop/cap behavior |
|---|---|---|---|---|---|
| Quick test | One search, 10 rows | 10 rows, 15–99 reads | $0.044–$0.069 | None | Stops at maxItems |
| Several searches | 3 phrases, 450 rows | 450 rows, 123–1,137 reads | $1.66–$1.96 | None | Stops at maxItems |
| Large search, earlier build | 6 phrases, 5,000 rows | 5,000 rows, 3,893 reads | $19.17 | None | Needs a timeout of 1 hour |
| Form maximum, earlier build | 40 phrases, 20,000 rows | 20,000 rows, 21,496 reads | $78.45 | None | Needs a timeout of 2 hours |
| Details | One search, 20 rows | 20 rows, 274 reads | $0.157 | $0.042 details | Stops at maxItems |
| Details, larger | One search, 190 rows | 190 rows, about 1,600 reads | $1.16–$1.17 | $0.399 details | Stops at maxItems |
| Home with valuation | One listing | 1 row, 47 reads | $0.021 | $0.0021 details | Stops after the listing |
| Model with reviews | One listing, 38 reviews | 1 row, 17–88 reads | $0.012–$0.033 | $0.021 details and reviews | Stops after the reviews |
| No matches | One search | 0 rows, 16–24 reads | $0.0078–$0.0102 | None | Ends when Avito has no more results |
| Monitor, nothing new | Same listing links | 0 rows, 0 reads | $0.003 | None | Ends after the history check |
| No matches, wide | 40 phrases | 0 rows, 567 reads | $0.173 | None | Ends when all phrases finish |
| Cost cap | Maximum cost $0.03 | 4 rows, 38 reads | $0.03 or less | None | Stops with CHARGE_LIMIT |
Limits
- 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.
- The form accepts up to 20,000 rows per run. Set the maximum cost per run high enough: 20,000 rows cost about $78 on the FREE tier.
- Avito can refuse some reads. The Actor retries and then keeps the rows it has, with
SOURCE_BLOCKEDin 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.
onlyNewremembers the latest 50,000 delivered IDs.flagUnderpricedcompares only rows from the same source page and category. It is not a market estimate.modelComparablesholds up to 35 offers from a region that Avito chooses, or up to 10 when Avito limits the direct route.sampleSizeshows the real number. Avito does not always return it.- Results reflect Avito at the time of the read. The Actor does not promise that it finds every listing.
API, export and integrations
- API: start a run with the Apify API and the same JSON input. Rows arrive in the default Dataset. Use
itemIdas the key. - Export: download the Dataset as JSON, CSV, Excel, XML or HTML. Table systems read
title,price,locationandurl. - Scheduling: run a search on a schedule with
onlyNewortrackChangesand onestateName. The next system readschangeType. - Webhooks / no-code: send the run-finished event to your system, then read the Dataset by its ID.
RUN_SUMMARY.stopReasontells how the run ended. - Slack or Notion: set
deliveryConnectorto get a short summary with a link to the full Dataset.
Use with AI agents (MCP)
MCP server URL with only this Actor: https://mcp.apify.com?tools=cliqtomedia/avito-scraper
Smallest useful input:
{"query": "велосипед","region": "moskva","maxItems": 10}
Key output fields:
title: the listing title.price: the price in rubles, ornullwhen no numeric price is shown.location: the place of the listing.url: the public listing link.status:ok, ornot_foundfor a closed listing.
A run of 10 rows takes about 8–60 seconds and costs about $0.04–$0.07 on the FREE tier. The form accepts up to 20,000 rows per run, the current version was tested up to 450, and the default 300-second timeout fits about 550–1,000 rows. No phone numbers are returned.
Troubleshooting
The run failed with INPUT_SEARCH_REQUIRED
Symptom: the run fails at once and saves no rows.
Likely reason: the input has no search words, links or category.
Check: look at query, queries, searchUrls, listingUrls and categoryPath.
Action: fill at least one of them.
The run failed with another INPUT_ code
Symptom: the run fails at once with INPUT_INVALID, INPUT_URL_INVALID, INPUT_LISTING_URL_INVALID, INPUT_PRICE_RANGE, INPUT_RENTAL_DATES or INPUT_RENTAL_GUESTS.
Likely reason: a link is not an Avito link, minPrice is above maxPrice, or a date or guest field is wrong.
Check: read the status message of the run.
Action: fix the field and start again.
The run saved 0 rows
Symptom: the status is SUCCEEDED and the Dataset is empty.
Likely reason: Avito has no listings for this search, or filters removed all of them.
Check: open the same search on Avito and read examinedItems and excludedItems in RUN_SUMMARY.
Action: use wider words, another region or wider filters.
The run stopped with SOURCE_BLOCKED
Symptom: the run has status SUCCEEDED and fewer rows than maxItems. If no rows were saved, the status is FAILED with this code.
Likely reason: Avito refused some searches or listing pages after the retries. A long run can also end early, when a stretch of failed reads uses up its traffic limit.
Check: read warnings and completedInputs in RUN_SUMMARY.
Action: keep the saved rows and run the rest later.
The run failed with SOURCE_HTTP_403, SOURCE_HTTP_429 or SOURCE_SEARCH_FAILED
Symptom: the status is FAILED and no rows were saved. Likely reason: Avito refused every search at its start, so there is nothing to return. Check: read the status message of the run. Action: run it again later. The run pays only for what it read.
The run ended with SOURCE_DETAILS_PARTIAL
Symptom: the status is SUCCEEDED and some rows have enrichmentStatus set to partial.
Likely reason: Avito did not return the details of some listings, or limited the reads of a model. A model row can then have fewer reviews than asked and no modelComparables. Reviews already read stay in the row.
Check: read enrichmentError in those rows.
Action: run those listings again through listingUrls.
The run stopped with MEMORY_LIMIT
Symptom: the status is SUCCEEDED and the run saved fewer rows than maxItems.
Likely reason: the run came close to its memory limit.
Check: read warnings in RUN_SUMMARY.
Action: split the job into several runs. If you lowered memory to 256 MB, go back to 512 MB.
Rows do not match my words or region
Symptom: some rows are from another city or about something else.
Likely reason: Avito widens a narrow search when it has few exact matches.
Check: open the same search on Avito.
Action: use a category in categoryPath, turn on localOnly or filter by location after the run.
The run stopped with SOURCE_RENTAL_FILTERS_UNCONFIRMED
Symptom: a rental run fails with no rows.
Likely reason: dates and guests work only in a rental category without search words.
Check: look at query and categoryPath.
Action: leave query empty and use kvartiry/sdam/posutochno or a rental search link.
The run stopped with CHARGE_LIMIT
Symptom: the run has status SUCCEEDED and fewer rows than maxItems.
Likely reason: it reached your maximum cost per run.
Check: read stopReason in RUN_SUMMARY.
Action: raise the limit or lower maxItems.
The run ended with SOURCE_PAGE_LIMIT
Symptom: one search gave fewer rows than maxItems.
Likely reason: the search reached maxPagesPerSearch.
Check: read pageLimitedInputs in RUN_SUMMARY.
Action: raise maxPagesPerSearch or split the search into narrower ones.
The run timed out
Symptom: the status is TIMED-OUT.
Likely reason: the timeout is too short for maxItems.
Check: compare the saved rows with maxItems. Saved rows stay in the Dataset.
Action: set a longer timeout. Allow up to about 10 minutes per 1,000 search rows.
Some rows have enrichmentStatus set to partial
Symptom: the row exists, but details or model data are missing.
Likely reason: Avito did not return this part.
Check: read enrichmentError in the row.
Action: run this listing again through listingUrls.
FAQ
Do I need an Avito account or proxies?
No. You need only an Apify account. The Actor reads public pages and handles access itself.
Does it return phone numbers?
No. Phone numbers and personal emails are not collected, and they are removed from descriptions. Author names of model reviews are also excluded.
Why did I pay for a run with 0 rows?
The Actor still has to read Avito to learn that nothing matches. A run like this pays the start and source-read, about $0.01 on the FREE tier for one search.
Why is price empty?
The listing shows no numeric price. price is null, not zero. Turn on skipNegotiablePrice to drop these rows.
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.
Related Actors
- Facebook Marketplace Scraper - Prices & Price Drops, No Login: another source of local listings and prices.
- Craigslist Scraper - Listings, Prices & Photos, No Login: local listings with prices and photos.
- eBay Search Scraper: Active Listings & Prices, No Login: active marketplace listings and prices.
- AutoScout24 Scraper - EU Car Listings & Prices, No login: car listings and prices in Europe.
Support
For a bug, question or feature request, open the Issues tab of this Actor on Apify. Include the run ID, the input mode and the error text or stopReason. Never send tokens, cookies, private data or billing data.

