Nettiauto Scraper — Finnish Used Cars, Prices & Specs avatar

Nettiauto Scraper — Finnish Used Cars, Prices & Specs

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Nettiauto Scraper — Finnish Used Cars, Prices & Specs

Nettiauto Scraper — Finnish Used Cars, Prices & Specs

Scrape Nettiauto, Finland's largest car marketplace, in bulk: make, model, price in EUR, mileage, year, fuel type, transmission, body type, color, condition and VIN as separate sortable columns. Any category or filter URL. No login, no API key.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

17 hours

Issues response

8 days ago

Last modified

Categories

Share

Scrape Nettiauto, Finland's largest car marketplace, in bulk — no login, no API key, no browser. Point the Actor at any category or result page and it walks the pages, parses every card into flat, sortable columns, and saves rows as it goes.

19 columns per row · thousands of rows per run · numeric prices, not strings · JSON, CSV, Excel or API · pay only for the rows you keep.


Why this Nettiauto scraper

Nettiauto publishes everything a buyer needs on the result page — but as prose, inside a card, behind pagination. Reading it at any useful scale by hand is not realistic, and copy-paste gives you text where you need numbers.

This Actor turns those pages into a table. price is a number, not a formatted string. Location, seller and vehicle specs are their own columns instead of one blob. That is the difference between data you can pivot on and data you have to clean first.

It is built on the same engine as the rest of this fleet, which means three things you only notice when they are missing:

  • It respects the clock. Every run carries a time budget and saves rows continuously, so a slow page never costs you the whole run.
  • One bad page does not end the crawl. An unreachable page is retried, then skipped and logged — not treated as the end of the listing.
  • It says what it did. Row counts, skipped pages and stop reasons all appear in the log, so a short run is always explainable.

What you get

Market research for the Finnish car market

Nettiauto is where Finns buy and sell cars. price is numeric in EUR, mileage is in kilometres, and make/model are clean strings — enough to compare asking prices across makes and model years without any cleanup.

fuel and transmission are separate columns. Chart them over time to see how quickly the Finnish market is shifting from petrol manuals to electric automatics.

Dealer and inventory monitoring

Track which cars are listed, at what price, and how often inventory turns over. Schedule daily runs and diff the results to spot new listings, price drops, and disappeared ads.

Vehicle identification and history lookup

vin is included when the seller publishes it. Cross-reference VINs with a vehicle history service to add accident and service records to your dataset.


Input

FieldTypeWhat it does
startUrlstringAny Nettiauto category or result URL. The Actor paginates from here.
maxResultsintegerStop after this many rows (default 200).
proxyConfigurationobjectApify Proxy settings. Defaults to the UNBLOCKER group — see below.

Note: Nettiauto embeds every filter in the URL. Copy any search or filter result page URL and paste it as the start URL.

Example input

{
"startUrl": "https://www.nettiauto.com/vaihtoautot",
"maxResults": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"]
}
}

Why the UNBLOCKER proxy group

Nettiauto sits behind a Cloudflare managed challenge — the block page is "Just a moment…" with a __cf_chl script, not a plain refusal. That is a JavaScript challenge, so no plain HTTP client gets through it no matter how good its fingerprint: a residential Finnish exit IP and a genuine Chrome TLS fingerprint were both measured returning HTTP 403. The UNBLOCKER group solves the challenge upstream, which is why it is the default. It adds roughly ten seconds per page.

If you override the proxy with other groups the run will very likely be refused — and it will fail loudly rather than hand you an empty dataset.


Output

One row per listing, 19 columns:

ColumnTypeDescription
listingIdstringNettiauto listing ID from the URL.
titlestringMake, model and year headline.
listingUrlstringCanonical listing page on Nettiauto.
makestringCar manufacturer.
modelstringCar model.
pricenumberAsking price in euro.
currencystringAlways EUR.
mileagenumberOdometer reading in kilometres.
yearnumberModel year extracted from the title.
fuelstringFuel type in Finnish (Bensiini, Diesel, Sähkö, Hybridi).
transmissionstringTransmission type in Finnish (Manuaali, Automaatti).
bodyTypestringBody style in Finnish (Sedan, Farmari, Viistoperä, etc.).
colorstringExterior color in Finnish.
conditionstringUsed or New.
vinstringVehicle identification number when available.
imageUrlstringFirst listing photo.
countrystringAlways Finland.
sourcestringAlways nettiauto.
scrapedAtstringISO timestamp of collection.

Example row

{
"listingId": "…",
"title": "…",
"listingUrl": "…",
"make": "…",
"model": "…",
"price": 0,
"currency": "…",
"mileage": 0,
"year": 0,
"fuel": "…",
"transmission": "…",
"bodyType": "…",
"color": "…",
"condition": "…",
"vin": "…",
"imageUrl": "…",
"country": "…",
"source": "…",
"scrapedAt": "…"
}

Export from the Apify Console as JSON, CSV, Excel, XML or RSS, or pull it straight from the Dataset API.


Run outcomes: how to tell an empty market from a blocked crawl

A scraper that is blocked on every page and a search that genuinely has no cars both produce an empty dataset. Treating those as the same thing makes the output unusable for monitoring, so this Actor classifies every run and refuses to report an unverified emptiness as success.

OutcomeRun statusMeaning
COMPLETEDSucceededEvery requested page was fetched and rows were saved.
PARTIALSucceededRows were saved, but some pages were unreachable. The page numbers are listed.
EMPTY_RESULTSucceededPages were fetched and parsed successfully and this search really has no listings.
BLOCKEDFailedEvery page was refused with HTTP 403/429/503.
INVALID_START_URLFailedThe start URL is not a nettiauto.com address, or it returned 404.
FETCH_FAILEDFailedNo page could be fetched for transport reasons (timeouts, proxy errors).
INCOMPLETE_NO_ROWSFailedPages were skipped and nothing was saved, so an empty result cannot be trusted.

The rule behind the table: a run that fetched zero pages can never finish as Succeeded. It learned nothing about the market, so it reports a failure you can alert on.

Run summary

Every run writes a SUMMARY record to the key-value store and prints the same figures to the log, so the row count is always reconcilable with what the crawl actually did:

FieldMeaning
outcome, detailThe classification above, and a sentence explaining it
rowsSaved, rowsRequestedRows written versus rows asked for
pagesRequested, pagesFetchedPages attempted versus pages that returned HTML
pagesSkippedThe page numbers that could not be fetched
emptyPages, parseFailuresPages that returned no rows, and pages that failed to parse
httpRequests, httpRetriesRequests issued, and how many were retries
httpStatusCountsPer-status breakdown, e.g. {"200": 7, "403": 2}
transportErrorsFailures that never reached an HTTP status
proxyGroupsThe proxy groups the run actually used
terminationReasonWhy the crawl stopped

How to use it

  1. Open the Actor and paste a Nettiauto URL into Category or listing URL.
  2. Set Maximum results to how many rows you want.
  3. Click Start. Rows appear in the dataset while the run is still going.
  4. Export, or schedule the run daily and diff the results to track price moves.

You can also run it from the Apify API, the JavaScript client or the Python client, and wire the output into Google Sheets, Zapier, Make or your own warehouse.


Frequently asked questions

Do I need a Nettiauto account?

No. All data comes from public result pages — no login, no API key.

How do I filter by make, model or fuel type?

Nettiauto puts every filter in the URL. Use the Nettiauto website to build your search, then paste the result URL as the start URL.

Why are fuel type and body type in Finnish?

Nettiauto serves its data in Finnish. Bensiini = Petrol, Diesel = Diesel, Sähkö = Electric, Hybridi = Hybrid. Manuaali = Manual, Automaatti = Automatic.

Why is vin often null?

Not all sellers publish their vehicle identification number. About 30% of listings include it.

Which currency?

Euro (EUR), stated in the currency column.

How many listings does Nettiauto have?

Over 70,000 used cars at any given time, making it Finland's largest car marketplace.

How much does it cost?

You pay per row kept, plus Apify platform usage. A 1,000-row run is inexpensive; run it on a schedule and you have a continuous price feed for the cost of a coffee.

Is scraping Nettiauto legal?

This Actor reads only publicly available pages — the same ones anyone can open in a browser — and collects no personal data beyond the seller display name that Nettiauto itself publishes next to each listing. You are responsible for how you use the output, including compliance with Nettiauto's terms and with data-protection law such as the GDPR. If in doubt, take legal advice.


Browse the rest of the fleet for country marketplace, classifieds, property and company-registry scrapers covering more than eighty countries.


Support

Found a broken column or a site change? Open an issue on the Actor's Issues tab and it will be looked at. This Actor is actively maintained — see the Changelog for its history.


Nettiauto is a trademark of its respective owner. This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Nettiauto.