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

Scrape HiBid.com auctions in the US and Canada: lot title, description, current bid, bid count, sold price (price realized), images, category, auction dates, location and auctioneer. Search by keyword, category, ZIP/postal radius, state or province, or paste HiBid URLs. No login.

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

## Pricing

from $1.50 / 1,000 lot or auction rows

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

## HiBid Scraper: auction lots, bids and sold prices

Scrape **HiBid.com**, the largest online auction marketplace for auction companies in the **United States and Canada**. Get every lot's **title, description, current bid, next minimum bid, bid count, closing time, all images and category**, plus the **auction** (dates, type, lot count, buyer's premium), the **pickup location** and the **auction company** (name, phone, email, website). Switch to **Closed** to get **sold prices (price realized)** from past auctions. No login, no cookies, no HiBid account.

### What you get

| | |
|---|---|
| **Lot** | Lot ID and number, title, description, URL, quantity, estimate, all full-size images, category and full category path |
| **Bidding** | Current bid, next minimum bid, number of bids, buy-now price, reserve status (when shown), closing time, soft-close extension |
| **Sold prices** | Price realized (and per item), quantity sold, HiBid's price note; for closed lots without a published price, the final high bid |
| **Auction** | Auction ID, name, catalog URL, type (online-only, live webcast, absentee), status, start and end, lot count, buyer's premium, currency (USD or CAD) |
| **Location** | Pickup address, city, state or province, ZIP or postal code, country, and the distance from your ZIP / postal code |
| **Auction company** | Name, HiBid page, phone, email, website and address |
| **Auctions mode** | One row per auction instead: dates, status, lot count, open lots, shipping, location and auction company |

### How to use it

1. Add **search terms** (e.g. `drill`, `tractor`, `morgan silver dollar`), **categories** (e.g. `Coins & Currency`, `Tractors`), or paste **HiBid URLs**: a search page, an auction catalog, an auction company page or a single lot. You can also list **lot IDs** or **auction IDs**.
2. Narrow it down by **ZIP / postal code and radius**, **state / province**, **country**, auction type or shipping.
3. Pick the **status**: Open (live and upcoming lots), Closing soon, All current, or **Closed** for sold prices. For Closed, choose how far back to look (default 90 days) or exact dates.
4. Set **Maximum results** and run.

#### Input examples

Lots near a postal code, nearest first:

```json
{
  "searchTerms": ["tractor"],
  "zipOrPostalCode": "M5V 2T6",
  "radiusMiles": 100,
  "sortBy": "nearest",
  "maxItems": 200
}
```

Sold prices for a keyword over the last 30 days, only lots with a published price:

```json
{
  "searchTerms": ["morgan silver dollar"],
  "auctionStatus": "closed",
  "closedWithinDays": 30,
  "soldOnly": true,
  "maxItems": 500
}
```

A whole category in one state:

```json
{
  "categories": ["Cars & Vehicles"],
  "stateOrProvince": "TX",
  "maxItems": 1000
}
```

Everything from an auction catalog, an auction company and a single lot:

```json
{
  "startUrls": [
    { "url": "https://hibid.com/catalog/777970/the-rock-and-roll-history-auction" },
    { "url": "https://hibid.com/company/148685/the-1-and-only" },
    { "url": "https://hibid.com/lot/324140342/250-vevor-magnetic-drill" }
  ],
  "maxItemsPerSearch": 100
}
```

Auctions (not lots) near Chicago:

```json
{
  "scrapeMode": "auctions",
  "zipOrPostalCode": "60601",
  "radiusMiles": 50,
  "sortBy": "nearest",
  "maxItems": 100
}
```

### Output example

A lot (the description and image list are shortened here):

```json
{
  "dataType": "lot",
  "lotId": 324140342,
  "lotNumber": "236vb",
  "title": "$250 VEVOR Magnetic Drill 1450W, 11 Bits, 850 RPM",
  "description": "Retail Price: $250\nNotes: Sold as is\nCondition: New - Packaging flawed…",
  "url": "https://hibid.com/lot/324140342/-250-vevor-magnetic-drill-1450w--11-bits--850-rpm",
  "status": "OPEN",
  "isClosed": false,
  "currentBid": 26.5,
  "nextMinimumBid": 28.5,
  "bidCount": 15,
  "priceRealized": null,
  "currency": "USD",
  "closesAt": "2026-10-01T23:57:01.072Z",
  "timeLeftText": "Internet Bidding closes at: 10/1/2026 6:57:00 PM CST",
  "imageUrl": "https://cdn.hibid.com/img.axd?id=8436325829&…",
  "imageCount": 5,
  "category": "Directional",
  "categoryPath": "Construction & Farm - Drills - Directional",
  "shippingOffered": false,
  "auctionId": 780608,
  "auctionName": "Overstock Product Liquidation McAllen 10/1/26",
  "auctionUrl": "https://hibid.com/catalog/780608/overstock-product-liquidation-mcallen-10-1-26",
  "auctionType": "Online-only auction",
  "auctionStatus": "Open for bidding",
  "auctionStartsAt": "2026-09-24T19:00:00",
  "auctionEndsAt": "2026-10-01T19:00:00",
  "auctionLotCount": 386,
  "buyerPremium": "16% Buyer's Premium Added to each lot",
  "locationCity": "Pharr",
  "locationStateOrProvince": "TX",
  "locationPostalCode": "78577",
  "locationCountry": "United States",
  "auctioneerName": "ATX Auctions McAllen",
  "auctioneerUrl": "https://hibid.com/company/131620/atx-auctions-mcallen",
  "auctioneerPhone": "956-957-8939",
  "auctioneerWebsite": "https://atxauctions.com",
  "searchTerm": "drill",
  "source": "search",
  "scrapedAt": "2026-10-01T20:00:43.165Z"
}
```

A closed lot carries the sold price: `"priceRealized": 7460, "isClosed": true, "auctionStatus": "Closed (archived)"`.

An auction row (Auctions mode):

```json
{
  "dataType": "auction",
  "auctionId": 778655,
  "auctionName": "504: GIA certified RARE COLOR/Lab Diamonds & More",
  "url": "https://hibid.com/catalog/778655/504--gia-certified-rare-color-lab-diamonds-and-more",
  "auctionType": "Online-only auction",
  "auctionStatus": "Open for bidding",
  "startsAt": "2026-09-16T13:57:00",
  "endsAt": "2026-10-24T18:00:00",
  "lotCount": 685,
  "openLotCount": 685,
  "currency": "USD",
  "shipping": "All lots",
  "distanceMiles": 0.77,
  "locationCity": "Toronto",
  "locationStateOrProvince": "ON",
  "locationCountry": "Canada",
  "auctioneerName": "Affordable Creations"
}
```

The **Lots** and **Auctions** tabs of the dataset show the key columns as a table. Export to JSON, CSV, Excel or HTML, or read it with the Apify API.

### Pricing

Pay per result: **$1.50 per 1,000 rows** (one row = one lot, or one auction in Auctions mode), plus a small **$0.005 charge per run start**. Lots skipped by your filters (for example **Only lots with a price realized**) are not charged. Set a **maximum cost per run** in the run options and the run stops there, keeping what it saved.

### Tips

- **Bigger than 10,000 results?** HiBid shows at most 10,000 lots for one search (1,000 for closed lots). The actor automatically splits big searches by category (open lots) or by date (closed lots) to go beyond that.
- **Track prices of specific lots:** put their IDs in **Lot IDs** and run on a schedule. Lots that have closed are looked up in the archive, so the last run gives you the final price.
- **Times:** `closesAt` is exact and in UTC. Auction start and end times are shown the way HiBid shows them, in the auction company's local time.
- **Run report:** the `RUN_REPORT` record in the run's key-value store lists every search, how many results HiBid had, and why the run stopped.

### FAQ

**Do I need a HiBid account or login?** No. No login needed: no HiBid account, cookie or API key. The actor reads the same public auction listings that anyone can browse on hibid.com without signing in. Apify datacenter proxies, included in every Apify plan, work fine.

**Is it legal to scrape HiBid?** This actor collects only publicly available information that hibid.com shows to any visitor without an account: auction lots, current bids, published sold prices, auction dates and locations, and the business contact details of the auction companies running the auctions. It does not collect information about individual bidders: it never touches accounts, bidder IDs, bid histories, watch lists or payments, and it removes phone numbers and email addresses other than the auction company's from lot descriptions. Scraping public data is generally lawful, but how you use the results is up to you: follow the laws that apply to you (for example CCPA, PIPEDA or GDPR) and HiBid's terms, and check with a lawyer if you are unsure. Apify's guide is a good starting point: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

**Does it access any private data?** No. Everything comes from public auction pages. Anything behind a HiBid login (your bids, watch list, invoices, payment details) is never requested.

**Why is `priceRealized` empty on some closed lots?** The auction company didn't publish the sold price (HiBid then shows "Price Realized Not Uploaded", which is in `priceRealizedNote`). Turn on **Only lots with a price realized** to skip them; skipped lots are not charged.

**Can I search past auctions by keyword?** In Lots mode with **Closed**, yes: that is how you get sold prices by keyword. In Auctions mode, closed auctions are listed by category and date only, because hibid.com asks crawlers not to use its past-auction keyword search.

**Why does a lot show in a strange category?** Categories are chosen by each auction company, so a few lots are filed oddly. The actor reports HiBid's category as it is.

**What if HiBid blocks the run?** If HiBid refuses datacenter IPs, the run switches to residential proxies when your Apify account has them. If HiBid shows a bot check, the run stops right away and keeps what it saved; it never tries to get around one. Either way the run ends with a plain status message and the results collected so far.

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search HiBid lots for, e.g. "drill", "tractor", "morgan silver dollar". Each term is a separate search. Leave empty to browse a category or a location instead.

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

Lots (default): one row per auction lot with its bids, price and auction details. Auctions: one row per auction (catalog) with its dates, lot count, location and auctioneer.

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

Open: lots you can bid on now plus upcoming ones. Closing soon: lots closing shortly. All current: open plus recently closed lots of current auctions. Closed: past results with the price realized (sold price).

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

HiBid categories by name ("Coins & Currency", "Tractors"), full path ("Construction & Farm - Tractors"), category URL (https://hibid.com/lots/700006/cars-and-vehicles) or ID. Combined with each search term.

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

Any hibid.com lot, catalog (auction), auctioneer (company) or search page. Search filters in the URL (keyword, ZIP, miles, status, category) are kept.

## `lotIds` (type: `array`):

HiBid lot IDs (the number after /lot/ in a lot URL) or lot URLs. Lots that already closed are looked up in the archive, so this also tracks final prices.

## `auctionIds` (type: `array`):

HiBid auction (catalog) IDs or URLs. In Lots mode every lot of the auction is scraped; in Auctions mode you get the auction rows.

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

Only auctions near this US ZIP or Canadian postal code, e.g. "60601" or "M5V 2T6".

## `radiusMiles` (type: `integer`):

Distance from the ZIP / postal code. HiBid's own choices are 25, 50, 100, 250 and 500 miles.

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

Only auctions in this country.

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

Only auctions in this US state or Canadian province, as a code or a name: "TX", "Ontario", "BC".

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

Online-only auctions, live auctions with a webcast, absentee-bid auctions, or listings.

## `shippingOnly` (type: `boolean`):

Only lots whose auctioneer offers shipping.

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

Order of the results. "Nearest first" needs a ZIP / postal code.

## `closedWithinDays` (type: `integer`):

For Closed: how far back to look. Ignored when you set the dates below.

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

For Closed: earliest closing date (YYYY-MM-DD).

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

For Closed: latest closing date (YYYY-MM-DD). Default: today.

## `soldOnly` (type: `boolean`):

For Closed: skip lots whose auctioneer did not publish the sold price. Skipped lots are not charged.

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

Stop after this many rows in total. 0 = no limit.

## `maxItemsPerSearch` (type: `integer`):

Cap for each search term × category, URL or auctioneer, so one big search can't use up the whole limit. 0 = no cap.

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

Apify datacenter proxy (the default) works for HiBid and comes with every Apify plan. If HiBid refuses datacenter IPs, the run switches to residential proxies when your account has them.

## `maxConcurrency` (type: `integer`):

Pages fetched in parallel. The default is fast and gentle on HiBid.

## Actor input object example

```json
{
  "searchTerms": [
    "drill"
  ],
  "scrapeMode": "lots",
  "auctionStatus": "open",
  "radiusMiles": 50,
  "country": "any",
  "auctionType": "all",
  "shippingOnly": false,
  "sortBy": "default",
  "closedWithinDays": 90,
  "soldOnly": false,
  "maxItems": 50,
  "maxItemsPerSearch": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxConcurrency": 3
}
```

# Actor output Schema

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

All scraped lots (or auctions).

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

What was searched, how many results HiBid had, and why the run stopped.

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

Status and statistics for this run.

# 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 = {
    "searchTerms": [
        "drill"
    ],
    "maxItems": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("yugenox/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 = {
    "searchTerms": ["drill"],
    "maxItems": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("yugenox/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 '{
  "searchTerms": [
    "drill"
  ],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call yugenox/hibid-scraper --silent --output-dataset

```

## MCP server setup

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