Nettikone Scraper — Used Machinery Finland
Pricing
from $1.49 / 1,000 scraped nettikone listings
Nettikone Scraper — Used Machinery Finland
Scrape Nettikone used machinery listings in Finland: excavators, tractors, forestry, trucks, and dealer stock. Extract EUR prices, hours, VAT, specs, and images — a Nettikone scraper / API alternative.
Pricing
from $1.49 / 1,000 scraped nettikone listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Crawloop Used Machinery Marketplace Suite — Structured extraction for heavy machinery, farm equipment, and commercial vehicles. Built for market research, inventory monitoring, and pricing workflows.
| Machineryline | Agriaffaires | Truck1 | Exapro | Machineseeker | Nettikone |
|---|---|---|---|---|---|
| Machineryline Scraper | Agriaffaires Scraper | Truck1 Scraper | Exapro Scraper | Machineseeker Scraper | Nettikone Scraper ◄── you are here |
Disclaimer: This is an unofficial integration developed independently of Alma Media / Nettix. It is not affiliated with, sponsored by, or endorsed by Nettikone, Nettiauto, or any of their subsidiaries.
Nettikone and related names are trademarks of their respective owners. Listing data is read from publicly accessible web sources only; no proprietary databases are redistributed.
This Actor is provided for informational and research purposes only (e.g. market research, dealer outreach, inventory monitoring). You are solely responsible for ensuring your use complies with applicable laws (including GDPR), platform terms of use, and your organization's policies. Phone numbers are off by default and must only be processed with a lawful basis.
No warranty is given as to accuracy, completeness, or continued availability of third-party data. Use at your own risk.
Scrape used machinery in Finland from Nettikone — excavators, tractors, forestry machines, trucks, loaders, forklifts, and more — into clean JSON on Apify. A practical Nettikone API alternative for Python, Node.js, and MCP workflows.
Supports category URLs, keyword search (/haku), dealer profiles (/yritys/{id}), and direct listing pages. Use listings for fast catalog scans, details for VAT, hours, specs, and images, or dealers for company rows. Enable monitorMode with an Apify Schedule to track new listings and price changes, optionally via Telegram.
When to use this Actor
Use this Actor when you need Finnish used-machinery prices, hours, VAT deductibility, and dealer context for excavators, farm machines, or commercial vehicles.
For pan-European heavy equipment, use the Machineryline Scraper. For farm machinery across Europe, use the Agriaffaires Scraper. For trucks, use the Truck1 Scraper. For industrial auctions, see Troostwijk and Surplex.
Not in scope: spare-parts categories that redirect to other Nettix sites, article/news pages, posting flows, or Alma Media login.
Used Machinery Marketplace Workflow
Multi-platform intelligence Per-platform enrichment────────────────────────── ─────────────────────────Nettikone Scraper ◄── you are here ──► Finland used machinery & dealersAgriaffaires Scraper ──────────────────► European farm equipmentTruck1 Scraper ──────────────────► commercial trucksMachineryline Scraper ──────────────────► pan-EU heavy equipment & contactsTroostwijk / Surplex ──────────────────► auction lots & bidsJoin datasets by make + model ──► Nordic vs EU price comparison
Key Features
- Three extraction modes —
listingsfor card-level make/model/price/hours;detailsfor PDP specs, VAT net/gross, gallery, seller;dealersfor/yritys/{id}profiles. - Category shortcuts —
machineTypescovers construction, agriculture, forestry, trucks, excavators, tractors, forklifts, and more (Finnish path slugs on both/en/and Finnish UI). - Search and filters —
searchQuery,make, andadType(for_sale/for_rent/sold) build/hakuURLs without hand-editing query strings. - VAT and hours — Gross/net price, 25.5% VAT when published, VAT-deductible badge, operating hours (or km when the card shows tkm).
- Dealer inventory — Pass
/yritys/{id}or/haku?id_user=to crawl that seller’s stock. The public dealer directory page is JavaScript-loaded by region and is not crawled as a list. - Optional phones (details) —
includePhonesdefaultfalse(GDPR). Numbers are decoded from listing HTML only; the Actor does not fire the site’s phone-click counter. - Monitor mode — Schedule the Actor on a category, search, or dealer URL; only new listings and price changes go to the dataset, with optional Telegram alerts.
- Finnish residential proxy — HTTP extraction with
curl_cffi; Apify RESIDENTIAL + countryFIis the default.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | excavators category | Category, search, dealer, or listing URLs. |
searchQuery | String | — | Optional keyword search (/haku?q=). |
make | String | — | Optional brand merged into the search query. |
machineTypes | Array | [] | Built-in category shortcuts (excavators, tractors, trucks, …). |
language | String | "en" | "en" (/en/ prefix) or "fi". |
adType | String | "all" | "all", "for_sale", "for_rent", or "sold". |
runMode | String | "listings" | "listings", "details", or "dealers". |
includePhones | Boolean | false | Decode seller phones in details mode (GDPR opt-in). |
includeDealerProfiles | Boolean | true | Push a dealer row when a /yritys/{id} URL is provided. |
maxItems | Integer | 10 | Maximum records (0 = unlimited). Keep small for Store QA. |
maxPagesPerUrl | Integer | 1 | Pagination depth per start URL (?page=N). |
concurrencyLimit | Integer | 3 | Parallel PDP workers in details mode. |
monitorMode | Boolean | false | Delta tracking: first run seeds state; later runs emit new / price-changed rows. |
monitorStoreName | String | nettikone-monitor-state | Named KV store so fingerprints survive Apify Schedules. |
telegramToken | String | — | Telegram bot token for monitor alerts. |
telegramChatId | String | — | Telegram chat ID for monitor alerts. |
resetMonitorState | Boolean | false | Clear stored fingerprints and force a fresh seed run. |
proxyConfiguration | Object | RESIDENTIAL / FI | Apify Proxy (Finnish residential recommended). |
If startUrls, searchQuery, and machineTypes are all empty, the Actor defaults to the English excavators category.
Input Example
{"startUrls": [{ "url": "https://www.nettikone.com/en/maarakennus/kaivinkone" }],"runMode": "listings","maxItems": 10,"maxPagesPerUrl": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FI"}}
Details + search example
{"searchQuery": "Volvo EC","machineTypes": ["excavators"],"language": "en","adType": "for_sale","runMode": "details","maxItems": 25,"maxPagesPerUrl": 2,"includePhones": false,"concurrencyLimit": 3}
Dealer inventory example
{"startUrls": [{ "url": "https://www.nettikone.com/en/yritys/3021897" }],"runMode": "details","maxItems": 50,"maxPagesPerUrl": 5}
Monitor mode example (Schedule + Telegram)
{"startUrls": [{ "url": "https://www.nettikone.com/en/maarakennus/kaivinkone" }],"runMode": "listings","monitorMode": true,"monitorStoreName": "nettikone-monitor-excavators","maxItems": 200,"maxPagesPerUrl": 10,"telegramToken": "123456:ABC...","telegramChatId": "123456789","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FI"}}
With monitorMode: true, listing fingerprints are stored in a named Key-Value store (monitorStoreName, key MONITOR_STATE) so Apify Schedules keep state across runs. The first run seeds the cache and writes no dataset rows. Later scheduled runs emit only changeType: "new" or "price_change" (and send Telegram when token + chat ID are set). Use a distinct monitorStoreName per category or dealer watch. Use resetMonitorState: true to wipe the cache.
Output Format
Each row is pushed to the default dataset. Schema depends on runMode.
| Field | Description |
|---|---|
recordType | listing or dealer |
id, url, title | Listing or dealer identifiers |
make, model, category, year | Machine identity |
hours, mileageKm | Operating hours, or km when the card shows tkm |
price, priceGross, priceNet, vatAmount, vatRate | EUR asking price and VAT breakdown (details) |
vatDeductible, currency, adType, status | VAT badge, EUR, for_sale / for_rent / sold |
fuel, driveType, powerKw, powerHp, grossWeightKg | Specs from the PDP |
city, region, country, location | Geography (Finland) |
sellerName, sellerId, sellerUrl, sellerAddress | Dealer / private seller |
sellerPhone, sellerPhones, sellerEmail | Only when includePhones=true (details) |
images, description, accessories | Gallery, notes, equipment list |
isFastLane, isDealer, changeType | Promo flag, dealer listing, monitor delta |
listings— card fields:id,title,make,model,year,hours,price/priceGross,vatDeductible,city,sellerName, Fast lane flag. No phones (not published on cards).details— merges the card with the PDP: net/gross VAT, drive type, fuel, weight, power, images, notes, seller address/email, optional phones.dealers—recordType: "dealer"with company name, address, member since, inventory count.monitorMode— same fields pluschangeType(new|price_change),previousPrice/previousCurrency,monitoredAt.
{"recordType": "listing","id": "2683697","url": "https://www.nettikone.com/en/hitachi/zx70/2683697","title": "Hitachi ZX70","make": "Hitachi","model": "ZX70","category": "Excavators","hours": 561,"price": 29995,"priceGross": 29995,"priceNet": 23900,"vatAmount": 6095,"vatRate": 25.5,"vatDeductible": true,"currency": "EUR","adType": "for_sale","fuel": "Diesel","driveType": "Track","grossWeightKg": 7000,"city": "Akaa","region": "Pirkanmaa","country": "FI","sellerName": "ConMag Oy","sellerId": "3021897","sellerUrl": "https://www.nettikone.com/yritys/3021897","images": ["https://images.nettikone.com/live/2026/07/24/e2f6a3577e6911a7-large.jpg"],"scrapedAt": "2026-08-14T12:00:00Z"}
Typical Workflow
- Open a Nettikone category or search in the browser (or set
machineTypes/searchQuery). - Put category,
/haku,/yritys/{id}, or listing URLs intostartUrls. - Set
runModetolistings(bulk index),details(specs + seller), ordealers. - Keep
includePhonesfalse unless you have a lawful basis. - Export the Apify dataset as JSON, CSV, or Excel.
Inventory / price monitoring
- Set
startUrlsto a category, search, or dealer inventory page. - Enable
monitorMode(preferrunMode: "listings"for cheaper scans). - Set a distinct
monitorStoreNameper watch target. - Add Telegram bot token + chat ID if you want alerts.
- Create an Apify Schedule (e.g. every 1–6 hours). The named KV store keeps fingerprints across runs; the first run is a silent seed.
Use cases
| Use case | What you get |
|---|---|
| Finnish price benchmarking | EUR asking prices, VAT net/gross, hours for excavators and tractors |
| Dealer outreach | Company name, city, profile URL; phones only with includePhones |
| Inventory monitoring | New listing / price-change deltas with optional Telegram |
| Nordic vs EU comps | Join make / model with Machineryline or Agriaffaires datasets |
| AI / MCP workflows | Run via Apify API, clients, or MCP and summarize dealer stock |
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/nettikone-scraper').call({startUrls: [{ url: 'https://www.nettikone.com/en/maarakennus/kaivinkone' }],runMode: 'listings',maxItems: 25,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],apifyProxyCountry: 'FI',},});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/nettikone-scraper").call(run_input={"startUrls": [{"url": "https://www.nettikone.com/en/maarakennus/kaivinkone"}],"runMode": "listings","maxItems": 25,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FI",},})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(len(items), items[:3])
cURL
curl "https://api.apify.com/v2/acts/crawloop~nettikone-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.nettikone.com/en/maarakennus/kaivinkone"}],"runMode": "listings","maxItems": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FI"}}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/nettikone-scraper.
Example prompts:
- "Run Nettikone Scraper for English excavators in listings mode, max 20, and return title, price, hours, city, and url"
- "Scrape Nettikone Volvo listings in details mode and summarize median asking price and hours by model"
- "Chain Nettikone Scraper then Agriaffaires Scraper for similar tractors and compare Finnish vs European asking prices"
Suite next step
For European farm equipment, run Agriaffaires Scraper. For commercial trucks, run Truck1 Scraper. For pan-EU heavy machinery and dealer contacts, run Machineryline Scraper.
FAQ
Is this an official Nettikone API? No. It reads publicly available listing pages. There is no official public API for this use.
Why Finnish residential proxies? The site is Finland-focused. Apify RESIDENTIAL with country FI is the stable default; datacenter IPs are more likely to fail.
Can I scrape the dealer directory? The /listDealer.php page loads companies by region in JavaScript. Pass concrete /yritys/{id} or /haku?id_user= URLs instead.
Are phone numbers included? Only in details mode when includePhones is true. Default is off.
Finnish or English URLs? Both work. Category slugs stay Finnish even under /en/.
Related Actors
| Actor | Apify Store |
|---|---|
| Nettikone Scraper ◄── you are here | Finland used machinery & dealers |
| Machineryline Scraper | pan-EU heavy equipment & dealer contacts |
| Agriaffaires Scraper | used farm machinery Europe |
| Truck1 Scraper | commercial trucks |
| Exapro Scraper | European CNC & metalworking |
| Resale.info Scraper | European listings & categories |
| Machineseeker Scraper | regional CNC & metalworking |
| Troostwijk Scraper | multi-country industrial auctions |
| Surplex Scraper | plant closures & Surplex lots |