· 14 min read
MachineryTrader Scraper: Up to 1,000 Free Results a Month (2026)
A thousand listings costs $5.00 on Apify's free plan, delivering heavy equipment listings with real prices, hours, specs, seller location, and images from MachineryTrader.com. Each browse mode record returns 19 fields, and detail records add 10 more, including full sellerName and sellerPhone. Use this Actor if you need to analyze the used equipment market or generate sales leads. It is not for anyone who needs to scrape data from sites other than MachineryTrader.com, or who requires buyer contact details not included in the records.
Try it: open MachineryTrader Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try MachineryTrader Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of MachineryTrader Scraper a month, before run-start charges and platform usage.
The example request further down caps maxItems at 50, so a first run returns at most 50 results and costs at most $0.25 in result charges. That is enough to see the real shape of the data before deciding anything.
MachineryTrader Scraper was last updated on 2026-08-05. It is one of 1,724 Actors CrawlerBros publishes on Apify, which together have 716,703 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run MachineryTrader Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The primary driver of cost for this Actor is the number of results written to your dataset. This means the maxItems input control, or the breadth of your category, manufacturer, or state inputs, will have the biggest impact on your bill. The cheapest way to evaluate whether this Actor meets your needs is to use the example input, which returns at most 50 results and costs up to $0.25 in result charges.
How do you run MachineryTrader Scraper from the API?
The schema marks 1 of its 14 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~machinerytrader-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"browse","category":"1031","state":"any","condition":"any","sortBy":"featured","proxyConfiguration":{"useApifyProxy":true},"listingIds":[],"maxItems":50}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "browse",
"category": "1031",
"state": "any",
"condition": "any",
"sortBy": "featured",
"proxyConfiguration": {
"useApifyProxy": True
},
"listingIds": [],
"maxItems": 50
}
run = client.actor("crawlerbros~machinerytrader-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "browse",
"category": "1031",
"state": "any",
"condition": "any",
"sortBy": "featured",
"proxyConfiguration": {
"useApifyProxy": true
},
"listingIds": [],
"maxItems": 50
}
const run = await client.actor('crawlerbros~machinerytrader-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which MachineryTrader Scraper inputs matter, and which can you skip?
The most important control is mode, which determines whether you're browsing for listings or fetching details by ID. For general searches, use "browse" mode and specify a category, manufacturer, or state to narrow down results. If you already have listingId values, switch to "byListingIds" mode. Most users can leave sortBy and proxyConfiguration at their defaults for a first run.
mode(string): What to fetch. Default:"browse".category(string): Restrict to an equipment category (mode=browse). Leave as Any to search all categories.state(string): Filter listings by the US state the equipment is located in (mode=browse). Default:"any".condition(string): Filter by equipment condition (mode=browse). Default:"any".sortBy(string): How to order results (mode=browse). Default:"featured".proxyConfiguration(object): Apify proxy used to reach machinerytrader.com (free AUTO datacenter group). Default:{"useApifyProxy":true}.listingIds(array): Numeric MachineryTrader listing IDs, e.g.240187737(from a listing URL/listing/for-sale/240187737/...). Default:[].maxItems(integer): Hard cap on emitted records. Default:50.keywords(string): Free-text keyword search across all listings, e.g.caterpillar 320(mode=browse). Combine with category/manufacturer/state for a narrower search.manufacturer(string): Filter by manufacturer/brand name, e.g.CATERPILLAR,JOHN DEERE,KOMATSU,KUBOTA,BOBCAT,VOLVO,HITACHI,CASE,JCB(mode=browse).minPrice(integer): Drop listings priced below this amount (mode=browse).maxPrice(integer): Drop listings priced above this amount (mode=browse).
The other 2 controls, with their defaults, are listed in the input schema on MachineryTrader Scraper on Apify.
Fixed-choice controls: mode accepts browse (Browse / search listings), byListingIds (Fetch listings by ID); category accepts 19 values, including 1031 (Excavators), any (Any category), 1001 (Aggregate Equipment), 1007 (Asphalt / Pavers / Concrete Equipment); state accepts 51 values (default any), including any (Any state), Alabama, Alaska, Arizona; condition accepts any (Any condition), New, Used; sortBy accepts featured, priceLowHigh (Price: low to high), priceHighLow (Price: high to low), yearOldest (Year: oldest first), yearNewest (Year: newest first).
What does MachineryTrader Scraper return?
The records returned are suitable for market analysis, competitive intelligence, or lead generation, providing key details like price, year, manufacturer, model, and location. For byListingIds runs, sellerName and sellerPhone are included where available. The output reflects the listing as of the scrapedAt timestamp and does not contain buyer contact information.
Browse mode (equipmentListing)
listingId,title,year,manufacturer,model,categoryprice,currency,condition(New/Used),inStockdescription,imageUrllocationCity,locationState,locationPostalCode,locationCountrylistingUrlrecordType: "equipmentListing",scrapedAt
Detail mode (equipmentListingDetail)
hoursMeter(numeric hour reading),hoursMeterStatus(e.g. "Accurate / Verified")serialNumber,sellerName,sellerPhone,areaServedmachineLocation- full street/city/state/zipadditionalSpecs- remaining spec-sheet key/value pairs (varies by equipment type: ROPS, drive type, engine make/model, hydraulics, etc.)imageUrls[]- up to 15 full-size photosvideoUrl- walkaround video if the seller provided one
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open MachineryTrader Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set the "mode" control to "browse" to search listings, or "byListingIds" to fetch specific ones you already know.
- For "browse" mode, narrow your focus with an initial "category" (e.g., "1031" for Excavators) and a "state".
- Refine your search further with a "manufacturer" (like "CATERPILLAR") or "keywords" (such as "320" for a Cat 320 excavator).
- Run the Actor with a small "maxItems" limit (e.g., 50) and review the output for the structure and content of the "equipmentListing" records.
- If the initial output meets expectations, try "byListingIds" with a few
listingIdvalues from your "browse" run to get richer "equipmentListingDetail" records. - Scale up your run by increasing "maxItems" or by expanding the range of categories, manufacturers, or states in your input.
- After a larger run, verify that the returned
priceandlistingUrlfields are present and correctly formatted for a sample of records.
How do you apply it? Three worked playbooks
These are MachineryTrader Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Equipment dealers
Outcome: Monitor competitor pricing across manufacturers and states
Configure: Set "mode" to "browse". Specify concrete "manufacturer" values and an array of US "state" values you want to monitor. Keep "maxItems" low for initial checks.
Working method: Start with a single manufacturer and state, sorting by priceLowHigh. Examine the initial results to understand typical pricing. Expand the search to more states and manufacturers, comparing average prices and price ranges across different segments. Look for price anomalies or new listings from competitors.
Deliverable: A dataset of competitor equipment listings, including price and condition, for specified manufacturers and states.
Stop condition: Output records consistently lack price or manufacturer fields, or condition is unparseable.
Use case 2: Fleet buyers
Outcome: Bulk-compare listings by category/price/year before purchasing
Configure: Set "mode" to "browse". Define your target "category" (e.g., "1031" for Excavators), a minYear and maxYear range, and a minPrice and maxPrice range. Set sortBy to priceLowHigh.
Working method: Begin with a broad category and year range, then progressively narrow your minYear/maxYear and minPrice/maxPrice to identify listings that fit your budget and age requirements. Sort by priceLowHigh to quickly identify the best deals within your criteria. Cross-reference manufacturer and model to compare similar equipment.
Deliverable: A filtered list of heavy equipment listings, ordered by price, with relevant details such as year, manufacturer, model, and condition.
Stop condition: The run times out before completing or returns a significantly lower number of results than expected for the given criteria.
Use case 3: Lead generation
Outcome: Surface seller contact info for a given equipment segment
Configure: Set "mode" to "browse" with a specific category and state. For example, "1031" for excavators in "Texas". Limit maxItems to a manageable number for initial review.
Working method: First, run in "browse" mode to identify relevant listingId values. Next, switch to "byListingIds" mode, providing a list of listingId values from your initial browse. This will fetch the full "equipmentListingDetail" records, which include sellerName and sellerPhone.
Deliverable: A dataset of equipment listings for your target segment, including sellerName and sellerPhone where available.
Stop condition: sellerPhone is consistently empty or malformed across the collected "equipmentListingDetail" records.
What breaks, and how do you design around it?
If you encounter limits on the number of results, consider breaking your task into smaller runs by narrowing down categories, manufacturers, or states. Consider setting maxItems to a few hundred or a thousand for optimal results, as values approaching the 1,000 item cap may affect performance.
When should you not use MachineryTrader Scraper?
Do not use this Actor if your primary need is to collect data from heavy equipment marketplaces other than MachineryTrader.com. If you need a broader sweep of industrial equipment, including CNC machines, or wish to target a wider range of global marketplaces, consider the Machinio Scraper or Mascus Heavy Equipment Scraper. For farm equipment specifically, the TractorHouse Scraper is a better choice. Additionally, if your goal is to track price trends over time for agricultural and construction equipment, the MachineryPete Equipment Price Scraper is purpose-built for that. This Actor is also not ideal if you require data from classifieds or auction sites, which have different data structures than a structured marketplace.
What should you check before trusting the output?
- Watch for missing
priceorlistingUrlfields in "equipmentListing" records; this can indicate malformed data or site changes. - Confirm that the
conditionfield is consistently either 'New' or 'Used'; any other value suggests a parsing error in the record. - Check
hoursMeterStatusfor unexpected values beyond 'Accurate / Verified' in "equipmentListingDetail" records, as this indicates data reliability. - If you used
minPriceormaxPrice, ensure no listings outside your specified range appear in the output. - When operating in
byListingIdsmode, verify that all requestedlistingIdvalues return a corresponding "equipmentListingDetail" record. - Periodically check the
scrapedAttimestamp to ensure the data's freshness aligns with your collection schedule.
None of this proves a record is correct. It gives a scheduled MachineryTrader Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What filtering options are available for browsing listings?
You can filter listings by category, manufacturer, US state, equipment condition (New or Used), price range (minPrice and maxPrice), model-year range (minYear and maxYear), and a free-text keyword search. All browse filters combine. For example, you can search for used Caterpillar excavators in Texas under $100,000.
How many listings can I expect from a single run?
Each run can return up to maxItems records, with a hard cap of 1,000 items per run. The Actor automatically paginates through search results, with each search page typically containing between 20 to 27 listings. Apify's free plan includes $5.00 of monthly usage, covering up to 1,000 results before additional costs.
What information is included in the detailed listing records?
When you use the byListingIds mode, the detailed records include all information from browse mode, plus hoursMeter, hoursMeterStatus, serialNumber, sellerName, sellerPhone, areaServed, machineLocation (full address), additionalSpecs (varying by equipment type), imageUrls (up to 15 full-size photos), and videoUrl if available. Empty fields are omitted from the output.
How fresh is the data collected by this Actor?
The data is real-time. Every request made by the Actor hits MachineryTrader's live listing pages directly, meaning the scrapedAt timestamp in the output records reflects when the data was fetched from the live site. This ensures you're working with the most current information available.
What are the pricing implications of using this Actor?
On Apify's free plan, each result costs $0.005, which is $5.00 per 1,000 results. There is also a run-start fee, which applies every time a run begins, regardless of whether it returns results. Per-result charges only apply to results that are successfully written to the dataset. Apify's free plan includes $5.00 of monthly usage, covering up to 1,000 results before additional costs.
Where to go next
When you are ready to run it, open MachineryTrader Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the MachineryTrader Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- Machinio Scraper: Scrape new & used industrial equipment listings from machinio.com.
- Heavy Equipment Scraper: Scrape heavyequipment.com listings - search by keyword, browse by category or equipment type, or filter by US state / Canadian province.
- LabX Lab Equipment Scraper: Scrape used, new, and refurbished lab equipment listings from LabX.com - chromatography, centrifuges, microscopes, spectrometers, freezers, PCR systems, and more.
- TractorHouse Scraper: Scrape TractorHouse.com farm equipment, tractors, construction machinery, trailers, and trucks.
- Bid On Equipment Scraper: Scrape Bid On Equipment (bid-on-equipment.com), a used industrial machinery marketplace with 25,000+ listings.
- MachineryPete Equipment Price Scraper: Scrape used ag and construction equipment listings from MachineryPete.com - tractors, combines, planters, tillage, hay & forage, construction equipment, trucks & trailers, and more.
- Mascus Heavy Equipment Scraper: Scrape used construction, agriculture, forestry, groundcare, material handling, and transportation equipment listings from Mascus - a global heavy-equipment marketplace.
- UsedVending.com Scraper: Scrape UsedVending.com listings - used vending machines, food trucks, concession trailers, mobile business trucks/trailers, tiny homes and more.
Related guides:
- DBA.dk Scraper: Up to 1,000 Free Results a Month (2026)
- eBay Items Scraper: 22 Data Fields, Up to 1,000 Free Results/Month
- Leboncoin Classifieds Scraper: 3 Practical Use Cases
- Boat Trader Scraper: 3 Practical Use Cases
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-10-01.
Actor last updated by its maintainers on 2026-08-05.
Run outcome figures cover the 30 day public window ending 2026-10-01.
Featured actors
MachineryTrader Scraper
Scrape machinerytrader.com heavy-equipment listings - browse by category (excavators, dozers, cranes, skid steers, etc.), manufacturer, US state, condition and price/year range, or fetch a full listing by ID. Real prices, hours, specs, seller location and images.
Run on Apify ↗