# Mascus Heavy Equipment Scraper (`crawlerbros/mascus-heavy-equipment-scraper`) Actor

Scrape used construction, agriculture, forestry, groundcare, material handling, and transportation equipment listings from Mascus - a global heavy-equipment marketplace. Browse by category, manufacturer, and country, or fetch specific listing URLs.

- **URL**: https://apify.com/crawlerbros/mascus-heavy-equipment-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Mascus Heavy Equipment Scraper

Scrape **Mascus** — a global marketplace for used construction, agriculture, forestry, groundcare, material handling, and transportation equipment. Browse listings by equipment type, specific machine category, manufacturer, and country, with year, price, and operating-hours filters, or fetch specific listing URLs directly. HTTP-only, no login, no cookies, no residential proxy required.

### What this actor does

- **Two modes:** `browse` (category / manufacturer / country search) and `byUrl` (fetch specific listing pages)
- **6 equipment types:** construction, agriculture, forestry, groundcare, material handling, transportation
- **150+ curated machine categories:** excavators, dozers, cranes, tractors, forklifts, trucks, trailers, and many more, each mapped to its correct equipment type automatically
- **74 curated manufacturers** (Caterpillar, Komatsu, Volvo, John Deere, JCB, Liebherr, and more) plus free-text overrides for any Mascus category/manufacturer slug not in the dropdown
- **105 countries** to narrow results to equipment located in a specific market
- **Filters:** year range, price range, max operating hours, keyword (title/description)
- **Rich per-listing data:** price, currency, condition, availability, seller name/profile, serial number, and any extra category-specific specs Mascus publishes
- Empty fields are omitted — a field only appears when Mascus actually publishes that data

### Output per listing

- `title` — listing headline (e.g. `CAT 336FL`)
- `brand`, `model`
- `mainCategory` — top-level equipment type (e.g. `Construction Equipment`)
- `category` — specific machine category (e.g. `Crawler Excavators`)
- `year` — year of manufacture
- `hours` — recorded operating hours
- `price`, `currency` — only present when the seller has published a fixed price (many auction-sourced listings are "call for price" and omit this)
- `condition` — e.g. `Used`, `New`
- `availability` — e.g. `In Stock`
- `location` — city/region text as published
- `country`
- `serialNumber`, `customerAssetNumber`
- `description`
- `sellerName`, `sellerUrl`
- `imageUrl` — primary listing photo
- `imageUrls[]` — full photo gallery (up to 20 images per listing)
- `additionalSpecs` — any further category-specific spec fields Mascus publishes for that listing (varies by machine type)
- `listingId` — Mascus's internal listing ID
- `sourceUrl` — canonical listing URL
- `recordType: "listing"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `browse` | `browse` (category/manufacturer/country search) or `byUrl` (fetch specific listings) |
| `mainCategory` | string | `construction` | Equipment type: construction / agriculture / forestry / groundcare / material-handling / transportation (mode=browse) |
| `subCategory` | string | `crawler-excavators` | Specific machine category to browse (mode=browse). Leave as the default option to use a representative category for the chosen equipment type — Mascus has no single "browse everything" page |
| `subCategoryOther` | string | – | Power-user override: an exact Mascus category slug not in the dropdown |
| `manufacturer` | string | – | Restrict to one manufacturer/brand (mode=browse) |
| `manufacturerOther` | string | – | Power-user override: an exact Mascus manufacturer slug not in the dropdown |
| `country` | string | – | Restrict to equipment located in one country |
| `sortBy` | string | `relevance` | Result order: relevance / price ascending / price descending / year newest / year oldest / recently listed |
| `keyword` | string | – | Case-insensitive substring match against title/description |
| `yearMin`, `yearMax` | int | – | Year-of-manufacture range |
| `priceMin`, `priceMax` | int | – | Price range in USD (listings without a published price always pass through) |
| `hoursMax` | int | – | Drop listings with more operating hours than this |
| `listingUrls` | array | – | Direct Mascus listing URLs to fetch (mode=byUrl) |
| `maxItems` | int | `40` | Hard cap on emitted records (1–1000) |
| `proxyConfiguration` | object | off | Optional Apify proxy; Mascus serves plain HTML with no bot protection so this is not required |

#### Example: browse crawler excavators (default)

```json
{
  "mode": "browse",
  "mainCategory": "construction",
  "subCategory": "crawler-excavators",
  "maxItems": 40
}
````

#### Example: Caterpillar wheel loaders in Germany, 2018+

```json
{
  "mode": "browse",
  "mainCategory": "construction",
  "subCategory": "wheel-loaders",
  "manufacturer": "caterpillar",
  "country": "de",
  "yearMin": 2018,
  "maxItems": 50
}
```

#### Example: tractors under $80,000 with under 3,000 hours

```json
{
  "mode": "browse",
  "mainCategory": "agriculture",
  "subCategory": "tractors",
  "priceMax": 80000,
  "hoursMax": 3000,
  "maxItems": 50
}
```

#### Example: fetch specific listing URLs

```json
{
  "mode": "byUrl",
  "listingUrls": [
    "https://www.mascus.com/construction/crawler-excavators/cat-336fl/6sft3pih.html",
    "https://www.mascus.com/material-handling/diesel-forklifts/clark-c80d/dudgig5s.html"
  ]
}
```

### Use cases

- **Equipment dealers** — monitor competitor listings and pricing across manufacturers and regions
- **Fleet buyers** — source used machinery within a budget and hours-run threshold
- **Market research** — track average pricing and inventory levels for a specific machine category over time
- **Import/export brokers** — find equipment available in a specific country for cross-border resale
- **Auction & finance analytics** — build pricing datasets across construction, agriculture, and transportation equipment

### Data source / limitations

This actor scrapes the public listing pages of [mascus.com](https://www.mascus.com), a global used-equipment marketplace. It is not affiliated with Mascus.

- A meaningful share of listings (particularly auction-sourced inventory) do not publish a fixed price on the listing page — Mascus shows these as "call for price". The `price`/`currency` fields are simply omitted for those records rather than showing a placeholder value.
- Mascus has no single page that lists every listing within an equipment type — a specific machine category (`subCategory`) must always be selected; the actor picks a sensible default automatically if none is given.
- Combining `manufacturer` and `country` in the same run applies `manufacturer` as the primary search facet and `country` as a secondary filter on the results (Mascus's URL scheme only supports one category-level facet at a time).
- Manufacturer- or country-filtered browsing returns up to the first results page (~40 listings); removing those filters enables full multi-page browsing up to `maxItems`.

### FAQ

**Is this affiliated with Mascus?**
No, this is an independent third-party actor that reads Mascus's public listing pages.

**Why don't all listings have a price?**
Mascus aggregates both dealer listings (which usually show a fixed asking price) and auction-house inventory (which is typically sold "call for price" or via live auction). The actor only includes a price when one is actually published.

**Can I search by keyword only, without a category?**
`keyword` is applied as a filter on top of a browsed category rather than as an independent full-text search — Mascus's own site-wide search box does not reliably return query-matched results via plain HTTP, so this actor exposes keyword filtering the way that is actually reliable: narrow by category, then filter by keyword.

**How fresh is the data?**
Every run fetches listings live from mascus.com at request time.

**Can I combine manufacturer and country filters?**
Yes — see the Limitations note above on how the two combine.

**What does `additionalSpecs` contain?**
Any spec fields Mascus publishes for a listing beyond the standard set (year, hours, location, country, serial number). These vary by machine type, so the field is only present when extra specs exist.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `mainCategory` (type: `string`):

Top-level equipment category to browse.

## `subCategory` (type: `string`):

The specific machine type to browse (Mascus requires a leaf category; it has no "browse everything" page). Leave as "(Default for equipment type)" to use a representative category for the chosen equipment type. Must belong to the selected `mainCategory` or 0 results will be returned.

## `subCategoryOther` (type: `string`):

Power-user override: an exact Mascus category slug not present in the dropdown above (e.g. `mini-cranes`). Takes precedence over `subCategory` when set.

## `manufacturer` (type: `string`):

Restrict results to a specific manufacturer/brand.

## `manufacturerOther` (type: `string`):

Power-user override: an exact Mascus manufacturer slug not present in the dropdown above (e.g. `hidromek`). Takes precedence over `manufacturer` when set.

## `country` (type: `string`):

Restrict results to equipment located in a specific country.

## `sortBy` (type: `string`):

Result ordering. Only applies when browsing without a manufacturer/country facet (those cap at the first results page).

## `keyword` (type: `string`):

Only keep listings whose title or description contains this text (case-insensitive substring match, applied after fetching).

## `yearMin` (type: `integer`):

Drop listings manufactured before this year.

## `yearMax` (type: `integer`):

Drop listings manufactured after this year.

## `priceMin` (type: `integer`):

Drop listings priced below this amount. Listings without a published price always pass through.

## `priceMax` (type: `integer`):

Drop listings priced above this amount. Listings without a published price always pass through.

## `hoursMax` (type: `integer`):

Drop listings with more recorded operating hours than this. Listings without hours data always pass through.

## `listingUrls` (type: `array`):

Direct Mascus listing URLs to fetch, e.g. `https://www.mascus.com/construction/crawler-excavators/cat-336fl/6sft3pih.html`.

## `maxItems` (type: `integer`):

Hard cap on emitted records.

## `proxyConfiguration` (type: `object`):

Optional. Mascus serves plain HTML with no bot protection, so a proxy is not required, but AUTO datacenter proxy can help avoid rate limiting on large runs.

## Actor input object example

```json
{
  "mode": "browse",
  "mainCategory": "construction",
  "subCategory": "crawler-excavators",
  "sortBy": "relevance",
  "listingUrls": [],
  "maxItems": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset containing all scraped Mascus equipment listings.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "browse",
    "mainCategory": "construction",
    "subCategory": "crawler-excavators",
    "sortBy": "relevance",
    "listingUrls": [],
    "maxItems": 40,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/mascus-heavy-equipment-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "browse",
    "mainCategory": "construction",
    "subCategory": "crawler-excavators",
    "sortBy": "relevance",
    "listingUrls": [],
    "maxItems": 40,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/mascus-heavy-equipment-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "browse",
  "mainCategory": "construction",
  "subCategory": "crawler-excavators",
  "sortBy": "relevance",
  "listingUrls": [],
  "maxItems": 40,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call crawlerbros/mascus-heavy-equipment-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/mascus-heavy-equipment-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mascus Heavy Equipment Scraper",
        "description": "Scrape used construction, agriculture, forestry, groundcare, material handling, and transportation equipment listings from Mascus - a global heavy-equipment marketplace. Browse by category, manufacturer, and country, or fetch specific listing URLs.",
        "version": "1.0",
        "x-build-id": "5qjyeCXKN2eiUPPZz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~mascus-heavy-equipment-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-mascus-heavy-equipment-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~mascus-heavy-equipment-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-mascus-heavy-equipment-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~mascus-heavy-equipment-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-mascus-heavy-equipment-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode",
                    "mainCategory"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "browse",
                            "byUrl"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "browse"
                    },
                    "mainCategory": {
                        "title": "Equipment type (mode=browse)",
                        "enum": [
                            "construction",
                            "agriculture",
                            "forestry",
                            "groundcare",
                            "material-handling",
                            "transportation"
                        ],
                        "type": "string",
                        "description": "Top-level equipment category to browse.",
                        "default": "construction"
                    },
                    "subCategory": {
                        "title": "Specific machine category (mode=browse)",
                        "enum": [
                            "",
                            "excavators",
                            "crawler-excavators",
                            "wheeled-excavators",
                            "mini-diggers-excavators-7",
                            "demolition-excavators",
                            "backhoe-loaders",
                            "cranes",
                            "rough-terrain-cranes",
                            "all-terrain-cranes",
                            "tracked-cranes",
                            "tower-cranes",
                            "mini-cranes",
                            "aerial-platforms",
                            "articulated-boom-lifts",
                            "telescopic-boom-lifts",
                            "scissor-lifts",
                            "telescopic-handlers",
                            "dumpers",
                            "site-dumpers",
                            "articulated-dump-trucks-(adts)",
                            "rigid-dump-trucks",
                            "loaders",
                            "wheel-loaders",
                            "skid-steer-loaders",
                            "crawler-loaders",
                            "mini-loaders",
                            "dozers",
                            "crawler-dozers",
                            "wheel-dozers",
                            "graders",
                            "scrapers",
                            "trenchers",
                            "compressors",
                            "generator",
                            "diesel-generators",
                            "rollers",
                            "single-drum-rollers",
                            "twin-drum-rollers",
                            "pneumatic-tired-rollers",
                            "drilling-equipment",
                            "asphalt-machines",
                            "asphalt-pavers",
                            "compaction-equipment",
                            "soil-compactors",
                            "plate-compactors",
                            "crushers",
                            "mobile-crushers",
                            "screeners",
                            "concrete-equipment",
                            "concrete-pump-trucks",
                            "piling-rigs",
                            "backhoes",
                            "tractors",
                            "combine-harvesters",
                            "agricultural-harvesters",
                            "forage-harvesters",
                            "self-propelled-foragers",
                            "mowers",
                            "square-balers",
                            "round-balers",
                            "telehandlers-for-agriculture",
                            "front-loaders-and-diggers",
                            "trailers-agriculture",
                            "tipper-trailers",
                            "conventional-ploughs",
                            "cultivators",
                            "disc-harrows",
                            "power-harrows-and-rototillers",
                            "manure-spreaders",
                            "mineral-spreaders",
                            "combination-drills",
                            "planters",
                            "sprayers",
                            "self-propelled-sprayers",
                            "atvs",
                            "utvs",
                            "irrigation-systems",
                            "forestry-harvesters",
                            "forest-excavators",
                            "forwarders",
                            "feller-bunchers",
                            "skidders",
                            "forestry-tractors",
                            "forestry-mulchers",
                            "wood-chippers",
                            "stump-grinders",
                            "sawmills",
                            "knuckleboom-loaders",
                            "chainsaws-and-clearing-saws",
                            "compact-tractors",
                            "lawnmowers",
                            "riding-mowers",
                            "zero-turn-mowers",
                            "walk-behind-mowers",
                            "robot-mowers",
                            "sweepers",
                            "utility-tool-carriers",
                            "golf-carts",
                            "fairway-mowers",
                            "greens-mowers",
                            "two-wheeled-tractors-and-cultivators",
                            "forklift-trucks",
                            "diesel-forklifts",
                            "electric-forklifts",
                            "lpg-forklifts",
                            "pallet-trucks",
                            "stackers",
                            "reach-truck",
                            "order-pickers",
                            "container-handlers",
                            "reachstackers",
                            "terminal-tractors",
                            "overhead-and-gantry-cranes",
                            "automated-guided-vehicles",
                            "narrow-aisle-trucks",
                            "rough-terrain-truck",
                            "sideloader",
                            "scrubber-dryers",
                            "indoor-sweepers",
                            "trucks",
                            "box-body-trucks",
                            "flatbed-dropside-trucks",
                            "tipper-trucks",
                            "crane-trucks",
                            "tank-trucks",
                            "tractor-units",
                            "trailers",
                            "semi-trailers",
                            "flatbed-dropside-semi-trailers",
                            "low-loader-semi-trailers",
                            "tanker-semi-trailers",
                            "box-body-semi-trailers",
                            "tipper-semi-trailers",
                            "timber-semi-trailers",
                            "dollies",
                            "bus-coach",
                            "city-bus",
                            "school-bus",
                            "fire-trucks",
                            "ambulances",
                            "waste-trucks",
                            "recovery-vehicles",
                            "vans-and-light-commercials",
                            "panel-vans",
                            "pick-up-dropside",
                            "motorhomes-and-caravans",
                            "cars",
                            "containers",
                            "shipping-containers",
                            "loader-cranes"
                        ],
                        "type": "string",
                        "description": "The specific machine type to browse (Mascus requires a leaf category; it has no \"browse everything\" page). Leave as \"(Default for equipment type)\" to use a representative category for the chosen equipment type. Must belong to the selected `mainCategory` or 0 results will be returned.",
                        "default": "crawler-excavators"
                    },
                    "subCategoryOther": {
                        "title": "Custom subcategory slug override (mode=browse)",
                        "type": "string",
                        "description": "Power-user override: an exact Mascus category slug not present in the dropdown above (e.g. `mini-cranes`). Takes precedence over `subCategory` when set."
                    },
                    "manufacturer": {
                        "title": "Manufacturer (mode=browse)",
                        "enum": [
                            "",
                            "caterpillar",
                            "cat",
                            "komatsu",
                            "volvo",
                            "hitachi",
                            "doosan",
                            "develon",
                            "hyundai",
                            "kobelco",
                            "liebherr",
                            "jcb",
                            "case",
                            "case_ih",
                            "john_deere",
                            "kubota",
                            "xcmg",
                            "sany",
                            "zoomlion",
                            "sdlg",
                            "liugong",
                            "wacker_neuson",
                            "takeuchi",
                            "new_holland",
                            "yanmar",
                            "bobcat",
                            "terex",
                            "fiat",
                            "mitsubishi",
                            "manitou",
                            "atlas_copco",
                            "bomag",
                            "jlg",
                            "kenworth",
                            "peterbilt",
                            "freightliner",
                            "ford",
                            "fendt",
                            "claas",
                            "massey_ferguson",
                            "valtra",
                            "deutz-fahr",
                            "steyr",
                            "renault",
                            "same",
                            "mccormick",
                            "deutz",
                            "landini",
                            "lamborghini",
                            "mahindra",
                            "agco",
                            "linde",
                            "hyster",
                            "toyota",
                            "yale",
                            "still",
                            "nissan",
                            "clark",
                            "jungheinrich",
                            "konecranes",
                            "kalmar",
                            "hyster-yale",
                            "mercedes-benz",
                            "man",
                            "honda",
                            "kramer",
                            "gehl",
                            "sennebogen",
                            "krone",
                            "kuhn",
                            "kverneland",
                            "vermeer",
                            "scania",
                            "iveco",
                            "daf"
                        ],
                        "type": "string",
                        "description": "Restrict results to a specific manufacturer/brand."
                    },
                    "manufacturerOther": {
                        "title": "Custom manufacturer slug override (mode=browse)",
                        "type": "string",
                        "description": "Power-user override: an exact Mascus manufacturer slug not present in the dropdown above (e.g. `hidromek`). Takes precedence over `manufacturer` when set."
                    },
                    "country": {
                        "title": "Country (mode=browse)",
                        "enum": [
                            "",
                            "us",
                            "ca",
                            "mx",
                            "gb",
                            "de",
                            "fr",
                            "it",
                            "es",
                            "pt",
                            "nl",
                            "be",
                            "lu",
                            "ch",
                            "at",
                            "se",
                            "no",
                            "dk",
                            "fi",
                            "is",
                            "ie",
                            "pl",
                            "cz",
                            "sk",
                            "hu",
                            "ro",
                            "bg",
                            "gr",
                            "hr",
                            "si",
                            "rs",
                            "ba",
                            "mk",
                            "al",
                            "me",
                            "xk",
                            "ee",
                            "lv",
                            "lt",
                            "by",
                            "ua",
                            "md",
                            "ru",
                            "tr",
                            "cy",
                            "mt",
                            "au",
                            "nz",
                            "jp",
                            "kr",
                            "cn",
                            "in",
                            "id",
                            "my",
                            "sg",
                            "th",
                            "vn",
                            "ph",
                            "pk",
                            "bd",
                            "lk",
                            "ae",
                            "sa",
                            "qa",
                            "kw",
                            "bh",
                            "om",
                            "il",
                            "jo",
                            "lb",
                            "iq",
                            "ir",
                            "eg",
                            "za",
                            "ng",
                            "ke",
                            "gh",
                            "ma",
                            "dz",
                            "tn",
                            "ci",
                            "sn",
                            "br",
                            "ar",
                            "cl",
                            "co",
                            "pe",
                            "uy",
                            "py",
                            "bo",
                            "ec",
                            "ve",
                            "cr",
                            "pa",
                            "do",
                            "gt",
                            "hn",
                            "ni",
                            "sv",
                            "jm",
                            "tt",
                            "kz",
                            "uz",
                            "ge",
                            "am",
                            "az"
                        ],
                        "type": "string",
                        "description": "Restrict results to equipment located in a specific country."
                    },
                    "sortBy": {
                        "title": "Sort order (mode=browse)",
                        "enum": [
                            "relevance",
                            "price_asc",
                            "price_desc",
                            "year_desc",
                            "year_asc",
                            "date_desc"
                        ],
                        "type": "string",
                        "description": "Result ordering. Only applies when browsing without a manufacturer/country facet (those cap at the first results page).",
                        "default": "relevance"
                    },
                    "keyword": {
                        "title": "Keyword filter",
                        "type": "string",
                        "description": "Only keep listings whose title or description contains this text (case-insensitive substring match, applied after fetching)."
                    },
                    "yearMin": {
                        "title": "Year built (min)",
                        "minimum": 1950,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Drop listings manufactured before this year."
                    },
                    "yearMax": {
                        "title": "Year built (max)",
                        "minimum": 1950,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Drop listings manufactured after this year."
                    },
                    "priceMin": {
                        "title": "Price (min, USD)",
                        "minimum": 0,
                        "maximum": 100000000,
                        "type": "integer",
                        "description": "Drop listings priced below this amount. Listings without a published price always pass through."
                    },
                    "priceMax": {
                        "title": "Price (max, USD)",
                        "minimum": 0,
                        "maximum": 100000000,
                        "type": "integer",
                        "description": "Drop listings priced above this amount. Listings without a published price always pass through."
                    },
                    "hoursMax": {
                        "title": "Max operating hours",
                        "minimum": 0,
                        "maximum": 200000,
                        "type": "integer",
                        "description": "Drop listings with more recorded operating hours than this. Listings without hours data always pass through."
                    },
                    "listingUrls": {
                        "title": "Listing URLs (mode=byUrl)",
                        "type": "array",
                        "description": "Direct Mascus listing URLs to fetch, e.g. `https://www.mascus.com/construction/crawler-excavators/cat-336fl/6sft3pih.html`.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 40
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional. Mascus serves plain HTML with no bot protection, so a proxy is not required, but AUTO datacenter proxy can help avoid rate limiting on large runs.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
