Farm Equipment Listings Scraper — Prices, Bids & Dealers avatar

Farm Equipment Listings Scraper — Prices, Bids & Dealers

Pricing

from $2.50 / 1,000 tractorhouse listings

Go to Apify Store
Farm Equipment Listings Scraper — Prices, Bids & Dealers

Farm Equipment Listings Scraper — Prices, Bids & Dealers

Search used farm equipment on TractorHouse, MachineryTrader, and AuctionTime in one run. Machinery Pete and Fastline are optional sources on the same schema. Each row has year, make, model, asking price or bid, hours, location, and seller. No login.

Pricing

from $2.50 / 1,000 tractorhouse listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Sandhills Global, TractorHouse, MachineryTrader, AuctionTime, Machinery Pete, Fastline, or their affiliates. Data is read from publicly accessible listing cards only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and each site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Search used farm equipment on TractorHouse, MachineryTrader, and AuctionTime in one run. Machinery Pete and Fastline are the same schema when you select them. Each row is a public listing card: year, make, model, asking price or current bid, hours, location, and seller. Built for dealers, appraisers, and brokers who want one dataset instead of a separate export per site.

Farm Equipment ListingsTractorHouseMachineryTraderAuctionTime
Farm Equipment Listings Scraper ◄── you are hereTractorHouse ScraperMachineryTrader ScraperAuctionTime Scraper
Machinery PeteFastline
Machinery Pete ScraperFastline Scraper

What this Actor does

This farm equipment listings scraper reads the search page on each selected marketplace and writes one shared schema. TractorHouse and MachineryTrader contribute retail asking prices. AuctionTime contributes upcoming auction cards (lot, bid, auction date) when those fields are public. Machinery Pete and Fastline stay off unless you add them to sources, so a scheduled watch of the three Sandhills sites does not open those extra pages.

It is a farm equipment API alternative for a cross-market pull in Python, Node.js, or MCP. For a single-site dump, dealer monitor, or lot-page enrichment, use the marketplace Actor named above.

Sold hammers on AuctionTime are often hidden on the public card. This Actor keeps the published bid and leaves the price empty when the site does.

When to use

  • Pull John Deere, Case IH, or Kubota cards from retail and auction sites in one dataset
  • Compare asking prices and public bids for the same model
  • Export a short list for a trade-in desk or a lender packet
  • Hand the rows to an AI assistant through Apify MCP

When a single site is enough: a dealer inventory watch or a full catalog belongs on TractorHouse Scraper, MachineryTrader Scraper, AuctionTime Scraper, Machinery Pete Scraper, or Fastline Scraper.

Key features

  • One schema — source says which site the row came from. Pete and Fastline are optional
  • Retail price and auction bid on the same table
  • Year, make, model, hours, location, seller
  • Keyword tokens kept only when every word appears on the card
  • Phone numbers off by default
  • US residential proxy on the shared Cloudflare path

Input

FieldTypeDefaultDescription
sourcesString[]three Sandhills sitesAdd machinerypete or fastline only when you want those cards
manufacturerString—Brand filter the site applies (JOHN DEERE)
searchQueryString—Extra words that must appear on the card (8R 230)
categoryString—Sandhills category id (1100), or a name such as Tractors on Pete and Fastline
stateString—US state code (IA, TX)
maxItemsPerSourceInteger20Saved cards per marketplace (1–100)
maxPagesPerSourceInteger2Search pages per marketplace (1–5)
includePhonesBooleanfalseKeep a phone already printed on the card
monitorModeBooleanfalseWatch the first recently-added page on each site
monitorStoreNameStringfarm-equipment-listings-monitorNamed store for fingerprints. One name per saved search
resetMonitorStateBooleanfalseClear fingerprints and start a new seed

Set a manufacturer, category, state, or keywords. A manufacturer is the tightest AuctionTime filter.

John Deere across three sites

{
"sources": ["tractorhouse", "machinerytrader", "auctiontime"],
"manufacturer": "JOHN DEERE",
"searchQuery": "8R 230",
"state": "IA",
"maxItemsPerSource": 20,
"maxPagesPerSource": 2
}

Machinery Pete and Fastline

{
"sources": ["machinerypete", "fastline"],
"manufacturer": "JOHN DEERE",
"maxItemsPerSource": 20,
"maxPagesPerSource": 1
}

TractorHouse retail only

{
"sources": ["tractorhouse"],
"manufacturer": "KUBOTA",
"category": "1100",
"maxItemsPerSource": 40,
"maxPagesPerSource": 2
}

Output

One dataset row is one listing card.

FieldDescription
source / sourceNametractorhouse, machinerytrader, auctiontime, machinerypete, or fastline
title, make, model, yearCard identity
priceAsking price when the card prints a number
currentBidPublic bid on an auction card
hoursMeter hours
state, location, dealerNameWhere it sits and who listed it
auctionDate, lotNumberAuction card fields
urlListing URL
changeTypeMonitor only: new or price_change
previousPrice / previousBidValue from the previous tick when the price or bid moved
{
"source": "tractorhouse",
"sourceName": "TractorHouse",
"id": "257864499",
"title": "2021 JOHN DEERE 8R 230",
"make": "JOHN DEERE",
"model": "8R 230",
"year": "2021",
"price": 249000,
"currency": "USD",
"hours": "1450",
"state": "IA",
"dealerName": "Example Dealer",
"url": "https://www.tractorhouse.com/listing/for-sale/257864499"
}

Monitor

Turn on monitorMode and schedule the same input. The Actor reads one recently-added page on each selected site (about 28 cards) and stores a fingerprint in the named key-value store.

  • The first run is a seed. It caches the cards already on that page and writes no dataset rows.
  • Later runs write a row only when a card is new or its asking price or bid changed. changeType is new or price_change.
  • A quiet tick still opens those three pages, then stops. It does not open listing pages and it does not walk page 2.
  • Give each saved search its own monitorStoreName. resetMonitorState starts the seed over.
{
"monitorMode": true,
"monitorStoreName": "deere-8r-230-watch",
"sources": ["tractorhouse", "machinerytrader", "auctiontime"],
"manufacturer": "JOHN DEERE",
"searchQuery": "8R 230",
"maxPagesPerSource": 1
}

Use cases

  • A dealer desk prices a trade-in from live asking prices and public auction cards
  • A lender pulls a one-page comp set for a model and a state
  • An analyst tracks which marketplace is listing a model this week
  • An integration stores source + id and refreshes the same search on a schedule

Integration examples

Node.js

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/farm-equipment-listings-scraper").call({
sources: ["tractorhouse", "machinerytrader", "auctiontime"],
manufacturer: "JOHN DEERE",
searchQuery: "8R 230",
maxItemsPerSource: 20,
maxPagesPerSource: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_TOKEN")
run = client.actor("crawloop/farm-equipment-listings-scraper").call(run_input={
"sources": ["tractorhouse", "machinerytrader", "auctiontime"],
"manufacturer": "JOHN DEERE",
"searchQuery": "8R 230",
"maxItemsPerSource": 20,
"maxPagesPerSource": 1,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/crawloop~farm-equipment-listings-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"manufacturer":"JOHN DEERE","searchQuery":"8R 230","maxItemsPerSource":10,"maxPagesPerSource":1}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store name crawloop/farm-equipment-listings-scraper.

Example prompts:

  • "Run Farm Equipment Listings Scraper for JOHN DEERE 8R 230 and return the rows as JSON grouped by marketplace"
  • "Compare TractorHouse asking prices and AuctionTime bids for a used Kubota tractor in Iowa"
  • "Chain Farm Equipment Listings Scraper, then open TractorHouse Scraper when I need the full dealer monitor for one yard"

Suite next step

For a raw dump or a scheduled dealer watch on one site, run TractorHouse Scraper. For construction iron only, run MachineryTrader Scraper. For auction lots and dates, run AuctionTime Scraper. For ZIP and by-owner cards, run Machinery Pete Scraper. For a Fastline dealer watch, run Fastline Scraper.

FAQ

Which pages are read? Public search cards. The default run is TractorHouse, MachineryTrader, and AuctionTime. Machinery Pete and Fastline run only when selected. Lot pages stay on the single-site Actors.

Why are Pete and Fastline off by default? A monitor tick reads one page per selected site. Leaving them out keeps the scheduled watch on the three Sandhills pages.

Why set a manufacturer? AuctionTime’s public HTML applies the brand, category, and state on the server. A keyword is applied to the cards this Actor already fetched, so a brand keeps the run short.

Where are phone numbers? Off unless includePhones is true. The number has to already be on the public card.

What does a monitor run return? The first run returns an empty dataset and stores fingerprints. The next runs return only new cards and price or bid changes. Schedule that same input; keep one monitorStoreName per search.