Mascus Heavy Equipment Scraper avatar

Mascus Heavy Equipment Scraper

Pricing

from $1.79 / 1,000 results

Go to Apify Store
Mascus Heavy Equipment Scraper

Mascus Heavy Equipment Scraper

Mascus lists used agricultural, construction and material-handling equipment worldwide, and the category pages hold more current listings than any export gives you. Rows give brand, model, year, hours, price in euros and the seller's own currency, and location. No dealer identity collected.

Pricing

from $1.79 / 1,000 results

Rating

0.0

(0)

Developer

Lowland Data

Lowland Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Mascus Heavy Equipment Scraper — GDPR-safe machinery listings

Extract listings from mascus.com — a global marketplace for used agricultural, construction, forestry and material-handling equipment, run by Ritchie Bros — as clean, structured JSON. Brand, model, year, hours, price in two currencies and location, ready for price research, market monitoring and data pipelines.

No dealer or seller personal data, ever. Dealer company names, dealer IDs and seller phone numbers never appear in the output — not as an option you have to remember to switch off, but by design.

Quick start (30 seconds)

  1. Browse mascus.com, pick a category (e.g. Agriculture → Tractors), and paste its URL into categoryUrls.
  2. Click Start. That's the whole minimum setup.
  3. When the run finishes, open the dataset's Overview tab for a clean table, or Export it as CSV/Excel/JSON.

Add more category URLs to sweep several at once — they share the same maxItems budget. Everything works on a daily Schedule.

What you can build with it

  • Used-equipment price research. Pull every tractor, excavator or forklift in a category with brand, model, year, hours and price in both EUR and the seller's original currency — a real market read, not a list price.
  • Fleet replacement shopping. Filter the dataset by yearOfManufacture and meterReadout in your own pipeline to shortlist machines that match your buying criteria across the whole category.
  • Auction vs. fixed-price mix. isAuction and isRental tell you at a glance how a category is actually being sold, with auctionEventName/auctionStartDate/auctionEndDate for the auction-listed share.
  • Feed an AI agent clean data. Every field is structured, predictable and free of personal data, so an assistant or pipeline can consume it directly — no scrubbing, no compliance review before you store it.

What you get

Each listing is one dataset item:

{
"listingId": "20606CBE-5486-40E2-9DB7-84FA8DC4BCAD",
"brand": "Case IH",
"model": "550",
"yearOfManufacture": 2013,
"catalogName": "agriculture",
"categoryName": "tractors",
"meterReadout": 4268,
"meterReadoutUnit": "h",
"city": "Algona, Iowa",
"countryCode": "US",
"priceEuroCents": 11990000,
"priceOriginalCents": 13500000,
"priceOriginalCurrency": "USD",
"isAuction": false,
"isRental": false,
"auctionEventName": null,
"auctionStartDate": null,
"auctionEndDate": null,
"auctionLocation": null,
"url": "https://www.mascus.com/agriculture/tractors/case-ih-550/5f9f9ret.html",
"imageUrl": "https://dnge9sb91helb.cloudfront.net/image/product/medium/ironplanetus/case-ih-550,15900872_1.jpg",
"imageCount": 1,
"videoCount": 0,
"featured": false,
"highlighted": false,
"createDate": "2026-10-04T09:42:09.873"
}

Field notes, so you know exactly what you are buying:

  • priceEuroCents is Mascus's own EUR conversion; priceOriginalCents/priceOriginalCurrency is the price as the seller actually listed it (often USD) — use the original when you need the seller's real number.
  • isAuction/isRental default to false; the auction fields are only populated when isAuction is true.
  • city sometimes carries "city, state" as one string (US listings) — that is how Mascus itself formats it, not a parsing choice.
  • meterReadoutUnit is h (hours) for most equipment or a distance unit for road vehicles.

How much does it cost to scrape Mascus?

$1.99 per 1,000 listings delivered, pay-as-you-go: no subscription, and you pay per result rather than per hour. A run that finds nothing still costs the $0.005 actor start. In plain dollars:

  • 100 listings ≈ $0.20 — a category spot-check.
  • 500 listings ≈ $1.00 — a solid market snapshot.
  • A 2,000-listing crawl ≈ $4.00 — a full category, deduplicated.

The price is all-inclusive: your runs' platform usage is covered by it, with no separate compute or proxy charges. Datacenter proxies are sufficient — no residential proxy surcharge needed.

Free-plan runs are limited to a sample of 5 items, enough to evaluate the output format against your real category.

Not technical? Let your AI assistant set it up

Copy this into ChatGPT, Claude or any AI assistant, fill in the one line, and follow the conversation:

Help me set up the "Mascus Heavy Equipment Scraper" actor on Apify
(https://apify.com/lowlanddata/mascus-scraper). Guide me one step at a time.
What I want to watch: [E.G. "used Case IH tractors under 5000 hours"]
Guide me to:
1. Browse mascus.com, find the matching category page, and propose its URL as
categoryUrls (an array - more than one category can be swept at once),
plus maxItems.
2. Explain that this actor reads category pages, not keyword search or
filters, because Mascus's own search and filter query parameters are
excluded by its robots.txt.
3. Create a free Apify account (apify.com), open the actor page, paste the
values into the Input form, and start a run.
4. Set up a daily Schedule in the Apify Console with the same input, plus an
email or Slack integration so new listings reach me automatically.
5. Show me how to export results as CSV/Excel, or read them from the API if I code.
6. If the results are what I wanted, remind me at the end to leave a quick rating on the actor page, and to report anything broken or missing on its Issues tab.

Input

FieldDescription
categoryUrlsOne or more Mascus category page URLs (see below).
maxItemsStop after this many listings, shared across all category URLs.
proxyConfigurationKeep Apify proxy enabled.

A run needs at least one category URL; anything else fails readably with the reason in the run's status message.

Finding a category URL

Mascus's own keyword search and filter query parameters (brand, price, year, location and the rest) are excluded by the site's robots.txt, so this actor reads plain category pages instead — the part of the site robots.txt leaves open. Browse mascus.com, use the site's own catalog menu to narrow down to the equipment type you want (e.g. Agriculture → Tractors), and copy that page's URL into categoryUrls. Each category page already lists every current listing in it, so this reaches the same inventory a filtered search would have, without touching the disallowed query parameters.

Use it from your code

Run the actor and get items straight back with one HTTP call (fine for scoped runs up to ~5 minutes):

curl "https://api.apify.com/v2/acts/lowlanddata~mascus-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-X POST -H "Content-Type: application/json" \
-d '{"categoryUrls": ["https://www.mascus.com/agriculture/tractors"], "maxItems": 100}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('lowlanddata/mascus-scraper').call({
categoryUrls: ['https://www.mascus.com/agriculture/tractors'],
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lowlanddata/mascus-scraper").call(
run_input={"categoryUrls": ["https://www.mascus.com/agriculture/tractors"], "maxItems": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items

For large crawls, start the run asynchronously and fetch the dataset when the finished-run webhook fires. Schedules (e.g. a daily category snapshot), webhooks and the Make/Zapier/n8n integrations all work out of the box — this is a standard Apify actor.

Use it with AI agents (MCP)

Claude, Cursor and other MCP-capable agents can run this scraper as a tool through Apify's hosted MCP server: the agent fills in the category itself, starts the run and reads the results — no glue code.

Claude Code:

$claude mcp add apify --transport http "https://mcp.apify.com?actors=lowlanddata/mascus-scraper"

Cursor or Claude Desktop (add a custom connector / MCP server with this URL):

https://mcp.apify.com?actors=lowlanddata/mascus-scraper

Sign in with your Apify account when prompted — runs are billed to it. Setup details per client: Apify MCP docs, or start from this actor's own MCP page: apify.com/lowlanddata/mascus-scraper/api/mcp.

Prompts that work once connected:

  • "Pull every tractor listing on Mascus and tell me the median price per hour on the meter."
  • "Snapshot the excavator category and flag the five lowest-hour machines."
  • "Watch this category daily and tell me when a new listing under $50,000 appears."

Beyond the result window

Mascus categories can carry thousands of listings; this actor pages through automatically up to maxItems, deduplicating by listingId. There is no hard cap beyond maxItems itself.

Public listing data — brand, model, year, hours, price, location — is public commercial information, and this scraper is built so that the hard part of the question never arises: no personal data enters your dataset in the first place.

This actor only reads category pages, which Mascus's robots.txt leaves open; its search and filter query parameters are explicitly excluded by that same file and are never requested. Requests are paced, run through standard datacenter proxies, and nothing here works around any access control.

One honest limit: listing titles and any free-text fields are the seller's own words, delivered as-is.

Is there a Mascus API alternative?

Mascus publishes no public API for listings. This actor is the practical alternative: the same listings as structured JSON through one HTTP call (run-sync-get-dataset-items), on a schedule, or as an MCP tool for AI agents — with the GDPR question already answered in the data itself.

Does Mascus block scrapers?

Category pages serve their data openly to a plain request — and this actor stays inside that welcome: paced requests, standard datacenter proxies, load kept negligible. No CAPTCHA fights, no bot-wall cat-and-mouse — which is also why runs are fast and reliable enough for daily schedules.

How do I monitor Mascus prices?

Add a daily Schedule in the Apify Console with your category URL(s) and an email/Slack integration on the runs — every listing's price and specs land in your inbox, so a new arrival or a price change in a watched category is visible the next morning.

FAQ

Can I get dealer names or phone numbers? No — by design. That is the product: data you can store, share and process without a GDPR review.

Why category URLs instead of a keyword search? Mascus's robots.txt explicitly excludes its search and filter query parameters. Category pages are not excluded and already list every current listing in that category, so this actor uses them instead of working around the disallowed paths.

How fresh is the data? Live at run time — every run queries Mascus directly. For continuous freshness, schedule the actor.

Can I export to Excel or CSV? Yes — every dataset exports as CSV, Excel, JSON or XML from the Apify Console or API.

What happens on a very large category? The actor pages through automatically, deduplicating by listingId, until either the category is exhausted or maxItems is reached — raise maxItems to see more of a big category.

Does it work with Make, Zapier or n8n? Yes — it is a standard Apify actor; all platform integrations, webhooks and schedules apply.

Working European or industrial B2B data? The same GDPR-clean guarantee, same output shape:

Troubleshooting

The actor fails fast with the reason in the run's status message:

  • "Not a Mascus category URL." — categoryUrls entries must be full https://www.mascus.com/<catalog>/<category> category page URLs, not a search link or a single listing page.
  • Fewer items than requested on a free plan — the 5-item free sample cap; run on a paid Apify plan for full results.

Support

Found an issue or missing a field you need? Open an issue on the actor's Issues tab — reports get fixed, this actor is actively maintained.

Working well for you? A rating on this page takes ten seconds and helps other buyers find a GDPR-clean option among the lookalikes — it is also the clearest signal of what we should build next.