machinio.com APImachinio.com ↗
Access Machinio listings, price insights, auction events, and category data via 8 endpoints. Filter by make, model, location, year, and price.
curl -X GET 'https://api.parse.bot/scraper/31671644-a628-4489-8f5a-b3b9515067fe/search_listings?page=1&query=excavator' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for machinery listings with various filters. Returns paginated results with up to 15 listings per page.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number. |
| sort | string | Sort order (e.g. 'created_at_desc', 'price_asc'). |
| model | string | Model filter (e.g. '320'). |
| query | string | Search keyword (e.g. 'excavator'). |
| year_to | integer | Maximum manufacture year. |
| category | string | Category route/slug (e.g. 'excavators'). Obtainable from get_categories. |
| location | string | Location filter (e.g. 'united-states'). |
| price_to | integer | Maximum price in USD. |
| condition | string | Condition filter: 'used', 'new', or 'refurbished'. |
| year_from | integer | Minimum manufacture year. |
| price_from | integer | Minimum price in USD. |
| manufacturer | string | Manufacturer filter (e.g. 'caterpillar'). |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"listings": "array of listing objects with id, title, link, price, location, and specs",
"total_pages": "integer, total number of pages available"
},
"sample": {
"data": {
"page": 1,
"listings": [
{
"id": "114377676",
"link": "https://www.machinio.com/listings/114377676-new-sdlanch-sdle18p-mini-excavator-in-dighton-ma",
"price": null,
"specs": {},
"title": "New Sdlanch SDLE18P Mini Excavator",
"location": "Dighton, MA"
}
],
"total_pages": 50
},
"status": "success"
}
}About the machinio.com API
The Machinio API gives developers structured access to used industrial machinery data across 8 endpoints, covering listing search, full listing details, price insights, and upcoming auction events. The search_listings endpoint accepts filters for category, location, price range, year, model, and manufacturer, returning paginated results with titles, prices, specs, and direct links. Each listing detail includes seller name, phone when available, images, and a full key-value spec object.
Searching and Filtering Listings
The search_listings endpoint returns up to 15 listings per page and accepts several filter parameters simultaneously: query for keyword search, category for a category slug (sourced from get_categories), location for country or region, price_to for a maximum USD price, year_to for manufacture year cutoff, and model for a specific model string. Results include each listing's id, title, link, price, location, and specs. The sort parameter accepts values like created_at_desc or price_asc to control ordering. Total available pages are returned in total_pages.
Listing Details and Seller Data
get_listing_detail accepts either a full url or a numeric listing_id and returns the complete record: a specs object with key-value technical details, an images array of URLs, seller name, location, and phone when the seller has made it available. get_price_insights accepts a make and model pair and returns a price_range object (with low and high strings), a prices_by_year array showing historical price ranges per year range, and a specs object for that make/model combination.
Categories, Manufacturers, and Autocomplete
get_categories returns all top-level categories with id, human-readable text, listing count, and a route slug usable in other endpoints. get_category_detail expands a category into subcategories, a manufacturers array, category_types filter options, and a total_listings_count. get_manufacturers_for_category returns manufacturer slugs, display names, and per-manufacturer listing counts scoped to a single category. get_search_autocomplete takes a query string and returns ranked suggestions with category, manufacturer, and model fields — useful for building search-ahead interfaces.
Auction Events
get_auction_events returns upcoming auction events with title, link, auctioneer, location, date, and event_id. The dataset is typically limited to around 20 auctions across one or two pages; requests beyond available pages return an empty array rather than an error.
- Build a price tracker that uses
get_price_insightsto monitor historical price ranges for specific make/model pairs over time. - Aggregate used excavator and bulldozer listings by region using
search_listingswithcategoryandlocationfilters. - Populate a machinery search autocomplete field using
get_search_autocompletesuggestions ranked by relevance score. - Compile a seller contact database by extracting
seller,phone, andlocationfields fromget_listing_detailacross a target category. - Track upcoming industrial auctions by polling
get_auction_eventsforauctioneer,date, andlocationdata. - Generate a manufacturer market-share report by category using
get_manufacturers_for_categorylisting counts. - Build a cross-category equipment browser using
get_categoriesroutes andget_category_detailsubcategory and filter metadata.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Machinio offer an official developer API?+
What does `get_price_insights` actually return, and how do I use it?+
make (e.g. 'caterpillar') and model (e.g. '320') to get a price_range object with low and high strings, a prices_by_year array showing price ranges broken down by year range, a specs object with technical details, and a description when available. This endpoint reflects aggregate pricing data for that make/model combination, not individual listing prices.How many auction events can I retrieve?+
page parameter is accepted, but pages beyond the available data return an empty auctions array. The API is not suitable for bulk auction historical data.Does the API return saved searches, user accounts, or listing contact forms?+
Can I filter listings by both manufacturer and model at the same time?+
search_listings accepts a model parameter and a query parameter that can target a manufacturer name, but there is no dedicated manufacturer filter parameter on that endpoint. get_category_detail and get_manufacturers_for_category return manufacturer routes and counts per category. You can fork this API on Parse and revise it to add an explicit manufacturer filter parameter to the search endpoint.