Autogidas.lt Car Ads Extractor avatar

Autogidas.lt Car Ads Extractor

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Autogidas.lt Car Ads Extractor

Autogidas.lt Car Ads Extractor

Under maintenance

Extracts publicly available used-car listings from Autogidas.lt. Paste a search URL from the site and every matching public ad comes back as structured data — price, year, mileage, photos and the full parameter table. Only data any visitor can see on the site is returned.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

steeriq

steeriq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

13 days ago

Last modified

Share

What does Autogidas.lt Car Ads Extractor do?

This actor turns the used-car listings on Autogidas.lt — one of Lithuania's largest car marketplaces — into structured data: price, year, mileage, engine, gearbox, seller and the full parameter table for every ad a search matches. Paste a search URL from the site, run the actor, and get a dataset back — no code required, though the same input works identically through the API for a scheduled or programmatic pipeline.

Everything it collects is what any visitor sees on Autogidas' own public pages. It signs in to nothing and reaches nothing behind a login, a paywall or a private seller area. That includes sellerName, which is simply the dealer or seller name the ad itself displays.

Built on Crawlee and the Apify SDK, it gets Apify's proxy rotation, scheduling, dataset export and monitoring for free — you don't manage a server or a proxy pool.

Why use this actor?

  • Market research and pricing. Pull every ad for a make/model/year band to see what cars are actually asking and selling for right now, not last quarter.
  • Lead generation for dealers. Watch a segment (e.g. diesel wagons under €15k) for new listings without refreshing the site by hand.
  • Fleet or inventory monitoring. Track your own listings' visibility, or a competitor's, over time.
  • Data feeds. Cars, prices and specs as clean JSON/CSV for a downstream app, spreadsheet, or BI tool.

How to use Autogidas.lt Car Ads Extractor

  1. Open autogidas.lt and build the search you want using the site's own filters — make, model, price, year, equipment, seller type, damage status, colour, anything the site offers.
  2. Copy the resulting URL and paste it into Start URLs on the Input tab.
  3. Click Start. Leave the other fields on their defaults for a first run.
  4. When the run finishes, open the Output tab, or download the dataset as JSON, CSV, Excel or HTML from the Export button.

Several Start URLs are fine — their results are merged and de-duplicated, so two overlapping searches never produce the same ad twice.

{
"startUrls": [{ "url": "https://autogidas.lt/en/skelbimai/automobiliai/bmw/" }],
"scrapeDetails": true,
"maxItems": 1000,
}

Lithuanian, Russian and Latvian URLs all work — they're rewritten onto the English edition before they're fetched, so field labels and values always come back in English.

Single ad URLs work too

Start URLs don't have to be searches. Paste a link straight to one ad — copied off the site, or out of another dataset — and the actor recognizes it and scrapes just that ad directly, skipping the search/listing step entirely. Anything else in Start URLs is treated as a search and paginated as usual. The two are told apart automatically, by whether the URL carries an ad id, so a mix of search and single-ad URLs in the same run works with nothing to configure. Ad URLs are rewritten onto the English site the same way a search URL is.

The filter fields are a fallback

makes, priceFrom/priceTo, yearFrom/yearTo, mileageFrom/mileageTo, fuelType, bodyType, gearbox, city, validInspectionOnly, withVinOnly and hideAuctions exist for callers building input programmatically who don't have a URL to hand. They rebuild an Autogidas search from scratch and reach only a subset of what the site's own search can express — anything else the site offers is reachable only by pasting a URL.

They're used only when Start URLs is empty — set a Start URL and every filter field is silently ignored (the run log names each one it dropped, so nothing fails quietly). One thing worth knowing if you rely on them: Autogidas puts make and model in the URL path, not a query parameter, so each make/model combination becomes its own search and the actor runs them all. The make list is a suggestion, not a whitelist — it's read off the site's own picker, so a make it omits can still be typed in — and models are free text, since the site publishes no per-make model list.

Input

FieldTypeDescription
startUrlsarrayPrimary input. One or more autogidas.lt search URLs.
makes, yearFrom/To, priceFrom/To, mileageFrom/To, fuelType, bodyType, gearbox, city, validInspectionOnly, withVinOnly, hideAuctionsFallback filters, used only when startUrls is empty.
scrapeDetailsbooleanVisit each ad's own page for the full parameter set, partial VIN, description and every photo. Off = results-page fields only, at a fraction of the requests. Default true.
maxItemsintegerStop after this many ads. Default 1000.
maxConcurrencyintegerParallel requests. Default 5.
maxRequestRetriesintegerRetries before giving up on a blocked request — see below. Default 25.
proxyConfigurationobjectDefaults to Apify's residential proxy pinned to Lithuania — see below.
skipSeenAdsbooleanAdvanced. Skip ads a previous run with this actor already pushed. Default false.
seenAdsStoreNamestringNames the store skipSeenAds remembers ad ids in. Default AUTOGIDAS-SEEN-ADS.

See the Input tab for the full schema, including the make list.

A Lithuania-pinned residential proxy is not optional. Autogidas sits behind Cloudflare and 403s a share of foreign and datacenter exit IPs — a measured run with the defaults left alone made 64 requests with zero failures and zero retries; an unpinned proxy fails far more often. The default is already correct; changing it is what breaks runs.

Why maxRequestRetries defaults so high (25). Each retry draws a new proxy session and exit IP — that's how a working one is found, not a sign something is wrong. A long run warms the session pool quickly (most requests then succeed first try), but a short run — a search matching only a handful of ads — never gets that far: one measured 6-ad query needed 10 retries before a single request succeeded. Retries here are cheap (only blocked requests retry, roughly half a second each), so the ceiling is set comfortably above the worst case observed. Lowering it makes small searches prone to failing outright.

Unlike some sibling actors on other Lithuanian car sites, there's no pagination cap — the full ~28,000-ad catalogue is reachable from a single broad search.

Output

One dataset record per ad. Known parameters are mapped to typed fields, and every label/value row from the ad's own parameter table is additionally kept verbatim in rawParameters — so a label the site adds or renames shows up as a new key instead of silently vanishing.

{
"id": "12345678",
"url": "https://autogidas.lt/en/skelbimai/automobiliai/bmw/320-12345678.html",
"title": "BMW 320",
"make": "BMW",
"model": "320",
"price": 12500,
"currency": "EUR",
"year": 2015,
"mileageKm": 184000,
"fuelType": "Diesel",
"gearbox": "Automatic",
"engineCapacityL": 2,
"powerKw": 135,
"vinPartial": "WBA1234567890",
"location": "Vilnius",
"sellerName": "Auto Deleris",
"imageUrls": ["https://img.autogidas.lt/full/1_2_555.jpg"],
"isSold": false,
"rawParameters": { "Body Type": "Saloon / sedan", "CO2 emission, g/km": "128" },
"scrapedAt": "2026-09-04T08:40:34.746Z"
}

You can download the dataset in JSON, CSV, Excel, HTML, XML or RSS from the Export button on the Output tab, or pull it through the Apify API for automation.

Data fields

FieldDescription
id, urlAd id and canonical URL.
title, make, modelListing title, and make/model read from the page's own breadcrumb.
price, currencyAsking price.
year, firstRegistration(firstRegistration on detail pages only)
mileageKmOdometer reading.
fuelType, gearbox, bodyTypeAs shown on the ad.
engineCapacityL, powerKwEngine size and power.
drivenWheels, doors, color, seats, cylinders, gears, wheelDiameter, steeringSide(detail pages only)
vinPartial(detail pages only) The VIN prefix Autogidas displays — the site masks the rest behind a click-to-check control the actor doesn't interact with.
defects, euroStandard, technicalInspectionUntil, co2Gkm, registrationTaxEur, firstRegistrationCountry, weightKg(detail pages only)
fuelConsumptionCity/Highway/Combined(detail pages only) Litres per 100 km.
locationSeller's stated city.
sellerNameDealer or private-seller name as the ad displays it.
description(detail pages only) Free-text ad description.
imageUrlsThis ad's own photos, deduplicated to the highest resolution available per photo.
isSoldWhether the ad is flagged sold.
rawParameters(detail pages only) Every label/value row from the ad, verbatim — the safety net for anything not mapped above.
scrapedAtISO timestamp of extraction.

Consistency with the sibling Autoplius actor

This actor has a sibling, the Autoplius.lt Car Ads Extractor, covering a second Lithuanian car marketplace. Every field the two sites both publish uses the same name and type in both actors' output, so a pipeline consuming either dataset can treat them interchangeably for the fields they share. A few fields deliberately differ, because the sites themselves differ:

  • vinPartial here is always just the visible (usually masked) prefix text Autogidas shows, unvalidated. The sibling actor's vin is null unless the value looks like a genuine, unmasked VIN — a different kind of value, not the same field under two names.
  • sellerName, cylinders, gears, firstRegistrationCountry, steeringSide, defects and per-context fuel consumption exist here because Autogidas' parameter table publishes them and the sibling site doesn't.
  • city, validInspectionOnly, withVinOnly and hideAuctions (input) exist here because Autogidas' search exposes them; the sibling site doesn't, so it has no equivalent.

These field names and shapes are meant to stay stable — a schema change here should be considered alongside the sibling actor's, not made independently.

Pricing / cost estimation

This actor bills on Apify's standard pay-per-usage compute-unit model — there's no separate per-result charge. It's HTTP-only (no browser rendering at any point), which keeps the baseline cost low; the two things that scale cost from there, both on the Input tab, are:

  • scrapeDetails. Results-page-only runs are cheap: one request per 20 ads. Full details cost one extra request per ad — turn it off if you only need price/year/mileage/location.
  • maxItems. Autogidas has no pagination cap, so a broad search really can reach the full ~28,000-ad catalogue if you let it.

A typical scrapeDetails: true, maxItems: 1000 run on the default 1024 MB should stay well under the Apify Free plan's monthly compute-unit allowance — check the Runs tab for exact figures after your first run.

Tips for optimizing runs

  • Turn skipSeenAds on for a recurring/scheduled search. It remembers every ad id already pushed in a store that survives across runs, so a daily "what's new" run only pays for genuinely new listings. Tradeoff: an ad already seen is never revisited, so a price change or a sold flag on an old ad won't be picked up — run occasionally with it off for a full refresh.
  • Don't lower maxRequestRetries on a small search. It's the actor's only recourse against Cloudflare (there's no browser fallback tier) — see the Input section above for why the default is set as high as it is.
  • Don't raise maxConcurrency much past its default. Cloudflare's challenge rate is sensitive to burstiness, and a blocked run costs more in retries than a slightly slower one would have cost outright.

FAQ

Is this legal? The actor only reads pages any visitor can load without logging in. You're responsible for how you use the extracted data — check Autogidas' terms of service and applicable law (e.g. GDPR if a description ever includes personal data) for your use case.

Why is vinPartial not a full VIN? Autogidas masks the VIN behind a click-to-check control on the ad page; the actor doesn't click it, so only the visible prefix is reported.

A run returned 0 ads / lots of 403s. Almost always a proxy problem — confirm proxyConfiguration is still the LT-pinned residential default (see above). If it's already correct, try raising maxRequestRetries further; this actor has no browser fallback tier to fall back on, so retrying with a fresh session is the only way through a persistent challenge.

Found a bug or need a custom field? Open an issue on the actor's Issues tab in Apify Console, or reach out about a custom build for your exact use case.