# Emirates Auction Scraper (`dhrumil/emirates-auction-scraper`) Actor

Scrape all vehicle and property listings from Emirates Auction with monitoring and deduplication. Supports full gallery image extraction and incremental updates for new listings.

- **URL**: https://apify.com/dhrumil/emirates-auction-scraper.md
- **Developed by:** [Dhrumil Bhankhar](https://apify.com/dhrumil) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 12 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $4.00 / 1,000 starter tier per 1k items

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Emirates Auction Vehicles & Properties Scraper

This Apify actor scrapes all vehicle and property listings from [emiratesauction.com](https://www.emiratesauction.com/), supporting both Vehicles and Properties endpoints.

### 🚀 Features

- Scrape all vehicle or property listings, with full pagination support
- Choose between "Vehicles" and "Properties" using the input
- Monitoring mode: Only get new listings since your last run
- All items are tracked in a dedicated Apify Key-Value store for deduplication and monitoring
- Download data in JSON, CSV, Excel, and more

### 📚 How to use

1. Register for a free Apify account [here](https://apify.com/pricing?fpr=z2di7)
2. Run this actor and select whether you want to scrape "Vehicles" or "Properties"
3. Optionally, enable monitoring mode to only get new listings since your last run
4. Download your data or integrate with other platforms

### 🌳 What data can I extract?

| Vehicles Fields      | Properties Fields         |
|----------------------|--------------------------|
| Id                   | PropertyId               |
| Title                | Title                    |
| Year                 | Area, AreaInFoot         |
| Odometer             | Address                  |
| OdometerStr          | Description              |
| Tags                 | Tags                     |
| MainImage            | MainImage, Images        |
| ClassificationId     | ClassificationId         |
| CurrentPriceStr      | CurrentPriceStr          |
| Bids                 | Bids                     |
| EndDate, EndDateStr  | EndDate, EndDateStr      |
| Currency             | Currency                 |
| SharingLink          | SharingLink              |
| EventTitle           | EventTitle               |
| Priority             | Priority                 |
| MinIncrement         | MinIncrement             |
| BidderAuctionInfo    | BidderAuctionInfo        |
| IsExclusive          | IsExclusive              |
| AllowToBid           | AllowToBid               |

### ⬇️ Input

You only need to select the type ("Vehicles" or "Properties"). Optionally, enable monitoring mode to only get new items.

#### Input example

```json
{
	"type": "Vehicles",
	"monitoringMode": false
}
```

- `type`: Choose `"Vehicles"` or `"Properties"` to scrape.
- `monitoringMode`: If `true`, only new items (not seen in previous runs) will be pushed to the dataset.

### ⬆️ Output

The scraped data is stored in the dataset of each run. The data can be viewed or downloaded in many popular formats, such as *JSON, CSV, Excel, XML, RSS, and HTML*.

#### Output example

##### Vehicles

```json
{
	"Year": 2025,
	"Odometer": 2181,
	"OdometerStr": "2,181  Km",
	"Tags": [
		{
			"Id": 11,
			"Title": "2,181 Km",
			"Image": "https://www.emiratesauction.com/imagescdn/7009da83-8473-435a-2ed9-aa8019531000/public",
			"TagName": "Odometer",
			"ChipTypeId": 1
		},
		{
			"Id": 19,
			"Title": "Imported",
			"Image": "https://www.emiratesauction.com/imagescdn/9cec1c63-6355-479c-feec-3cd2a77b6d00/public",
			"TagName": "Imported",
			"ChipTypeId": 1
		},
		{
			"Id": 33,
			"Title": "Salvage",
			"Image": "https://www.emiratesauction.com/imagescdn/b84898d0-d769-4356-3d15-a589eae87800/public",
			"TagName": "Salvage",
			"ChipTypeId": 0
		},
		{
			"Id": 12,
			"Title": "Petrol",
			"Image": "https://www.emiratesauction.com/imagescdn/1b8c5abd-ec43-4e7b-61a6-54fe19392b00/public",
			"TagName": "Fuel Type",
			"ChipTypeId": 1
		}
	],
	"MainImage": "https://cdn.emiratesauction.com/media/2pvu3ojxjon6tlmkty0gpn668oyx3c9mi63vibh68f2s68yvdv/t_,w_[w],h_[h]/images.jpg",
	"ClassificationId": 6,
	"Is360": true,
	"Image360Link": "https://apiv8.emiratesauction.net/Vehicle/images360.html?lot=590280",
	"Image360Image": "https://cdn.emiratesauction.com/media/2pvu3ojxjon6tlmkty0gpn668oyx3c9mi63vibh68f2s68yvdv/t_,w_[w],h_[h]/images.jpg",
	"Video": [],
	"RedisKey": "Redis_AuctionImages_4_470659",
	"CurrentPriceStr": "288,000",
	"Bids": 0,
	"EndDate": "2025-10-14T18:00:00",
	"EndDateTicks": 34904,
	"IsExpired": false,
	"EndDateStr": "14 Oct, 06:00 PM",
	"Lot": 590280,
	"Priority": 1,
	"Currency": "AED",
	"SharingLink": "\nhttps://www.emiratesauction.com/auctions/vehicles/590280/4",
	"SharingMsg": "Emirates Auction\n2025 Land Rover Defender for auction\nLot# 590280\nCurrent Price: AED 288,000\nAuction Ends on 14 Oct, 06:00 PM",
	"MinIncrement": 100,
	"BidderAuctionInfo": {
		"HasBid": false,
		"IsHighest": false,
		"HasProxyBid": false,
		"HasHighestProxyBid": false,
		"ProxyBidPrice": 0,
		"MinIncrement": 0,
		"CheckOutType": 0
	},
	"EventTitle": "2025 Land Rover Defender",
	"Id": 590280,
	"Title": "2025 Land Rover Defender",
	"IsExclusive": false,
	"AllowToBid": false
}

```

##### Properties

```json
{
	"PropertyType": 8,
	"Images": [],
	"AreaInFoot": "2330.40",
	"Description": "Office No.602|\r\nFaya Business Park Tower / Al Majaz 2 |\r\nPlot No. 872/27 |\r\nTotal Area:2,330.40 sq ft |\r\nCars Park no.21 /22 |\r\nOnly for GCC citizens|\r\n|\r\nvacant |\r\n|\r\nThe auction session scheduled for the sale|\r\nof the property is on 14/10/2025|\r\n|\r\nThe property will be delivered in its original|\r\ncondition by the enforcement officer|\r\nIn court. |\r\n|\r\nThe successful bidder must provide us with|\r\nthe value of the amounts due on the property|\r\nfrom government departments, if any, within ten|\r\ndays from the date of transfer of ownership. |\r\nThe bidder has no right to claim any rights|\r\nrelated to this from Emirates Auctions. |\r\n|\r\nRecent decisions of the Sharjah Courts |\r\napply in terms of accepting or rejecting|\r\noffers of the bidders |\r\n|\r\nYour participation in the auction is an|\r\nacknowledgment of the property legal|\r\nand physical conditions|\r\n|\r\nFor more details or to participate in auction|\r\nplease call us at 600545454|\r\navailable 24 hours|\r\n|",
	"Latitude": "25.329487060716797",
	"Longitude": "55.39172383880198",
	"Address": "Al Majaz 2",
	"Area": "2,330.40 ft² ",
	"Bed": 0,
	"Bath": 0,
	"LivingRooms": 0,
	"OfficeRooms": 0,
	"HalfBathrooms": 0,
	"Gcc": 3,
	"Emirates": 6,
	"IsStop": 0,
	"IsPhysicalAuction": 0,
	"EmirateName": "Sharjah",
	"FullTitle": "Office",
	"FullSubTitle": "Al Majaz 2 - Sharjah",
	"ReOpenPrice": 1131572,
	"ReOpenPriceStr": "1,131,572",
	"DateToRemoveTicks": 0,
	"ClassificationId": 4,
	"HasNotification": false,
	"RedisKey": "Redis_AuctionImages_9_9086",
	"CurrentPriceStr": "985,500",
	"Bids": 0,
	"EndDate": "2025-10-14T17:00:00",
	"EndDateTimestamp": 1760446800,
	"EndDateTicks": 31179,
	"IsExpired": false,
	"EndDateStr": "14 Oct, 05:00 PM",
	"FilterEndDateStr": "Today",
	"Lot": 19357,
	"PropertyId": 9086,
	"StartDate": "2025-10-13T17:23:45.0270000",
	"Priority": 1000,
	"MainImage": "https://cdn.emiratesauction.com/media/2i03sady2ernuzuw3tzchzx33ic58kg40frlmv38kffubbh3fp/t_,w_[w],h_[h]/images.jpg",
	"IsPin": false,
	"Currency": "AED",
	"SharingLink": "\nhttps://www.emiratesauction.com/auctions/properties/19357/9",
	"SharingMsg": "Emirates Auction:\nCheck out this amazing property\nOffice - \nLot# 19357\nCurrent Price: AED 985,500\nAuction Ends on 14 Oct, 05:00 PM",
	"TermsUrl": "https://www.emiratesauction.com/en/cars/carterms.aspx?ciaid=19357&type=2",
	"MinIncrement": 10000,
	"BidderAuctionInfo": {
		"HasBid": false,
		"IsHighest": false,
		"HasProxyBid": false,
		"HasHighestProxyBid": false,
		"ProxyBidPrice": 0,
		"MinIncrement": 0,
		"CheckOutType": 0
	},
	"EventTitle": "Office",
	"Id": 19357,
	"Title": "Office",
	"TimerStep": 1,
	"AllowToBid": true,
	"IsExclusive": false,
	"ViewingStatus": 0,
	"Video": [],
	"Tags": [
		{
			"Id": 30,
			"Title": "2,330.4 ft²",
			"Image": "https://www.emiratesauction.com/imagescdn/a989a042-83cf-4fee-156e-ca566b34e600/public",
			"TagName": "Area",
			"ChipTypeId": 1
		},
		{
			"Id": 29,
			"Title": "GCC",
			"Image": "https://www.emiratesauction.com/imagescdn/7233ed7f-600a-40bb-aa24-714e3b840100/public",
			"TagName": "Ownership",
			"ChipTypeId": 1
		}
	]
}
```

### 💰 Pricing Model & Usage Logic

This actor uses a **pay-per-event** billing model, where you're charged based on the number of items (vehicles or properties) you scrape. The pricing is tiered to reward higher volume usage.

#### Tiered Pricing Structure:

| Tier | Usage Range | Price per 1K Items |
|------|-------------|-------------------|
| **Starter** | 0 - 25K items | $4.00/1K |
| **Growth** | 25K - 50K items | $3.50/1K |
| **Scale** | 50K - 200K items | $3.00/1K |
| **Enterprise** | 200K+ items | $2.50/1K |

**Example Cost Calculations:**

- Scraping 10,000 items: 10,000 ÷ 1,000 × $4.00 = **$40**
- Scraping 30,000 items: First 25K @ $4/1K = $100, remaining 5K @ $3.5/1K = $17.50 = **$117.50**
- Scraping 100,000 items: 25K @ $4 + 25K @ $3.5 + 50K @ $3 = $100 + $87.50 + $150 = **$337.50**

#### ⚡ Additional Usage Parameters (Multipliers)

The actor may apply additional usage multipliers based on your settings. These do **not** add to your base cost directly but increase how quickly your monthly quota is consumed.

##### Feature Multipliers:

- **🧠 Memory Usage:** Charge threshold is **256 MB**. If you run the actor with more than 256 MB of memory, you will be charged an additional usage multiplier. For example, running at 512 MB (256 MB above threshold) will add 1x multiplier, and running at 768 MB (512 MB above threshold) will add 2x multiplier. The actor supports memory from **128 MB minimum to 2 GB maximum**.

- **🔄 Monitoring Mode:** Enabling `monitoringMode` adds a **2.0x** multiplier, as it requires additional logic for state tracking and deduplication.

**Example with Multipliers:**

- 5,000 items with monitoringMode enabled: 5,000 × 2.0 = 10,000 units
- Cost: 10,000 ÷ 1,000 × $4.00 = **$40**

#### 💡 Cost Optimization Tips:

- **Base Usage:** Run at **256 MB memory** (the minimum threshold to avoid memory multipliers) to optimize costs. The actor supports up to 2 GB maximum memory.
- **Batch Operations:** Scrape larger batches to reach higher tiers faster, which offers better per-item pricing.
- **Selective Monitoring:** Use monitoring mode only when you need incremental updates, as it adds a 2.0x multiplier.
- **Subscription Requirements:** A minimum charge of $1 USD per run is required to maintain your subscription.

### 🤝 Related Actors (You may also like)

- [🏠 Property Finder Scraper](https://apify.com/dhrumil/propertyfinder-scraper?fpr=z2di7)
- [🏢 Bayut Scraper](https://apify.com/dhrumil/bayut-scraper?fpr=z2di7)
- [🏡 Dubizzle Scraper](https://apify.com/dhrumil/dubizzle-scraper?fpr=z2di7)
- [🔍 UAE Dubai Property Owner Finder](https://apify.com/dhrumil/uae-dubai-property-owner-finder?fpr=z2di7)
- [🏢 Dubai Property Unit Finder](https://apify.com/dhrumil/dubai-property-unit-finder?fpr=z2di7)

### 🙋‍♀️ For custom solutions

In case you need some custom solution, you can contact : <dhrumil@techvasu.com>

Or learn more about me on github : <https://github.com/dhrumil4u360>

# Actor input Schema

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

Select data type to scrape.

## `monitoringMode` (type: `boolean`):

If enabled, only new items (not seen before) will be pushed to the dataset.

## Actor input object example

```json
{
  "type": "Properties",
  "monitoringMode": false
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dhrumil/emirates-auction-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dhrumil/emirates-auction-scraper").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 '{}' |
apify call dhrumil/emirates-auction-scraper --silent --output-dataset

```

## MCP server setup

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

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/rdyWbpPjEUKXNfTaS/builds/HgL5DoOPdLwtI9cu1/openapi.json
