# Troostwijk Auction Extractor (`kawsar/troostwijk-auction-extractor`) Actor

Troostwijk auction scraper that turns any keyword search into structured lot data with bids, closing times, locations, specifications and images, so you can track asset prices and export listings without opening the site.

- **URL**: https://apify.com/kawsar/troostwijk-auction-extractor.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

## Troostwijk Auction Extractor

Search Troostwijk Auctions by keyword and get every matching lot back as structured data. Type in what you are looking for, run it, and you get titles, current bids, bid counts, closing times, locations, categories and image URLs in a table you can export.

There are no URLs to paste. A search term is all it takes.

### What people use it for

- Track what similar machines, vehicles or equipment are actually selling for
- Watch a keyword across every European auction Troostwijk runs and export the results on a schedule
- Build price history for a brand or model over weeks of auctions
- Feed listing data into a comparison site, marketplace or internal dashboard
- Pull image galleries and full specifications for lots you care about

### Input

| Field | Type | Description |
|---|---|---|
| `searchTerm` | string | The keyword to search for. Required. |
| `language` | string | Language for lot titles and specification names. English by default. |
| `countries` | array | Country codes to limit results to, such as `nl`, `be`, `de`, `pl`. Empty means everywhere. |
| `category` | string | Optional top level category ID if you want to narrow the search. |
| `includeDetails` | boolean | Opens each lot page for the full image gallery, specifications, condition remarks and auction name. Slower, much richer. |
| `maxItems` | integer | How many lots to save per run. Default 100, maximum 1000. |
| `requestTimeoutSecs` | integer | Per-request timeout. Default 30 seconds. |

```json
{
    "searchTerm": "skoda karoq",
    "language": "en",
    "countries": ["nl"],
    "includeDetails": true,
    "maxItems": 100
}
```

### Output

One record per lot. With `includeDetails` off you get the core listing fields:

```json
{
    "lotId": "02fbf485-31e5-49cd-970e-3e9c0b1296c2",
    "lotNumber": "A1-44400-27",
    "lotTitle": "Skoda Scala 1.5 TSI Business Edition. 150hp 2019 (Original-NL), G-316-NZ",
    "lotUrl": "https://www.troostwijkauctions.com/en/l/skoda-scala-1-5-tsi-business-edition-150hp-2019-g-316-nz-A1-44400-27",
    "currentBid": 5000.0,
    "currency": "EUR",
    "bidsCount": 0,
    "biddingStatus": "BIDDING_OPEN",
    "startDate": "2026-07-31T14:00:00+00:00",
    "endDate": "2026-08-11T17:15:00+00:00",
    "city": "Milsbeek",
    "countryCode": "NL",
    "coordinates": "5.94861,51.725",
    "imageUrl": "https://media.tbauctions.com/image-media/9361ca87-.../file",
    "platform": "TWK",
    "searchTerm": "skoda karoq",
    "scrapedAt": "2026-08-09T12:00:00+00:00"
}
```

Turn `includeDetails` on and each record also carries:

| Field | Description |
|---|---|
| `images` | Every photo on the lot page, in order |
| `attributes` | Specifications as name and value pairs, for example brand, model, mileage, fuel type, year |
| `categories` | Category path the lot sits under |
| `remarks` | Seller notes on condition, wear and included options |
| `quantity`, `condition`, `followersCount` | Lot metadata |
| `auctionName`, `auctionNumber`, `auctionLotCount` | The auction the lot belongs to |

### Notes

- Results are paginated automatically until `maxItems` is reached or the search runs out of lots.
- If one lot page fails, that record still gets saved with an `error` field and the run keeps going.
- Amounts are converted to normal currency units, so 5000.0 EUR means five thousand euros.
- Dates come back as ISO 8601 UTC timestamps, ready to sort or compare.

### Running it on a schedule

Bids move right up to the closing deadline, so a single export goes stale fast. Put the actor on an Apify schedule and every run appends a fresh snapshot to your dataset. That is the setup you want if you are after price history rather than a one off export.

# Actor input Schema

## `searchTerm` (type: `string`):

Keyword to search auction lots for, such as a brand, model, machine type or asset name.

## `language` (type: `string`):

Language used for lot titles and attribute names.

## `countries` (type: `array`):

Limit results to these country codes, for example nl, be, de, pl. Leave empty for all countries.

## `category` (type: `string`):

Optional top level category ID to filter by. Leave empty to search every category.

## `includeDetails` (type: `boolean`):

Open each lot page to also collect the full image gallery, specifications, condition remarks and auction name. Slower but far richer output.

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

Maximum number of lots to save per run.

## `requestTimeoutSecs` (type: `integer`):

Per-request timeout in seconds.

## Actor input object example

```json
{
  "searchTerm": "forklift",
  "language": "en",
  "countries": [
    "nl"
  ],
  "category": "",
  "includeDetails": false,
  "maxItems": 40,
  "requestTimeoutSecs": 30
}
```

# Actor output Schema

## `auctionLots` (type: `string`):

Extracted auction lots with titles, current bids, closing dates, locations and images.

# 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 = {
    "searchTerm": "skoda karoq",
    "countries": [
        "nl"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/troostwijk-auction-extractor").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 = {
    "searchTerm": "skoda karoq",
    "countries": ["nl"],
}

# Run the Actor and wait for it to finish
run = client.actor("kawsar/troostwijk-auction-extractor").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchTerm": "skoda karoq",
  "countries": [
    "nl"
  ]
}' |
apify call kawsar/troostwijk-auction-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kawsar/troostwijk-auction-extractor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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