Mascus Scraper — Used Machinery Listings & Price Monitor avatar

Mascus Scraper — Used Machinery Listings & Price Monitor

Pricing

from $1.29 / 1,000 scraped mascus listings

Go to Apify Store
Mascus Scraper — Used Machinery Listings & Price Monitor

Mascus Scraper — Used Machinery Listings & Price Monitor

Scrape Mascus used machinery listings: asking prices, make/model/year, hours, dealer phones when published, and images. Browse by category, brand, or country. Details mode adds serials and specs. Monitor new listings and price changes.

Pricing

from $1.29 / 1,000 scraped mascus listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Crawloop Used Machinery Marketplace Suite — Global classifieds for construction, agriculture, forestry, trucks, and material handling. Pair with US Sandhills boards and EU dealer sites for cross-market comps.

AgriaffairesTractorHouseMachinerylineNettikone
Agriaffaires ScraperTractorHouse ScraperMachineryline ScraperNettikone Scraper
AgrofyMascusTraktorpoolLandwirt
Agrofy ScraperMascus Scraper ◄── you are hereTraktorpool ScraperLandwirt Scraper

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Mascus, Ritchie Bros., 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 Mascus scraper does

Extract Mascus used machinery listings into clean JSON on Apify: asking price (local + EUR), make, model, year, hours, location, images, and dealer phone when the card publishes one. Built for equipment dealers, fleet buyers, appraisers, and data teams who need a Mascus API alternative in Python, Node.js, or MCP workflows.

Use listings for fast catalog cards or details to open each PDP for serial number, gallery, company website, and spec fields when Mascus shows them. Enable monitorMode with an Apify Schedule to track new listings and price changes on category, brand, or country browse URLs.

Parent categories work (/construction/excavators). Brand and country browse URLs paginate. Year, price, hours, and searchQuery drop rows before charge — they are not Mascus search-index filters.

When to use

  • Dealer competitive intelligence — watch CAT excavators in Germany or a category daily
  • Asking-price comps for crawler excavators, wheel loaders, tractors, trucks, forklifts, and forestry machines
  • Fleet sourcing by manufacturer, model, hours, or country
  • Outreach lists from listing cards that already publish a dealer phone
  • Join global Mascus asking prices with US stock from MachineryTrader Scraper or EU contacts from Machineryline Scraper

For US dealer boards, use MachineryTrader. For European farm classifieds, use Agriaffaires Scraper. For auctions, use Ritchie Bros Scraper.

Not in scope: posting ads, Mascus login, dealer-profile inventory pages (Mascus loads those in the browser), site-wide keyword search, spare-parts sites on other domains, or a preloaded monthly snapshot dump.

Global classifieds workflow

Global asking prices Regional / auction enrichment
──────────────────── ────────────────────────────
Mascus Scraper ◄── you are here ──► worldwide classifieds + phones
│ category / brand / country + monitor deltas
MachineryTrader Scraper ──────────► US dealer inventory
Machineryline Scraper ────────────► EU heavy equipment + contacts
Agriaffaires / Nettikone ─────────► farm classifieds
Ritchie Bros / IronPlanet ────────► auction lots
Join by make + model + year ──► comps, remarketing, residual checks

Key features

  • URL or filters — paste a category / brand / country / listing URL, or build one from mainCategory, subcategory, manufacturer, and country
  • Parent categories/construction/excavators returns listings; you do not have to pick a single leaf type
  • Pagination — category, brand, and country browse URLs continue past page 1
  • Two modeslistings (card price, hours, EUR, phone when published) and details (PDP serial, gallery, specs, company website when published)
  • Filters before chargesearchQuery (substring on brand/model/title), year, price, hours, advert type, and pricedOnly
  • Monitor mode — seed fingerprints on a browse URL, then emit only new / price_change rows; optional Telegram alerts
  • HTTP-firstcurl_cffi Chrome TLS; Apify Residential recommended at scale

Input

FieldTypeDefaultDescription
startUrlsArraycrawler excavators sampleCategory, brand, country, or listing detail URLs
searchQueryStringKeep rows whose brand/model/title contain these words
mainCategoryStringconstruction, agriculture, forestry, groundcare, material-handling, transportation
subcategoryStringSlug such as crawler-excavators or tractors
manufacturerStringBrand slug or name (cat, komatsu, john_deere)
countryStringISO2 code (de, us, nl)
sortStringrelevancerelevance, date, priceasc, pricedesc
advertTypeStringallall, sale, auction, rent
yearMin / yearMaxIntegerYear-of-manufacture window
priceMin / priceMaxIntegerAsking-price window in listing currency
hoursMaxIntegerMaximum operating hours
runModeStringlistingslistings or details
pricedOnlyBooleanfalseKeep only rows with a published price
maxItemsInteger50Emit budget (seed run: fingerprint budget)
maxPagesPerUrlInteger10Pages per start URL (~40 listings/page)
monitorModeBooleanfalseDelta tracking via named KV store
monitorStoreNameStringmascus-monitor-stateDistinct name per watch target
proxyConfigurationObjectResidential prefillApify proxy settings

Provide startUrls and/or category filters. If everything is empty, the Actor defaults to construction excavators.

Input example

{
"startUrls": [
{ "url": "https://www.mascus.com/construction/crawler-excavators" }
],
"runMode": "listings",
"maxItems": 50,
"maxPagesPerUrl": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Built URL for the same filters without startUrls:

{
"mainCategory": "construction",
"subcategory": "crawler-excavators",
"manufacturer": "cat",
"country": "de",
"runMode": "listings",
"maxItems": 50
}

Monitor mode example (Schedule + Telegram)

{
"startUrls": [
{ "url": "https://www.mascus.com/construction/crawler-excavators/cat" }
],
"runMode": "listings",
"monitorMode": true,
"monitorStoreName": "mascus-monitor-cat-excavators",
"maxItems": 200,
"maxPagesPerUrl": 10,
"telegramToken": "123456:ABC...",
"telegramChatId": "123456789"
}

Output

Each dataset row is one listing. Cards typically include hours, EUR, and a dealer phone when Mascus shows them. Details mode adds serial, gallery, specs, and company website when those fields are on the PDP.

FieldDescription
idShort listing slug from the URL
urlCanonical listing URL
title / brand / model / yearEquipment identity
hoursOperating hours when published
price / currency / priceEurAsking price and Mascus EUR conversion
location / countryCity and ISO country
sellerName / sellerPhone / sellerUrlDealer company fields
images / imageCountPhoto URLs
isAuction / isRentalAdvert type flags
serialNumber / stockNumberPDP identifiers (details)
sellerWebsite / sellerAddress / specsPDP enrichment (details)
changeTypenew or price_change in monitor mode
{
"id": "4t3pgmip",
"url": "https://www.mascus.com/construction/crawler-excavators/cat-308cr/4t3pgmip.html",
"title": "CAT 308CR",
"brand": "CAT",
"model": "308CR",
"year": 2020,
"hours": 3179,
"price": 77900,
"currency": "USD",
"priceEur": 66901,
"country": "US",
"location": "Simpsonville, SC, US",
"sellerName": "Blanchard Machinery Co.",
"sellerPhone": "+18034658080",
"isAuction": false,
"recordType": "listing"
}

Use cases

  • Price intelligence — pull CAT / Komatsu / Volvo excavator asking prices by country and compare with US MachineryTrader comps
  • Dealer watch — schedule a brand or category URL and get Telegram alerts on new ads and price cuts
  • Sourcing — filter by year, hours, and priced-only rows for fleet replacement
  • Lead lists — export dealer phones and profile URLs from cards that publish them
  • MCP / AI — ask an assistant to run this Actor and return JSON for a model + country

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/mascus-scraper').call({
startUrls: [{ url: 'https://www.mascus.com/construction/crawler-excavators' }],
runMode: 'listings',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/mascus-scraper").call(
run_input={
"startUrls": [{"url": "https://www.mascus.com/construction/crawler-excavators"}],
"runMode": "listings",
"maxItems": 50,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])

cURL

curl "https://api.apify.com/v2/acts/crawloop~mascus-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"startUrls\":[{\"url\":\"https://www.mascus.com/construction/crawler-excavators\"}],\"runMode\":\"listings\",\"maxItems\":50}"

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.

Example prompts:

  • "Run Mascus Scraper for CAT crawler excavators in Germany and return the top 20 rows as JSON"
  • "Monitor new Mascus listings for construction excavators and list any price changes since the last run"
  • "Scrape Mascus details for this listing URL and return the fields that are on the page (hours, serial, dealer phone, images)"

Suite next step

After a Mascus catalog pull, run MachineryTrader Scraper for US dealer asking prices on the same make/model, Agriaffaires Scraper or Traktorpool Scraper for European farm comps, or Machineryline Scraper for European dealer contacts. For auction comps, use Ritchie Bros Scraper.

FAQ

Is this an official Mascus API? No. It reads public listing pages. There is no official public Mascus API for third-party catalog dumps.

Do I have to pick a leaf category? No. Parent pages such as /construction/excavators return listings. You can also pass a leaf slug (crawler-excavators) or a brand URL.

Why are year/price/hours applied after fetch? Mascus encodes those facets in the UI, not in stable indexable URLs. The Actor still does not charge for rows dropped by those filters.

Does monitor mode spam the dataset? The first scheduled run only stores fingerprints. Later runs emit new and price_change rows only.

Can I crawl a dealer profile URL? No. Pages like /…,searchdealer.html do not put inventory into the HTML the Actor reads. Watch a category, brand, or country URL instead.

Can I scrape every country TLD? You can paste a regional host in startUrls. Built browse URLs default to https://www.mascus.com.