DEV Community

Devil Scrapes
Devil Scrapes

Posted on

How to Scrape AUTO.RIA Ukraine Car Listings to JSON/CSV

Quick answer: AUTO.RIA (auto.ria.com) carries around 300,000 live used-car ads and is Ukraine's largest car marketplace. Use the AUTO.RIA Ukraine Car Scraper on Apify to extract price in USD or UAH, make, model, year, mileage, fuel type, transmission, engine, body type, colour, VIN, doors, location, seller type, and photos — no API key required. Output arrives as clean JSON or CSV.

When analysts, researchers, and developers need structured data on Ukraine's used-car market, AUTO.RIA is the authoritative source. With roughly 300,000 live ads at any given time, the platform captures a representative cross-section of vehicle supply, pricing, and regional distribution across every oblast. AUTO.RIA does offer a separate keyed developer API, but it carries access restrictions and a separate approval process. The public website is where the data actually lives — and where this Actor works.

Does AUTO.RIA have an API? 🔎

AUTO.RIA offers a separately keyed developer API that requires registration and approval. However, most of the rich listing data — seller descriptions, photo galleries, VIN, door count, exact engine specs — is only fully available through the public website. This Actor scrapes the public site, which means it accesses the same information any visitor sees: no developer key needed, no approval process, no per-endpoint quota tied to an API plan.

The site is not a pushover technically. It monitors request fingerprints and access patterns. We rotate Chrome, Firefox, and Safari TLS handshakes via curl-cffi impersonation, route through Apify Proxy with a fresh session_id on every block event, and back off with exponential delay before retrying. Up to 5 attempts per request before we fail loud rather than silently swallow the error.

What data does the scraper return? 📤

AUTO.RIA's data model is richer than most EU marketplace scrapers because listings include VIN numbers and dual-currency pricing. Every row is validated by the ResultRow Pydantic model before it lands in your dataset:

{
  "listing_id": "39954693",
  "listing_url": "https://auto.ria.com/uk/auto_volkswagen_tiguan_39954693.html",
  "title": "Volkswagen Tiguan 2011",
  "make": "Volkswagen",
  "model": "Tiguan",
  "year": 2011,
  "price": 12800,
  "currency": "USD",
  "price_uah": 565760,
  "mileage_km": 270000,
  "fuel_type": "Дизель",
  "transmission": "Автомат",
  "engine_size_cc": 1970,
  "engine_power_hp": null,
  "body_type": "Позашляховик / Кросовер",
  "color": "Білий",
  "vin": "WVGZZZ5NZBW559888",
  "doors": 5,
  "location": "Івано-Франківськ",
  "region": null,
  "seller_type": "private",
  "seller_name": "Надюша",
  "photo_urls": [
    "https://cdn0.riastatic.com/photosnew/auto/photo/volkswagen_tiguan__644750158s.webp"
  ],
  "description": null,
  "first_registration": null,
  "posted_date": null,
  "scraped_at": "2026-06-02T00:30:00+00:00"
}
Enter fullscreen mode Exit fullscreen mode

The complete field list: listing_id, listing_url, title, make, model, year, price, currency, price_uah, mileage_km, fuel_type, transmission, engine_size_cc, engine_power_hp, body_type, color, vin, doors, location, region, seller_type, seller_name, photo_urls, description, first_registration, posted_date, scraped_at.

A few things worth noting about the data. AUTO.RIA quotes most cars in US dollars — currency reflects whatever the seller chose (USD, EUR, or UAH), and when the page also shows a hryvnia figure we surface it in the dedicated price_uah field. Ukrainian category values like Дизель (diesel), Автомат (automatic), and Позашляховик / Кросовер (SUV/crossover) are preserved as-is. VIN numbers appear on a meaningful subset of listings and are a direct data point for cross-referencing vehicle history.

How to run it with Python 🐍

Install the Apify client:

pip install apify-client
Enter fullscreen mode Exit fullscreen mode

Run against AUTO.RIA's default used-car catalogue, or paste a filtered search URL:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("DevilScrapes/autoria-ukraine-cars").call(
    run_input={
        "categoryId": "1",
        "maxResults": 100,
        "enrichDetails": True,
        "proxyConfiguration": {
            "useApifyProxy": True
        }
    }
)

items = list(
    client.dataset(run["defaultDatasetId"]).iterate_items()
)

print(f"Scraped {len(items)} listings")
for item in items[:3]:
    print(
        item["make"], item["model"], item["year"],
        item["price"], item.get("currency"),
        item.get("mileage_km"), "km",
        item.get("vin")
    )
Enter fullscreen mode Exit fullscreen mode

To target a specific make, model, region, or price range, build the search on auto.ria.com, copy the resulting URL, and pass it as searchUrl. The Actor forwards the URL's query parameters to AUTO.RIA's search backend so you get exactly the matching slice of the catalogue.

What can you build with Ukrainian used-car data? 💡

Price intelligence for USD-denominated markets. Most Ukrainian sellers quote in US dollars, making AUTO.RIA one of the few large EU-adjacent marketplaces where USD is the primary price unit. This is directly useful for analysts tracking USD/UAH exchange effects on vehicle affordability, or for comparing to other USD-denominated markets.

VIN-backed vehicle sourcing. AUTO.RIA listings frequently include VINs — a rarity on many European platforms. A VIN lets you query history databases (Carfax, AutoCheck, or Ukrainian equivalents) before committing to a cross-border purchase. Pull vin + price + mileage_km for a filtered model and you have a sourcing shortlist.

Dealer vs. private-seller segmentation. The seller_type field distinguishes dealer from private. Ukrainian dealer networks operate differently from Western European chains; this split enables separate analysis of professional inventory vs. private-sale dynamics.

Regional market analysis. The location and region fields map to Ukrainian cities and oblasts. Run the Actor filtered by city — Kyiv, Lviv, Odesa, Kharkiv — and compare price distributions to identify regional price differentials within the domestic market.

Import/export research. With ~300,000 live ads, AUTO.RIA is large enough for statistically meaningful segment analysis. Pair make, model, year, mileage_km, and price to identify models where the Ukrainian asking price (adjusted for import duties) creates an arbitrage window relative to Polish or German prices.

How much does it cost? 💰

Pay-Per-Event pricing — charges only fire when results land in your dataset:

Event Price
actor-start (once per run) $0.05
result-row (per listing) $0.002

1,000 listings costs $2.05 ($0.05 start + 1,000 × $0.002). If a run returns nothing, only the $0.05 start fee applies. New Apify accounts get $5 of free credit; no credit card is needed to begin.

FAQ ❓

What currency is price in?

AUTO.RIA allows sellers to list in USD, EUR, or UAH. The currency field records whichever currency the seller chose. Where the page also shows a hryvnia equivalent, we surface it in price_uah. There is no automatic conversion to a fixed currency — the raw seller price is preserved exactly.

Can I scrape a filtered search?

Yes. Paste any AUTO.RIA results URL into searchUrl — its filter parameters (brand, model, price range, region, year, mileage) are forwarded to AUTO.RIA's search backend. The Actor then paginates that filtered result set up to your maxResults cap.

What is categoryId?

AUTO.RIA organises listings by vehicle category. Category 1 is passenger cars (the default). You can change it to target motorcycles, trucks, or other vehicle types that AUTO.RIA hosts.

Is scraping AUTO.RIA legal?

The Actor accesses only data visible to any anonymous visitor — no login, no gated content. AUTO.RIA has a separate developer API for programmatic access. Web scraping legality varies by jurisdiction; consult legal counsel before commercial use.

How far can I paginate?

AUTO.RIA lists around 300,000 used cars. The Actor's maxResults cap tops out at 1,000 per run. For larger pulls, run multiple times with different searchUrl filters (by region, make, or price band) to partition the catalogue into manageable slices.

Get started

The AUTO.RIA Ukraine Car Scraper is available on the Apify Store now. Start free — Apify's $5 credit covers your first few hundred enriched listings with no credit card required.

Store link: https://apify.com/DevilScrapes/autoria-ukraine-cars


Built by Devil Scrapes — a fleet of opinionated public-data Actors. Honest pricing, real engineering, zero fine print.

Further reading:

Top comments (0)