MachineryTrader & Mascus Equipment Scraper + Leads avatar

MachineryTrader & Mascus Equipment Scraper + Leads

Pricing

from $17.00 / 1,000 results

Go to Apify Store
MachineryTrader & Mascus Equipment Scraper + Leads

MachineryTrader & Mascus Equipment Scraper + Leads

Scrape used heavy & construction equipment from MachineryTrader (US) and Mascus (worldwide): excavators, dozers, loaders, cranes, tractors, trucks. Get make, model, year, price, hours, specs, photos, location and dealer name, phone and email. Filter by make, year, price, hours. Pay per result.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

21 hours ago

Last modified

Share

MachineryTrader & Mascus Equipment Scraper + Leads

MachineryTrader & Mascus Equipment Scraper + Leads

Here is one real result, with every field the actor returns:

{
"title": "2017 Hitachi ZX350LC-6N",
"make": "Hitachi",
"model": "ZX350LC-6N",
"year": 2017,
"category": "crawlerexcavators",
"catalog": "construction",
"condition": "auction",
"listingType": "auction",
"priceAmount": null,
"priceCurrency": "USD",
"priceEur": null,
"hours": 9346,
"meterReading": 9346,
"meterUnit": "h",
"locationCity": "Davenport, Florida",
"locationCountry": "US",
"dealerName": "Ritchie Bros Orlando",
"dealerPhone": "+31 765242600",
"dealerCountry": "US",
"dealerUrl": "https://www.mascus.com/ritchie-bros-orlando/c31558d4,1,relevance,searchdealer.html",
"listingUrl": "https://www.mascus.com/construction/crawler-excavators/hitachi-zx350lc-6n/4gihhneh.html",
"imageUrl": "https://dnge9sb91helb.cloudfront.net/image/product/medium/rbauctionusathree/hitachi-zx350lc-6n,abf1c03a00d44b4c.jpg",
"imageCount": 50,
"listedDate": "2026-08-09T18:14:13",
"productId": "{11F2E8B2-88A6-40EA-A5C2-12FB1DC41F1C}",
"searchQuery": "excavator",
"source": "Mascus",
"observedAt": "2026-08-09T21:24:23.650Z",
"priceUsd": null,
"videoCount": 0,
"isFeatured": false,
"isHighlighted": false,
"isNew24h": true,
"dealerId": "{C31558D4-64F6-44F8-B72E-70E3C4EB2A92}",
"auctionStartDate": "2026-08-27T15:00:00",
"auctionEndDate": "2026-08-29T02:00:00",
"auctionEventName": "Orlando, FL, USA - Aug 27, 2026",
"rentalPriceDaily": null,
"rentalPriceWeekly": null,
"rentalPriceMonthly": null,
"serialNumber": "1FFDDR70PHF940223",
"stockNumber": "15695949",
"images": [
"https://dnge9sb91helb.cloudfront.net/imagetilewm/product/rbauctionusathree/hitachi-zx350lc-6n,abf1c03a00d44b4c.jpg",
"https://dnge9sb91helb.cloudfront.net/imagetilewm/product/rbauctionusathree/hitachi-zx350lc-6n,0f77daacc87c4d28.jpg",
"https://dnge9sb91helb.cloudfront.net/imagetilewm/product/rbauctionusathree/hitachi-zx350lc-6n,99686e5a7f924770.jpg"
],
"specs": {
"brandmodel": "Hitachi ZX350LC-6N",
"yearofmanufacture": "2017",
"meterreadouthours": "9,346 h",
"location": "Davenport, Florida",
"internalstocknumber": "15695949",
"manufacturenumber": "1FFDDR70PHF940223",
"otherinformation": "2017 Hitachi ZX350LC-6N Tracked Excavator\n\nAir Conditioner, Rear View Camera, 2016 US EPA Label, Requires Diesel Exhaust Fluid, 10 ft 7 in Stick, 31.5 in Triple Grouser Track Shoes, 53 in Digging Bucket"
},
"dealerEmail": "emea@rbauction.com",
"dealerContactName": "Auction Sales",
"dealerAddress": "Mark S Clarkelaan 21, Zevenbergen, Noord-Brabant, 4761 RK, NL",
"dealerRegion": "Noord-Brabant",
"dealerPostalCode": "4761 RK",
"latitude": 28.23907,
"longitude": -81.64746,
"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=28.23907,-81.64746",
"categoryPath": "construction/excavators/crawlerexcavators",
"updatedDate": "2026-08-09T19:23:57.01"
}

The most complete heavy equipment scraper available. It returns every field the MachineryTrader (United States) and Mascus (Europe and worldwide) marketplaces expose for each machine, plus the selling dealer's name, phone, email, contact and full address as a ready lead, and gives you eleven filters to target exactly the listings you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches heavy and construction equipment marketplaces for the terms you pass, paginates through the matching listings, and writes one normalized record per machine to the run's dataset. Each record carries make, model, year, price, meter hours, category and location, plus the selling dealer as a usable lead (name, phone, and, with detail scraping on, email, contact name, website and full postal address).

Two sources are available. mascus (default) covers Europe and worldwide inventory. machinerytrader covers United States inventory. Both emit the same flat record shape, so you can mix them across runs without changing your parsing.

Turn on scrapeDetails to open each listing page and add the serial or VIN number, stock number, full specifications, description, the complete image gallery, and the dealer's email, contact name, website, and mapped address. Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 excavator and bulldozer listings from Mascus with full dealer contact detail.

{
"searchQueries": ["excavator", "bulldozer"],
"source": "mascus",
"scrapeDetails": true,
"maxListings": 10
}

Every input except the search is optional. With just searchQueries set, the actor returns the most recent matching listings (default maxListings is 10).

Input reference

FieldTypeRequiredDefaultDescription
searchQueriesstring[]no["excavator","bulldozer"]One or more equipment searches, for example excavator, wheel loader, crane, or a make and model like cat 320. Each query is searched separately and every listing is tagged with the query that produced it.
sourceenumnomascusWhich marketplace to read. mascus covers Europe and worldwide inventory. machinerytrader covers United States inventory.
makestringno(any)Keep only listings from this manufacturer, for example Caterpillar, Komatsu, Volvo, John Deere, Hitachi.
modelstringno(any)Keep only listings of this model, for example 320, 336, L120. Works best with a make. Applies to the MachineryTrader source.
statestringno(any)Keep only listings in this US state, for example Texas, California, Florida. Applies to the MachineryTrader source.
yearMinintegerno(any)Keep only listings built in this year or later.
yearMaxintegerno(any)Keep only listings built in this year or earlier.
priceMinintegerno(any)Keep only listings priced at or above this amount (listing currency, or EUR when no local price is shown). Priceless listings are excluded when a price filter is set.
priceMaxintegerno(any)Keep only listings priced at or below this amount.
hoursMaxintegerno(any)Keep only listings with at most this many operating hours on the meter.
countrystringno(any)Keep only listings in this country as a 2-letter ISO code, for example US, DE, FR, GB, ES, IT, NL.
conditionenumno(any)One of used, new, auction.
listingTypeenumno(any)One of sale, auction, rental, marketplace.
scrapeDetailsbooleannofalseWhen on, each listing page is fetched to add serial/VIN, stock number, full specifications, description, the complete image gallery, and the dealer's email, website, contact name and full address. Slower but far richer.
maxListingsintegerno10Maximum listings to collect across all searches. Empty and failed runs are never charged.

Filters combine with logical AND. On the Mascus source, filters are applied client-side; on MachineryTrader they are passed through as URL parameters.

Output reference

One dataset item per listing. Types: string, integer, boolean, string[], object, or null when the source value is absent. Fields after observedAt are additive and populate mainly when scrapeDetails is on.

FieldTypeDescription
titlestringListing title, usually year, make and model.
makestringManufacturer or brand.
modelstringModel designation.
yearintegerYear of manufacture.
categorystringEquipment category, for example crawlerexcavators.
catalogstringTop-level catalog: construction, agriculture, material-handling, transportation, forestry.
conditionstringused or auction.
listingTypestringsale, auction, rental, or marketplace.
priceAmountintegerAsking price in the listed currency, or null if price on request.
priceCurrencystringCurrency of the asking price.
priceEurintegerAsking price converted to EUR, or null.
hoursintegerMeter hours when the meter reports hours, else null.
meterReadingintegerRaw meter reading value.
meterUnitstringMeter unit (h for hours, km, and similar).
locationCitystringCity or region of the machine.
locationCountrystringCountry code of the machine.
dealerNamestringSelling dealer or company name (the lead).
dealerPhonestringDealer phone number (the lead).
dealerCountrystringDealer country code.
dealerUrlstringLink to the dealer profile.
listingUrlstringDirect link to the listing.
imageUrlstringMain listing image.
imageCountintegerNumber of photos on the listing.
listedDatestringWhen the listing was posted.
productIdstringUnique listing id.
searchQuerystringThe search query that produced this record.
sourcestringData source (Mascus or MachineryTrader).
observedAtstringISO 8601 timestamp of when the record was collected.
priceUsdintegerPrice in USD when the source reports it, else null.
videoCountintegerNumber of videos on the listing.
isFeaturedbooleanWhether the listing is featured.
isHighlightedbooleanWhether the listing is highlighted.
isNew24hbooleanListed within the last 24 hours.
dealerIdstringDealer id.
auctionStartDatestringAuction start, for auction listings.
auctionEndDatestringAuction end, for auction listings.
auctionEventNamestringAuction event name.
rentalPriceDailyintegerRental price per day, for rental listings.
rentalPriceWeeklyintegerRental price per week.
rentalPriceMonthlyintegerRental price per month.
serialNumberstringSerial or VIN number (detail scrape).
stockNumberstringDealer stock number (detail scrape).
accessoriesstringListed accessories (detail scrape).
descriptionstringFull listing description (detail scrape).
imagesstring[]Full image gallery URLs (detail scrape).
specsobjectKey/value specifications block (detail scrape).
dealerEmailstringDealer email (detail scrape; recovered from the dealer site on MachineryTrader).
dealerWebsitestringDealer website (detail scrape).
dealerContactNamestringDealer contact person (detail scrape).
dealerWhatsAppstringDealer WhatsApp number (detail scrape).
dealerAddressstringSingle-line dealer postal address (detail scrape).
dealerRegionstringDealer region or state (detail scrape).
dealerPostalCodestringDealer postal code (detail scrape).
latitudenumberMachine latitude (detail scrape).
longitudenumberMachine longitude (detail scrape).
googleMapsUrlstringGoogle Maps link to the machine location (detail scrape).
modelGroupstringModel group (detail scrape).
categoryPathstringFull category path (detail scrape).
updatedDatestringWhen the listing was last updated (detail scrape).

Example output record

Real record from a live run (input {"searchQueries":["excavator"],"source":"mascus","scrapeDetails":true,"maxListings":3}). The images array is trimmed here for length; a full run returns all photo URLs (imageCount, 50 in this record).

{
"title": "2017 Hitachi ZX350LC-6N",
"make": "Hitachi",
"model": "ZX350LC-6N",
"year": 2017,
"category": "crawlerexcavators",
"catalog": "construction",
"condition": "auction",
"listingType": "auction",
"priceAmount": null,
"priceCurrency": "USD",
"hours": 9346,
"meterReading": 9346,
"meterUnit": "h",
"locationCity": "Davenport, Florida",
"locationCountry": "US",
"dealerName": "Ritchie Bros Orlando",
"dealerPhone": "+31 765242600",
"dealerCountry": "US",
"listingUrl": "https://www.mascus.com/construction/crawler-excavators/hitachi-zx350lc-6n/4gihhneh.html",
"imageCount": 50,
"listedDate": "2026-08-09T18:14:13",
"productId": "{11F2E8B2-88A6-40EA-A5C2-12FB1DC41F1C}",
"searchQuery": "excavator",
"source": "Mascus",
"observedAt": "2026-08-09T21:24:23.650Z",
"isNew24h": true,
"auctionStartDate": "2026-08-27T15:00:00",
"auctionEndDate": "2026-08-29T02:00:00",
"auctionEventName": "Orlando, FL, USA - Aug 27, 2026",
"serialNumber": "1FFDDR70PHF940223",
"stockNumber": "15695949",
"dealerEmail": "emea@rbauction.com",
"dealerContactName": "Auction Sales",
"dealerAddress": "Mark S Clarkelaan 21, Zevenbergen, Noord-Brabant, 4761 RK, NL",
"latitude": 28.23907,
"longitude": -81.64746,
"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=28.23907,-81.64746",
"categoryPath": "construction/excavators/crawlerexcavators",
"updatedDate": "2026-08-09T19:23:57.01"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~machinery-trader-equipment-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["wheel loader"],"source":"machinerytrader","state":"Texas","maxListings":25,"scrapeDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~machinery-trader-equipment-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["excavator","crane"],"make":"Caterpillar","yearMin":2018,"maxListings":100}'

Apify CLI:

apify call scrapers_lat/machinery-trader-equipment-scraper \
--input '{"searchQueries":["telehandler"],"source":"mascus","maxListings":50}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per listing returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 listings per run. Upgrade for higher maxListings.
  • Detail scraping is slower. With scrapeDetails on, each listing page is fetched individually, so runs take longer. MachineryTrader is bot protected and always runs through a US residential proxy.

FAQ and troubleshooting

A run returned 0 listings. Why? The search or filter combination matched nothing. Loosen filters (remove make, widen the year or price range), or try a broader search term. Zero-result runs are not charged.

How do I get the dealer's email and full address? Set scrapeDetails to true. The actor then opens each listing page and adds dealerEmail, dealerContactName, dealerWebsite, and dealerAddress. On MachineryTrader the email is recovered from the dealer's own website when the marketplace hides it.

What is the difference between the two sources? mascus covers Europe and worldwide inventory and needs no proxy. machinerytrader covers United States inventory and always runs through a US residential proxy because the site is bot protected.

Why is priceAmount null? The listing shows price on request, or it is an auction lot with no fixed price. Missing values are returned as null, never invented. Check priceEur or priceUsd for a converted figure when available.

Can I search several equipment types at once? Yes. Pass multiple terms in searchQueries. Each is searched separately and every record carries the searchQuery that produced it.

Is this an official MachineryTrader or Mascus tool? No. This actor is independent and has no affiliation with MachineryTrader, Mascus, or Sandhills. It reads only publicly listed data. Use it in accordance with each site's terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with MachineryTrader, Mascus, or Sandhills. Accesses only publicly available listing data. Use in accordance with each site's terms of service.