# HiBid Auction Scraper — Lots, Bids & Prices (`crawloop/hibid-scraper`) Actor

Scrape public HiBid auction lots by keyword, category, or auction URL. Each row has the current bid, bid count, estimate, auction house, location, time left, and photo. No login.

- **URL**: https://apify.com/crawloop/hibid-scraper.md
- **Developed by:** [Andrej Kiva](https://apify.com/crawloop) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.23 / 1,000 auction lots

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?

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

## HiBid Auction Scraper — Lots, Bids & Prices

> **Disclaimer:** Unofficial tool — not affiliated with, sponsored by, or endorsed by HiBid or its affiliates. Data is read from publicly accessible lot search, category, and auction catalog pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Scrape public HiBid auction lots for estate sales, equipment, collectibles, coins, and vehicles. Each row is one lot card: title, current bid, bid count, estimate when shown, auction house, location, time left, and the lead photo.

Dealers and appraisers use it as a HiBid scraper and as an API alternative to copying the catalog by hand. Export JSON from the Apify dataset with Python, Node.js, cURL, or an MCP client.

> **Crawloop auction suite** — live bids and sold comps next to HiBid.

| HiBid | AuctionTime | BidSpotter | Ritchie Bros | eBay Sold |
| :--- | :--- | :--- | :--- | :--- |
| HiBid Auction Scraper ◄── you are here | [AuctionTime Scraper](https://apify.com/crawloop/auctiontime-scraper) | [BidSpotter Scraper](https://apify.com/crawloop/bidspotter-scraper) | [Ritchie Bros Auction Scraper](https://apify.com/crawloop/rbauction-scraper) | [eBay Sold Listings Scraper](https://apify.com/crawloop/ebay-sold-listings-scraper) |

| Goldin | Heritage |
| :--- | :--- |
| [Goldin Scraper](https://apify.com/crawloop/goldin-scraper) | [Heritage Auctions Scraper](https://apify.com/crawloop/heritage-auctions-scraper) |

### When to use

Use this Actor when you need HiBid lots in a dataset: a keyword such as john deere, a category URL, one auction catalog, or a watch for new lots and bid changes.

Use [AuctionTime Scraper](https://apify.com/crawloop/auctiontime-scraper) next for equipment auctions on AuctionTime. Use [eBay Sold Listings Scraper](https://apify.com/crawloop/ebay-sold-listings-scraper) when you want sold comps for the same item.

### Key features

- Keyword search on the public lot list, 25 cards per page
- Category URL, auction catalog URL, or a single lot URL
- Current bid, next bid, bid count, estimate, reserve label, auction house, location, shipping flag, time left, and photo
- Hot-lot filter
- Monitor mode: the first run stores fingerprints and writes no rows; later runs emit new lots and bid changes
- Bidder names are not saved

### Input

| Field | Default | What it does |
| :--- | :--- | :--- |
| `searchQuery` | john deere | Lot keyword. Blank, with no start URL, saves 0 rows |
| `lotStatus` | all | `all` or `hot` |
| `startUrls` | empty | HiBid search, category, catalog, or lot URL |
| `maxItems` | 50 | Maximum dataset rows |
| `maxPages` | 3 | Pages per URL. Lot search is 25 lots per page |
| `monitorMode` | false | Emit only new lots and bid changes after a seed run |

```json
{
  "searchQuery": "john deere",
  "lotStatus": "all",
  "maxItems": 25,
  "maxPages": 1
}
```

One auction catalog:

```json
{
  "startUrls": [
    { "url": "https://hibid.com/catalog/774722" }
  ],
  "maxItems": 50,
  "maxPages": 1
}
```

### Output

| Field | Meaning |
| :--- | :--- |
| `id`, `lotNumber`, `title` | Lot identity |
| `currentBid`, `nextBid`, `bidCount`, `currency` | Bid on the card |
| `estimateLow`, `estimateHigh`, `reserveStatus` | Set when the card shows them |
| `timeRemaining`, `saleType`, `sold` | Time-left label, online-only label, sold/closed badge |
| `auctioneerName`, `auctioneerUrl`, `auctionId` | Auction house and sale id |
| `location`, `city`, `state`, `shippingAvailable` | Where the lot is, and whether the card offers shipping |
| `url`, `imageUrl`, `images` | Lot link and lead photo |
| `changeType`, `previousPrice`, `monitoredAt` | Set in monitor mode |

```json
{
  "id": "326834655",
  "lotNumber": "533",
  "title": "John Deere tractor.",
  "currentBid": 3,
  "nextBid": 4,
  "bidCount": 1,
  "currency": "USD",
  "timeRemaining": "21d 11h 52m",
  "saleType": "Online Only",
  "auctioneerName": "Irene Auction Company, LLC",
  "city": "Cherry Valley",
  "state": "IL",
  "shippingAvailable": true,
  "url": "https://hibid.com/lot/326834655/john-deere-tractor-"
}
```

### Use cases

- Build a bid sheet for estate and equipment lots before they close
- Watch a keyword on a schedule and keep only new lots or bid changes
- Export one auction catalog into a dataset
- Compare a HiBid lot with sold comps from eBay Sold Listings Scraper

### Integration examples

#### Node.js

```javascript
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor("crawloop/hibid-scraper").call({
  searchQuery: "john deere",
  maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient(token="APIFY_TOKEN")
run = client.actor("crawloop/hibid-scraper").call(run_input={
    "searchQuery": "john deere",
    "maxItems": 25,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
```

#### cURL

```bash
curl "https://api.apify.com/v2/acts/crawloop~hibid-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQuery":"john deere","maxItems":25}'
```

### MCP and AI assistants

Use this Actor from AI tools via [Apify MCP](https://docs.apify.com/platform/integrations/mcp).
Connect your Apify account, then call this Actor by its Store name `crawloop/hibid-scraper`.

Example prompts:

- "Run HiBid Auction Scraper for john deere and return 20 lots as JSON with bid, location, and time left."
- "Scrape the HiBid catalog I paste and list auction house, current bid, and bid count."
- "Chain HiBid Auction Scraper then eBay Sold Listings Scraper to compare a live bid with sold comps."

### Suite next step

After the HiBid export, run [eBay Sold Listings Scraper](https://apify.com/crawloop/ebay-sold-listings-scraper) for sold comps, or [AuctionTime Scraper](https://apify.com/crawloop/auctiontime-scraper) when the equipment is listed on AuctionTime.

### FAQ

#### Does this log in or place bids?

No. It reads public lot cards. It does not sign in, watch, or bid.

#### Why did a blank run save nothing?

A run with no keyword and no HiBid URL does not download the whole site. Set a search or paste a catalog URL.

#### Are closed hammers included?

The row is the public card. `sold` is true only when that card’s badge says sold or closed. A separate archive hammer is not requested.

#### What does monitor mode write on the first run?

Nothing to the dataset. It stores lot fingerprints. The next scheduled run writes new lots and bid changes.

# Actor input Schema

## `startUrls` (type: `array`):

HiBid lot search, category, catalog, or lot URLs. Leave empty to search with the keyword below.

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

Lot search, such as john deere or coins. A blank run with no start URL saves 0 rows.

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

All public lots, or only lots HiBid marks as hot.

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

Maximum dataset rows. A monitor seed run fingerprints this many lots and writes none.

## `maxPages` (type: `integer`):

Maximum result pages per search. Lot search uses 25 lots per page so every card is in the HTML.

## `monitorMode` (type: `boolean`):

First run stores lot fingerprints and writes no dataset rows. Later runs emit new lots and bid changes.

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

Named key-value store for fingerprints. Use a distinct name per watch.

## `resetMonitorState` (type: `boolean`):

Clear stored fingerprints before this run.

## Actor input object example

```json
{
  "searchQuery": "john deere",
  "lotStatus": "all",
  "maxItems": 50,
  "maxPages": 3,
  "monitorMode": false,
  "monitorStoreName": "hibid-monitor-state",
  "resetMonitorState": false
}
```

# Actor output Schema

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

Default dataset items.

# 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 = {
    "searchQuery": "john deere"
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawloop/hibid-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 = { "searchQuery": "john deere" }

# Run the Actor and wait for it to finish
run = client.actor("crawloop/hibid-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 '{
  "searchQuery": "john deere"
}' |
apify call crawloop/hibid-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawloop/hibid-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/sXLolXabbE99nwhrg/builds/piSTLSjzckWz0xYXD/openapi.json
