Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Avito Seller Listings & Profile Scraper icon

Avito Seller Listings & Profile Scraper

Get an Avito seller's active listings from their profile link, with price, category and photos, plus the seller's rating, reviews and member-since date.

108 runs on Apify $0.0003 per listing ($0.3 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust sellerUrls, maxItems, sortBy (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0003 per listing = $0.3 per 1,000

You are charged forWhenPrice
Listing scrapedOne Avito listing returned in the dataset. Repeats, and sellers that don't exist or have nothing listed, are never charged.$0.0003

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-09-13, and they are what you are actually charged.

Inputs

FieldWhat it doesType
sellerUrlsLinks to Avito seller profiles, up to 10 per run. Any form Avito uses works: www.avito.ru/brands/{shop name}, www.avito.ru/brands/{id} or www.avito.ru/user/{id}/profile, and so do m.avito.ru links or links with /all or ?src=... on the end. A link to a single listing won't work: open the seller's profile from the listing and copy that link.array
maxItemsTotal listings for the whole run, across every seller. Each listing returned is charged. Avito stops showing a seller's listings after page 100, which is 1,200 or 1,500 listings depending on the seller, so a bigger seller ends there whatever this says.integer
sortByThe order each seller's listings come back in. Avito sorts the seller's grid itself. If Avito will not sort a seller that way, that seller is skipped and nothing is charged for it.string

What you get

A structured dataset — each result includes fields like:

profileNametitlepricecategoryNamelocationpublishedAturlprofileAccountTypeprofileRatingprofileReviewCountprofileActiveListings

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.

2 use cases

See all Developer & Research Tools →

Avito Seller Scraper: everything one Avito seller has up, plus their profile

Paste up to 10 Avito seller profile links and every active listing comes back as a row: title, price, category, city, photos and the link. The seller's own details ride on every row too, so you never have to join anything: name, private or business, member-since date, rating, review count, subscribers, active and closed listing counts, and their badges.

The ceiling first, because it surprises people. Avito stops showing a seller's grid at page 100. That is 1,200 listings on the 12-per-page layout and 1,500 on the 15-per-page one, and it is Avito's limit, not a setting here. A seller with 7,467 active listings still ends at 1,200. On big sellers whose grid is ranked rather than newest-first, the pages also shuffle while they are read: one measured 1,200-slot walk gave 1,009 unique listings and 191 repeats. The repeats are dropped and never billed, but what they displaced is not reachable.

InputAvito seller profile links, up to 10 per run
OutputOne row per active listing, with the seller's profile on it
CeilingPage 100 per seller, so 1,200 or 1,500 listings depending on the layout
Account neededNone, and nothing to install
Price$0.30 per 1,000 listings, flat on every plan

🏪 What Avito Seller Scraper does

It opens each profile you give it, reads the seller card, then walks the listing grid page by page until the seller runs out or the run hits your limit.

Every link shape Avito uses is accepted: /brands/<shop name>, /brands/<id>, /user/<id>/profile, m.avito.ru links, and links with /all or a ?src= tail. A link to one listing is the only thing that does not work. Open the seller's profile from it and copy that link.

Listings are de-duplicated by id across the whole run, so a seller pasted twice is walked once and the same listing is never billed twice. Rows are written page by page, so a run that stops early keeps what it had already delivered.

📥 What you give it

{
  "sellerUrls": [
    "https://www.avito.ru/brands/appledg-store",
    "https://www.avito.ru/user/5f0a4e3d9bcf6a2e1d7c8b0a/profile"
  ],
  "maxItems": 100
}
FieldDefaultWhat it is
sellerUrlsbox starts at one example shopSeller profile links, 1 to 10 per run. Required.
maxItems1000, and the box starts at 100Total listings for the whole run across every seller, up to 15,000. A big seller still stops at Avito's own page-100 ceiling whatever you put here.
sortBydefaultThe order listings come back in: default is Avito's own order, price_asc cheapest first, price_desc most expensive first. Avito sorts the grid itself. There is no newest-first choice, because Avito's date order uses a date the rows do not carry.

maxItems is a run total, not a per-seller figure, so the first seller in a list of ten can use the whole allowance. Split the sellers across runs if you want each one covered.

📤 What you get back

A real row from a recent run, with the description and the photo list trimmed:

{
  "listingId": "8282950159",
  "title": "iPhone 17 Pro Max, 1 ТБ",
  "description": "IPhone 17 Pro Max 512GB.\nCosmic Orange (Космический оранжевый)...",
  "price": 107990,
  "priceText": "107 990 ₽",
  "currency": "RUB",
  "categoryName": "Телефоны",
  "categorySlug": "telefony",
  "location": "Москва",
  "address": "Москва",
  "latitude": 55.794411,
  "longitude": 37.591988,
  "sellerName": "Apple UP – бери выше, плати меньше",
  "sellerType": "company",
  "publishedAt": "2026-09-20T14:09:08.000Z",
  "publishedAtText": "20 сентября 17:09",
  "images": ["https://80.img.avito.st/image/1/1.jJrwjLaAIHOGIuJ85J6Jg-ssIndCOyRzQlxBd0LvL7FL..."],
  "imageCount": 7,
  "params": "Новый",
  "url": "https://www.avito.ru/moskva/telefony/iphone_17_pro_max_1_tb_8282950159",
  "searchQuery": null,
  "searchUrl": "https://www.avito.ru/brands/appleup",
  "scrapedAt": "2026-09-20T14:29:33.015Z",
  "profileId": "8c7654ef974990c2fd8ca738f97f29e1",
  "profileUrl": "https://www.avito.ru/brands/appleup",
  "profileName": "Apple UP – бери выше, плати меньше",
  "profileAccountType": "business",
  "profileType": "company",
  "profileMemberSince": "2020-05",
  "profileMemberSinceText": "На Авито с мая 2020",
  "profileRating": 5,
  "profileReviewCount": 10413,
  "profileSubscribers": 17721,
  "profileActiveListings": 471,
  "profileClosedListings": 392,
  "profileBadges": ["Надёжный продавец", "9090 продаж с Авито Доставкой", "яПомогаю"],
  "inputUrl": "https://www.avito.ru/brands/appleup"
}
FieldWhat it is
descriptionThe preview Avito prints on the grid, cut off by Avito itself. Not the full ad body.
profileAccountTypeprivate or business. profileType keeps Avito's own word, which is person, company or shop.
profileMemberSince2020-05, or a full date like 2026-08-24 when Avito prints the day. The Russian text is in profileMemberSinceText.
profileRatingnull until the seller has any reviews. profileReviewCount is the number as a number.
profileActiveListingsWhat Avito says the seller has up. On a large seller this is higher than the rows you get, because of the page-100 ceiling.
profileBadgesAvito's badge text exactly as printed.
searchQueryAlways null here, because there was no search. searchUrl holds the seller page the row came from.
latitude, longitudeOnly when the seller added a location.
The restSame names and meanings as the listings scraper, so rows from both load into one table.

🧾 Reading the output

The dataset holds listing rows and nothing else. There are no diagnostic rows and no charged field to filter on. Everything about how the run went is in a key-value store record called RUN_REPORT, which you will find on the Storage tab of the run.

It holds the run totals and the stop reason, then one entry per seller: status, profile id and name, how many listings Avito claimed, how many were reachable, how many came back, pages loaded, pages failed, duplicates skipped and why that seller stopped. Links that were not seller profiles are listed separately with a reason.

statusWhat it means
okThe seller was read.
not-foundNo such seller. Avito answers this at HTTP 200, so the run detects it rather than seeing an error.
no-listingsA real profile with nothing currently up.
duplicateThe same seller appeared twice in your list. Walked once.
unreachableThe profile could not be loaded after repeated attempts.
unreadableThe page loaded but did not contain a profile this could parse.
sort-not-appliedYou asked for a price order and Avito did not return that seller sorted that way. Nothing was charged for it.
error, skippedSomething else went wrong, or the run had already hit its limit.

The run ends as FAILED, rather than quietly succeeding, when none of your links was a seller profile and when no seller could be loaded at all.

▶️ How to run it

1. Open Avito Seller Scraper and click Try for free. 2. Paste profile links into Seller profile links, one per line, up to 10. Replace the example. 3. Set Maximum listings. Start at 20 to see what the rows look like. 4. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the Apify API. 5. Open the run's Storage tab and read RUN_REPORT if any seller came back light.

💰 How much does it cost?

$0.30 per 1,000 listings. Flat on every Apify plan, with no volume tiers.

One billed row per listing delivered. A seller that does not exist is not billed, a profile with nothing up is not billed, the same seller pasted twice is not billed twice, and a listing the grid shows again on a later page is dropped before the dataset.

💡 What people use it for

  • Pulling a competitor's whole catalogue with prices, then re-running to see what sold and what was

added.

  • Qualifying a seller before dealing with them, using rating, review count, member-since and the

active-versus-closed split that rides on every row.

  • Building a dealer or agency list for one market, where profileAccountType separates shops from

private sellers.

  • Watching a shop's pricing over time, since listingId is stable between runs.
  • Taking a seller found through a search and getting everything else they have up.

🚧 What it does not do

  • It cannot go past Avito's page 100. 1,200 or 1,500 listings per seller depending on the

layout, however many the profile claims.

  • Big ranked grids shuffle while they are read. One measured walk of 1,200 slots returned 1,009

unique listings and 191 repeats. Smaller sellers whose grids are time-ordered came back with no repeats at all across three runs.

  • No phone numbers, and no reviews. This reads the profile card and the grid.
  • No sold or closed listings. profileClosedListings gives you the count, not the listings.
  • A listing link will not work. Only profile links.
  • description is the grid preview, truncated by Avito.
  • 10 sellers per run. Run again for more.
  • A big run can come back short. Avito rate-limits hard, a page it will not serve is recorded

in RUN_REPORT rather than guessed at, and only delivered listing rows are billed.

🧭 Which Russian-market scraper do you need?

If you wantUse
Everything one seller has up, plus their profileThis one
Ads from a search, a category or a cityAvito Listings Scraper
Reviews for a place on Yandex MapsYandex Maps Reviews Scraper
Businesses and their details from 2GIS2GIS Places Scraper
Reviews from 2GIS2GIS Reviews Scraper

❓ Questions people ask

I pasted a listing link and got nothing. That is expected. Open the seller's profile from the listing page and paste that link instead.

Why did I get fewer rows than profileActiveListings says? Either the run hit your maxItems, or the seller is past Avito's page-100 ceiling. RUN_REPORT tells you which.

Is profileRating ever missing? It is null until the seller has reviews. A brand new seller has no rating to report.

Can I mix sellers from different cities? Yes. Each row carries its own location, and the profile fields identify which seller it came from.

Can I schedule it? Yes. listingId is stable, so diffing runs shows what the seller added and what went.

Is this legal? These are public seller pages and public ads. They carry personal data, which GDPR and similar laws cover, so have a reason for collecting it. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the profile link and the run ID, and if you can, the RUN_REPORT record from that run's Storage tab. The per-seller status in it usually names the problem on its own.