# Euro Auctions Scraper — Europe Construction Equipment​‌​ (`rastriq/euroauctions-scraper`) Actor

Turn euroauctions.com into a recurring source of construction-equipment leads and resale benchmarks. Capture hammer prices, hours and full specs to qualify buyers, sellers and undervalued lots across the European auction circuit.

- **URL**: https://apify.com/rastriq/euroauctions-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** E-commerce, Other
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.90 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Euro Auctions Construction Equipment Scraper

Scrapes construction equipment listings from [euroauctions.com](https://www.euroauctions.com) via their internal JSON API.

### What's new in v0.4

- **Global endpoint mode**: `/data/api/equipmentsearch` scrapes the entire inventory in one pass (~585 pages) instead of 29 category passes
- **Current bids**: live bid amounts for active auction items via `/data/api/search/currentbids`
- **Category name from API**: `cn` field captured directly from the response
- **Updated image CDN**: high-quality images from `images.euroauctionslive.com`
- **curl\_cffi TLS impersonation**: bypasses Azure WAF + Akamai without browser

### Features

- 35 equipment categories via mc= codes (29 default construction/industrial)
- Two scraping modes: per-category (mc=) or global endpoint (equipmentsearch)
- Structured field extraction: make, model, year, hours, condition, tonnage, engine
- Live current bids for auction items
- Past auction results with hammer prices (requires authenticated cookie)
- Anti-detection: TLS fingerprint rotation via curl\_cffi, randomized delays
- Proxy support via Apify proxy configuration

### Output fields

| Field | Description |
|-------|-------------|
| item\_id | Unique lot identifier |
| title | Full lot title |
| category\_name | Category name from API (cn field) |
| make | Extracted brand (CAT, Komatsu, etc.) |
| model | Extracted model |
| year | Manufacturing year |
| hours / hours\_type | Usage hours and type (running/crushing/meter) |
| condition | Unused, Ex-Demo, Refurbished, etc. |
| tonnage | Weight class if mentioned |
| engine\_make / engine\_model | Engine details from description |
| currency / floor\_price / starting\_bid / hammer\_price | Pricing |
| current\_bid | Live bid amount (when fetch\_current\_bids=true) |
| country / region / city | Location |
| lot\_url | Direct link to listing |
| photo\_url | High-res image from CDN |

### Getting hammer prices

1. Create an account at euroauctions.com
2. Log in, open DevTools (F12) > Network
3. Copy the Cookie header from any `/data/api/` request
4. Paste into the "Session cookie" input field
5. Enable "Scrape past auctions"

### Related Scrapers by Rastriq

- [Mascus Scraper](https://apify.com/rastriq/mascus-scraper)
- [Machineryzone Scraper](https://apify.com/rastriq/machineryzone-scraper)
- [Rbauction Scraper](https://apify.com/rastriq/rbauction-scraper)
- [Rockanddirt Scraper](https://apify.com/rastriq/rockanddirt-scraper)
- [Supralift Scraper](https://apify.com/rastriq/supralift-scraper)
- [Truck1 Scraper](https://apify.com/rastriq/truck1-scraper)

# Actor input Schema

## `use_global_endpoint` (type: `boolean`):

Scrape the full inventory across all categories in a single pass. Faster for large extractions. When off, scrapes selected categories individually.

## `categories` (type: `array`):

Equipment categories to scrape. Leave empty to scrape all. Ignored when 'Scrape all categories' is on.

## `max_pages` (type: `integer`):

Number of pages to scrape (30 items per page). Use 1 for a quick test.

## `currency_context` (type: `integer`):

Currency for prices: 1 = GBP, 2 = EUR, 3 = USD, 4 = AUD, 5 = AED.

## `fetch_current_bids` (type: `boolean`):

Fetch live bid amounts for items in active auctions. Adds one extra request per page.

## `past_auctions` (type: `boolean`):

Scrape historical auction results with final sold (hammer) prices. Access to 400K+ past lots across 230+ auctions. <b>Requires a valid session cookie.</b>

## `max_past_lots` (type: `integer`):

Maximum number of historical lots to fetch. Use a low number (50-100) for testing.

## `cookie` (type: `string`):

Paste your authenticated cookie string here. Get it from browser DevTools → Network tab → copy the Cookie header from any request after logging in. Takes priority over auto-refresh.

## `cookieStore` (type: `string`):

ID of a Key-Value Store containing auto-refreshed cookies from the companion cookie refresher actor. Leave empty if using manual cookie.

## `delay_base` (type: `number`):

Minimum delay between requests. Higher values are safer but slower. Recommended: 1.5 for active lots, 2.5+ for past results.

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

Datacenter proxies work well for this site.

## `data_freshness` (type: `string`):

Choose <b>preloaded</b> to get the latest monthly snapshot instantly (fast, cheap). Choose <b>live</b> to scrape fresh data from the website (slower, uses compute).

## Actor input object example

```json
{
  "use_global_endpoint": false,
  "max_pages": 1,
  "currency_context": 1,
  "fetch_current_bids": false,
  "past_auctions": false,
  "max_past_lots": 50,
  "cookieStore": "ZlTJMQzBxWwRykTaN",
  "delay_base": 1.5,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "data_freshness": "live"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "max_pages": 1,
    "max_past_lots": 50,
    "cookieStore": "ZlTJMQzBxWwRykTaN",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/euroauctions-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 = {
    "max_pages": 1,
    "max_past_lots": 50,
    "cookieStore": "ZlTJMQzBxWwRykTaN",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/euroauctions-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 '{
  "max_pages": 1,
  "max_past_lots": 50,
  "cookieStore": "ZlTJMQzBxWwRykTaN",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rastriq/euroauctions-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/uRf0XTUzSoFPI3YMR/builds/DRdb84q3z8LqgCwtC/openapi.json
