Machinio Scraper — Used Equipment Listings & Price Monitor
Pricing
from $1.50 / 1,000 scraped machinio listings
Machinio Scraper — Used Equipment Listings & Price Monitor
Scrape Machinio used equipment listings worldwide for dealers and buyers: asking prices, make/model/year, hours, serials, seller profiles, and images. Monitor mode tracks new inventory and price changes.
Pricing
from $1.50 / 1,000 scraped machinio listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Crawloop Used Machinery Marketplace Suite — Global Machinio aggregator listings, asking prices, and inventory change alerts. Pair with Machineryline / Exapro / auction Actors for cross-market comps.
| Machineryline (EU) | Machinio (Global) | Exapro | Troostwijk | Surplex |
|---|---|---|---|---|
| Machineryline Scraper | Machinio Scraper ◄── you are here | Exapro Scraper | Troostwijk Scraper | Surplex Scraper |
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Machinio, Liquidity Services, or their brands. Data is read from publicly accessible pages only. You are responsible for complying with applicable law and site terms. No warranty on accuracy or availability.
What this Machinio scraper does
Extract Machinio used equipment listings into clean JSON on Apify: asking price (when published or enrichable), make, model, year, hours, serial/stock numbers, seller company profile, location, specs, and images. Built for equipment dealers, appraisers, fleet buyers, and data teams who need a Machinio API alternative in Python, Node.js, or MCP workflows — export to dataset / CSV / Excel without manual browsing.
Use this Actor to scrape Machinio category pages, keyword searches, manufacturer filters, and listing detail pages at scale, then join results with other Used Machinery suite Actors for global price comps.
When to use
- Monitor competitor stock and price changes on Machinio categories or keyword searches
- Build global comps across construction, agriculture, machine tools, material handling, trucks, and more
- Enrich shortlists with serials, stock numbers, and seller profile URLs (details mode)
- Join Machinio rows with EU dealer boards via make/model/year
For European dealer contacts, use Machineryline Scraper. For industrial auction lots, use Surplex Scraper or Troostwijk Scraper. For farm machinery in Europe, see Agriaffaires Scraper.
Key features
- Category browse — excavators, forklifts, CNC, tractors, trucks, and dozens of equipment types
- Keyword search — manufacturer / model / free-text with optional location
- Manufacturer & country filters — slice inventory (Machinio caps broad category browse around 50 pages)
- Listings or details mode — fast cards, or PDP enrichment (serial, stock, seller, full gallery)
- Price enrichment — numeric prices when shown; Contact-for-price rows flagged via
priceOnRequest - Monitor mode — seed once, then emit only new listings and price changes (optional Telegram alerts)
- No artificial 500-item hard cap — set
maxItemsfor your job size
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | category excavators | Category, search, manufacturer, or listing URLs / bare IDs |
searchQuery | string | — | Keyword search (/listings?search=...) |
location | string | — | Location string for keyword search |
category | select | — | Category slug (e.g. excavators) |
manufacturer | string | — | Brand filter (e.g. caterpillar) |
country | string | — | Country slug (e.g. united-states) |
condition | select | any | any / used / new / refurbished / salvage |
yearMin / yearMax | integer | — | Year range filter |
priceMin / priceMax | integer | — | Client-side USD price range |
runMode | select | listings | listings or details |
pricedOnly | boolean | false | Skip rows without a numeric price |
maxItems | integer | 100 | Max dataset rows (or seed fingerprints) |
maxPagesPerUrl | integer | 10 | Pagination cap per start URL (site ~50 max) |
monitorMode | boolean | false | Delta tracking across scheduled runs |
monitorStoreName | string | machinio-monitor-state | Distinct name per watch target |
Example: category + manufacturer
{"category": "excavators","manufacturer": "caterpillar","country": "united-states","runMode": "listings","maxItems": 50,"maxPagesPerUrl": 5}
Example: keyword search
{"searchQuery": "komatsu wheel loader","location": "Texas","runMode": "details","maxItems": 30}
Example: specific listings
{"startUrls": [{ "url": "https://www.machinio.com/listings/117337992-2026-hyundai-hx25az-mini-excavator-7t-41077-in-germany" },{ "url": "109097207" }],"runMode": "details"}
Example: monitor new stock and price changes
{"category": "excavators","manufacturer": "komatsu","runMode": "listings","monitorMode": true,"monitorStoreName": "machinio-komatsu-excavators","maxItems": 200,"maxPagesPerUrl": 10}
Output
| Field | Description |
|---|---|
id | Machinio listing id |
title | Listing title |
make, model, year | Brand, model, manufacture year |
price, currency, priceFormatted | Numeric / display price when available |
priceOnRequest | true when seller hides public price |
hours, serialNumber, stockNumber | Usage and identifiers (serial/stock on details) |
condition, category, subcategory | Classification (details enrich) |
location, city, state, country | Geography |
sellerName, sellerProfileUrl, sellerRating | Seller / company (details) |
images, imageCount | Photo URLs |
specs | Spec table key/value map |
changeType, previousPrice, monitoredAt | Monitor deltas only |
{"id": "117337992","url": "https://www.machinio.com/listings/117337992-2026-hyundai-hx25az-mini-excavator-7t-41077-in-germany","title": "2026 Hyundai HX25AZ Mini Excavator < 7t 41077","make": "Hyundai","model": "HX25AZ","year": "2026","hours": "6 h","price": 39701.0,"currency": "USD","priceOnRequest": false,"location": "Germany","sellerName": "Equippo","images": ["https://i.machinio.com/medium/example.jpg"]}
Use cases
- Cross-market comps — join make/model/year with Machineryline Scraper
- Inventory watch — schedule
monitorModeon a manufacturer/category slice - Fleet sourcing — filter by year and price, export shortlist CSV / Excel
- Market research — track asking-price coverage by category and country
- Seller discovery — details mode for company profile URLs (phones are lead-gated on Machinio)
Global ↔ regional machinery workflow
Machinio Scraper ◄── you are here (global aggregator)│├── Machineryline Scraper ──► EU heavy equipment + contacts├── Exapro / Machineseeker ──► EU industrial boards└── Surplex / Troostwijk ──► industrial auction lots
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/machinio-scraper').call({category: 'excavators',manufacturer: 'caterpillar',runMode: 'listings',maxItems: 40,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 3));
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("crawloop/machinio-scraper").call(run_input={"searchQuery": "caterpillar excavator","runMode": "details","maxItems": 25,})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(items[:3])
cURL
curl "https://api.apify.com/v2/acts/crawloop~machinio-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"category":"excavators","manufacturer":"komatsu","maxItems":20,"runMode":"listings"}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name (crawloop/machinio-scraper).
Example prompts:
- "Run Machinio Scraper for Caterpillar excavators in the United States, max 40, and return title, price, hours, location as JSON"
- "Monitor Machinio category excavators manufacturer komatsu and list only new or price-changed rows"
- "Scrape Machinio for used forklifts, then compare asking prices with Machineryline Scraper for the same make and model"
Suite next step
After global Machinio comps, pull European dealer stock and contacts with Machineryline Scraper, or industrial auction lots with Surplex Scraper.
FAQ
Is this a Machinio API?
No — it reads publicly available listing and category pages and returns structured dataset items. It is an unofficial Machinio scraper / API alternative for Python, Node.js, and MCP workflows.
Why do some listings have no price?
Many sellers use Contact Seller for Price. Those rows set priceOnRequest: true. When Machinio exposes a numeric signal, the Actor fills price / currency.
Why is pagination limited?
Machinio caps broad category browse around 50 pages. Use manufacturer, country, or keyword slices for deeper coverage.
Are seller phone numbers included?
Machinio gates contact details behind a lead form. This Actor returns public seller name and company profile URL in details mode — not private phone/email.
Can I monitor inventory changes?
Yes — enable monitorMode, run once to seed, then schedule. Only new listings and price changes are pushed (optional Telegram).
How do I export results?
Every run writes to the Apify default dataset — download as JSON, CSV, or Excel, or pull via the Apify API / client.
Related Actors
| Actor | Role |
|---|---|
| Machineryline Scraper | EU heavy equipment + dealer contacts + monitor |
| Exapro Scraper | European used industrial machinery |
| Machineseeker Scraper | Machineseeker / Maschinensucher listings |
| Surplex Scraper | Industrial auction lots |
| Troostwijk Scraper | Troostwijk auction lots |
| Agriaffaires Scraper | European farm machinery |
| Labexchange Scraper | Used lab & analytical equipment |