Grays.com Auction Scraper avatar

Grays.com Auction Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Grays.com Auction Scraper

Grays.com Auction Scraper

Scrapes live Grays.com auction lots with current bid, RRP and % off retail, brand, reserve status, bid step, pickup location and closing time — computers, tools, industrial, cars, wine. Fast HTTP-only API scraper.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Jason Remnant

Jason Remnant

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

Grays.com Auction Scraper 🏷️

Scrape live auction listings from Grays.com — Australia's #1 online auction platform, with thousands of lots across computers, tools, industrial equipment, cars, wine, home goods and more.

No browser needed. This Actor queries Grays' own public search API directly, so it is fast (HTTP-only), cheap to run, and doesn't get blocked. Every lot comes with its RRP and discount off retail, plus brand, reserve status, current bid and closing time.

What It Does

  • Searches live Grays.com auctions by keyword, category, or custom filter
  • Returns structured data per lot: title, current bid, RRP and % off retail, brand, reserve status and whether reserve is met, bid increment, condition, pickup location, sale state, closing time (text and epoch), vendor, warranty, images and link
  • Paginates all matching results automatically, de-duplicating lots across pages
  • Retries transient upstream failures instead of failing a run
  • Sorts by closing time, price, or Grays' default relevance order

Why use it?

  • Deal hunting — filter to lots trading well below RRP and sort by closing time
  • Price research — track what categories actually realise at auction
  • Stock sourcing — pull used IT, tools and industrial gear by state and category
  • Monitoring — schedule it and get fresh lots into your own systems via Apify's API, webhooks or integrations

How to use it

  1. Click Try for free and leave the defaults — you'll get live lots in seconds
  2. To narrow it down, set a search query (e.g. laptop) or a category
  3. For precision, use Custom Filter with Grays' field names (see below)
  4. Set Max Results to control run cost, then run it
  5. Download results as JSON, CSV or Excel from the dataset tab

Input

FieldTypeDefaultDescription
querystring*Search text. * = all lots. Try laptop, wine, Land Rover
categoriesarray[]Category names, e.g. ["Laptops"], ["Wine"]. Empty = all
filterBystring""Raw filter expression, overrides categories. E.g. ObjectPrice:<500, CONDITION:=New, SaleState:=VIC
sortBystring""Sort expression, e.g. ObjectPrice:asc, LOT_DEFAULT_END_TIME:asc. Empty = Grays relevance order
maxResultsinteger500Maximum lots to return
perPageinteger250Lots per API call (max 250)
tqlCollectionstring(empty)Advanced. Only set if Grays renames its search collection

Useful filter fields: ObjectPrice, Condition, SaleState, ObjectType, ReserveStatus, MinimumBidIncrement. Combine with && (and) or || (or).

Output

Each item in the dataset:

{
"title": "Basedow's B3 Pauline Cabernet Shiraz 2010 (6x 750mL) Barossa",
"price": 120,
"rrp": 330,
"rrp_label": "RRP",
"discount_percent": 63.6,
"reserve_status": "BidToWin",
"reserve_met": false,
"condition": "New",
"minimum_bid_increment": 5.0,
"buy_now_available": true,
"accepts_offers": false,
"brand": "B3 Wines",
"vendor_name": "B3 WINES PTY LTD",
"warranty": "30 Day Money Back Guarantee",
"location": "16 Artisan Rd, Seven Hills, 2147",
"state_name": "South Australia",
"closing_time": "2026-10-12 22:00:00",
"closing_time_epoch": 1791802800,
"category": "Wine",
"parent_category": "Wine & More",
"all_categories": ["Wine"],
"image_count": 1,
"image_urls": ["https://res1.grays.com/..."],
"url": "https://www.grays.com/lot/0026-10746246/wine/...",
"bidder_count": 0,
"bid_count": null,
"lot_id": "26132379",
"sale_id": "10746246",
"sale_name": "12Hr Wine Sale - 10am-10pm",
"sale_state": "NSW",
"listing_type": "Auction",
"object_type": "LOT",
"object_status": "Open"
}

You can download the dataset as JSON, JSONL, CSV, XML or Excel, or pull it from the API.

Field notes

  • price is the current bid (or the opening price before bids land)
  • rrp is Grays' comparison price where they publish one; discount_percent is only calculated when that comparison price is plausible
  • bid_count is absent on many lots — auctioneers only expose it on some sales
  • location is populated for lots with a pickup address; check sale_state otherwise

Example inputs

All laptops:

{ "query": "laptop", "maxResults": 100 }

Computers under $50:

{ "query": "*", "filterBy": "ObjectPrice:<50", "maxResults": 100 }

Wine in Victoria closing soonest:

{ "query": "*", "categories": ["Wine"], "filterBy": "SaleState:=VIC", "sortBy": "LOT_DEFAULT_END_TIME:asc", "maxResults": 100 }

Pricing

Pay-per-event on the Apify Store: you pay per result returned, plus a small per-run start fee. This Actor is HTTP-only — no browser compute, no proxy costs, so runs are cheap.

To control spend, set maxResults to the number of lots you actually need. It's better to run one 100-lot run than a 10,000-lot crawl you'll never read.

Tips

  • Sort by LOT_DEFAULT_END_TIME:asc to work a sale in closing order
  • Filter ObjectPrice:<100 && CONDITION:=New for cheap new stock
  • Combine with Apify schedules for a daily snapshot, then diff the datasets to spot new lots
  • discount_percent is the fastest way to find obvious RRP-vs-bid bargains

FAQ

Q: Does this require login? A: No. It uses Grays' public, read-only search API key.

Q: Will Grays block scraping? A: This uses Grays' own search endpoint, so requests look like ordinary site traffic.

Q: Can I scrape completed or sold auctions? A: The index only contains live lots. Historical sold prices need a different approach.

Q: How fresh is the data? A: Real-time — it reflects the current Grays.com search results.

Q: Results look short of what the run said was available? A: You hit your maxResults cap — the run log says exactly how many lots were left unscraped. Raise it and run again.

Support

Found a bug or need a field this doesn't return? Open an issue on the Actor's Issues tab — Grays changes its site periodically and this Actor is actively maintained.