AvtoPro.ua Competitor Price Checker avatar

AvtoPro.ua Competitor Price Checker

Pricing

from $10.00 / 1,000 part price checkeds

Go to Apify Store
AvtoPro.ua Competitor Price Checker

AvtoPro.ua Competitor Price Checker

Know what every seller on avtopro.ua charges for the parts you sell. Give it a list of part numbers and get back the lowest price, the average, and every individual offer with the seller's name, rating, delivery time and the country the stock ships from.

Pricing

from $10.00 / 1,000 part price checkeds

Rating

0.0

(0)

Developer

Mark Slipenkyi

Mark Slipenkyi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

AvtoPro Competitor Price Checker

Check what your competitors charge on avtopro.ua, the Ukrainian auto parts marketplace. Give this Actor a list of part numbers and it returns the lowest price, the average price, how many sellers carry the part, and a full row for every individual offer on the page.

It is built for parts dealers and distributors who need to price a catalogue against the market, and for anyone tracking how competitor pricing moves over time. A run of 10 parts takes two to three minutes.

You do not need a browser, a scraping stack, or a proxy of your own. Paste part numbers, press Start, and export the results as JSON, CSV, or Excel.

What you get for each part

Every part produces one dataset item containing the headline figures and a nested listings array with one entry per competitor offer:

  • lowest_price, average_price and seller_count for the exact part code you searched
  • currency, the unit those prices are quoted in, taken from the page rather than assumed
  • listings, holding every priced offer on the page: price, brand, new or used, the city it ships from, delivery time in days, warehouse country, and rank in the results
  • boosted, which flags sellers who paid to rank above where they placed organically
  • url, a direct link to each individual offer
  • link, the AvtoPro search page the data came from
  • truncated, normally false, set true on the rare part with so many offers that the fetch hit its per-part budget before the page ran out of rows. The figures are then a floor rather than the whole market. The busiest part tested, with 633 offers, used under half the budget.

AvtoPro pools the part you searched together with its cross-referenced analogues under identical markup. A search for 03D906051 returns close to 200 rows spanning many part codes, of which 11 are that part. Every row carries an exact_match flag so you can tell them apart. The headline prices are calculated from the exact matches only, because averaging a Bosch coil against an NGK equivalent describes the category rather than your competition. The analogues stay in the output if you want to price against them too.

How to use it

  1. Open the Actor and press Start. The input comes prefilled with 10 real part numbers, so you can see the output shape before typing anything.
  2. Replace the sample parts with your own codes. Add maker where you know it, which helps when a part number is ambiguous.
  3. Press Start and wait. Results appear in the Output tab as they arrive.
  4. Export as JSON, CSV, or Excel, or pull the dataset from the Apify API.

Runs can be scheduled, so a weekly price check needs no manual work after the first setup.

Input

{
"items": [
{"item_id": "620939134R", "maker": "Renault", "description": "Rear bumper absorber", "origin_price": 950},
{"item_id": "03D906051", "maker": "VAG", "description": "Ignition coil", "origin_price": 260}
],
"proxyConfiguration": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
}

items is the only required field. item_id is the part code as AvtoPro lists it. The other three fields are optional: description and origin_price pass straight through to the output so you can compare your own price against the market, and maker improves search accuracy when a code matches several brands.

proxyConfiguration needs a residential proxy. AvtoPro blocks datacenter addresses even at low request rates, so the default is Apify's residential pool. If you have your own provider, choose Custom proxies and paste your URLs instead. You do not need to pin a country, though see the currency note below if you care which one you get.

maxConcurrency controls how many parts are fetched at once and defaults to 8. Each part is fetched through its own proxy session, so the parts do not queue behind one address. Pushing it higher gets faster still but starts costing you parts to rate limiting, and lowering it to 2 is the safest setting if you would rather every part came back than have the run finish quickly.

useBrowser is off by default and should stay that way. It switches to a slower fallback that drives a real browser, useful only if AvtoPro changes its markup and the fast path starts under-reporting.

Output

The Output tab opens on the All listings view, which gives one row per competitor offer with the searched part code repeated alongside it. Switch to the Overview view for one row per part with the summary figures. Both views read the same data, and JSON or CSV exports always contain everything regardless of which view you have selected.

A part that could not be fetched carries an error field instead of prices, so a single failure never breaks the rest of the run.

Pricing

You are charged per part checked. Proxy traffic and compute are covered by that price rather than billed to you on top, so a run costs the number of parts you submit multiplied by the rate shown at the top of this page.

Parts that fail are not charged, so a blocked lookup or an unrecognised code costs you nothing.

Bigger baskets and repeat runs cost less per part

You pay the same flat rate per part however the run goes, but it is worth knowing what makes a run cheap, because the same 50 parts can cost noticeably less as one job than as fifty.

The first run on a new account registers a throwaway AvtoPro account through a real browser, which is the single most expensive thing this Actor does. That session is then stored and reused, so every later run skips it. On a one-part run it was more than half the total cost; by the second run it is gone entirely.

Beyond that, a bigger basket mostly helps by keeping the run busy. A 50-part basket measured 30% cheaper per part than a 10-part one, and almost all of that came from finishing 50 parts in the time the smaller run took to finish 10, rather than from the basket size itself. One run of 200 parts is meaningfully cheaper than 200 runs of one part; 200 versus 100 makes little difference.

What actually moves the cost is the part itself. A part with a dozen offers is roughly eight times cheaper to check than one with several hundred, because nearly all of the cost is proxy traffic and a busy part means more pages to read. Across 58 real parts the heaviest read 637 offers over 122 requests, comfortably inside the per-part budget, and none came back truncated.

Which AvtoPro sites are supported

avtopro.ua is the tested and supported site. avto.pro is the same marketplace with a Russian language interface and the same Ukrainian seller inventory, and it works if you point siteUrl at it, though it returns the same offers rather than new ones.

The Polish and Spanish sites have their own Actors, because they serve a completely different page template, a card feed rather than the seller table this Actor reads. Look for the AvtoPro Poland and AvtoPro Spain Competitor Price Checkers. They return the same figures plus the seller's name and rating, which the Ukrainian site does not publish. avtopro.pt needs no Actor of its own: it sells the same stock as avtopro.es, from the same sellers, and the Spain Actor reaches it through siteUrl. Pointing this Actor's siteUrl at any of them will not work.

Frequently asked questions

This Actor reads listing pages that AvtoPro publishes openly. Nothing here sits behind a paywall and no private or personal data is collected, though the Actor does hold a free account so that AvtoPro shows the full seller list rather than the shortened anonymous one (see below). You are responsible for how you use the data, including copyright and database rights in your jurisdiction. If you intend to republish listings rather than use them for internal price analysis, take legal advice first.

Why do some parts return more sellers than others?

Because that is what the market looks like. A common Toyota oil filter came back with 204 sellers, while a Renault bumper absorber had nine. The Actor returns whatever the page holds.

Why does the Actor create an account on AvtoPro?

AvtoPro caps how many rows an anonymous visitor can see, which quietly hides some sellers. To return complete results, the Actor registers one throwaway account and reuses it across runs. Credentials are generated randomly, never logged, and never written to the dataset.

What happens if my proxy gets blocked?

Failed parts come back with a Blocked error rather than silently returning partial data. The Actor already retries with a backoff when AvtoPro rate limits it. If blocks persist, switch proxyConfiguration to Custom proxies and use your own residential provider.

Why is currency sometimes not hryvnia?

AvtoPro quotes prices by the visitor's country, so the same part comes back in hryvnia through a Ukrainian exit, dollars through an American one and euros through a German one. A residential proxy pool picks the exit, so the currency can differ between runs without you changing anything.

The Actor reads the currency off the page and reports it in currency rather than converting, since no exchange rate here would be the one AvtoPro used. Prices within a single part are always in one currency. If you are tracking a catalogue over time and want hryvnia every run, set proxyConfiguration to a Ukrainian residential exit; if you just want the market as AvtoPro shows it, leave the country unset and read currency alongside the price.

Can I run this from my own code?

Yes. Every Actor on Apify has a REST API and official clients for JavaScript and Python. Start a run, pass the same input, and read the dataset back. The Apify docs cover the call in a few lines.

How current is the data?

Every run fetches live pages. Prices reflect the moment the run happened. Sellers edit listings continuously, so two runs minutes apart can legitimately differ by a row or two.