Pickles Auctions API

Australia's biggest auction house, as one JSON API

The Pickles Auctions API returns Australia's largest vehicle and industrial auction house as clean JSON, in four actions: search, lot_detail, auctions and facets.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Pickles Auctions endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
P
/pickles/v1

4 active endpoints, on 1, 2 and 3 credit tiers.

  • POST/pickles/v1/search
  • POST/pickles/v1/lot_detail
  • POST/pickles/v1/auctions
  • POST/pickles/v1/facets

What Pickles Auctions endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

search

3 cr

Search live Pickles auction lots.

required
—
optional
query, category, asset_type, make, model, badge, series, year, year_min, year_max, odometer_min, odometer_max, hours_max, state, city, buy_method, salvage, wovr, body, fuel_type, transmission, drive_type, colour, vendor, sale_id, price_min, price_max, has_keys, sort, page, size

lot_detail

1 cr

Full record for one lot by stock_number (the digits at the end of a pickles.com.au/used/details/.

required
stock_number
optional
—

auctions

2 cr

The live Pickles auction/sale calendar, built from the lots that are currently on offer.

required
—
optional
state, category, limit

facets

1 cr

The live filter taxonomy.

required
field
optional
field, query, limit

Every parameter, every allowed value →

Pickles Auctions API

4 of 4 endpoints, ready to run

View docs ↗

Live Pickles lots with the exact matching total: stock number, lot URL, make, model, year, odometer, VIN, rego, WOVR status, vendor, state, how it sells and when bidding ends.

3 credits0 required · 18 optional
POST/pickles/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Pickles Auctions API works

Pickles Auctions is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 438 engines.

02
Call
POST /pickles/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Resolve the filter values, find the lots, read one in full, then scope to its auction

facets is the step people skip and then guess wrong. Resolve the value Pickles actually uses, filter on it, and every response hands you the exact matching total so you can see the filter bite.

01facets
POST/pickles/v1/facets
{"field": "make", "limit": 60}

The live make list with exact counts: toyota 1,219, ford 524, hyundai 398, mazda 378, mitsubishi 315, ldv 281, holden 261 on the day this was measured. Take the value verbatim.

02search
POST/pickles/v1/search
{"make": "toyota", "state": "nsw", "salvage": "salvage", "sort": "ending_soonest", "size": 20}

Soonest-closing Toyota salvage lots in NSW. meta.total_results is the exact match count — against an unfiltered 10,959, make=toyota alone was 1,219 and salvage alone 4,495. Take lots[].stock_number.

03lot_detail
POST/pickles/v1/lot_detail
{"stock_number": "62424123"}

The full record for one lot: the auction description, all 24 photos in order, VIN 6G1EL5EF4AL440791, plate CE80CD, 270,120 km, WOVR status, incident type and the sale event it belongs to.

04auctions
POST/pickles/v1/auctions
{"state": "nsw", "limit": 15}

The NSW sale calendar with each sale's exact live lot count. Sale 16405, NSW/ACT Online Salvage out of Milperra, had 297 lots.

05search
POST/pickles/v1/search
{"sale_id": 16405, "size": 100}

That whole auction's catalogue, 100 lots per page, with the same schema as any other search.

The right filter value, a scoped result set with an auditable total, one lot in full with every photo, and the auction it closes in — five calls against one schema.

request
curl -X POST https://api.reefapi.com/pickles/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"make":"toyota","size":20}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "pickles",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What is actually on offer — the live catalogue on 2026-10-01

These are facet counts read off the live index in one call, not estimates. They move as sales open and close; `facets` returns today's numbers the same way, and every search response carries the exact matching total in meta.

categorylots on offerwhat it isVIN / rego published?
cars5,488salvage and insurance write-offs, dealer trade-ins, fleet and government carsyes, on vehicles
general-goods3,058government and industrial surplus: pallets, consumables, tooling, office stockno, serial number where there is one
earthmoving-and-mobile-plant764excavators, loaders, dozers, mobile plant — engine hours instead of kilometresno, serial number
trucks700prime movers, rigids, light commercialsyes
trailers441semi, tipper, dog and box trailersyes
motorcycles224road, off-road and scootersyes
caravans145caravans and campersyes
machinery79workshop and fixed machineryno, serial number
boats52trailer boats and marineno, hull id where published
computers-smartphones-office-machines8IT and office equipmentno

Lots are spread over NSW 3,134, VIC 2,217, QLD 2,173, WA 1,420, SA 1,041, NT 371, TAS 300, ACT 225 and 78 listed as national. 4,495 of the 10,959 are salvage stock and 6,464 are not; the WOVR register status splits as 1,623 not applicable, 1,413 repairable write-off, 1,356 statutory write-off and 54 inspection-passed repairable. Only lots currently on offer are reachable: Pickles' own public visibility rule excludes sold, withdrawn and finished lots, so there is no sold-price archive and no price history on this surface.

What Pickles publishes, what it does not, and what we measured

Measured on 2026-10-01 against the live catalogue: 53 of 53 checks behaved as expected on two separate runs, 24 of 24 exposed filters narrowed the set in the same run, field fill was counted over 60 lots spanning 7 categories, and 16 lots were compared field by field against their own public pages. Five of these lines go against us.

10,959 live lots, ten categories, eight states, 194 sale events

On 2026-10-01 the catalogue held 5,488 cars, 3,058 general-goods lots, 764 earthmoving and plant, 700 trucks, 441 trailers, 224 motorcycles, 145 caravans, 79 machinery, 52 boats and 8 IT lots, located in NSW 3,134, VIC 2,217, QLD 2,173, WA 1,420, SA 1,041, NT 371, TAS 300, ACT 225 and 78 national, running in 194 separate sale events. These are facet counts read off the live index, and every search response carries the exact total for your own query.

VIN, plate and odometer — checked against the lot's own page

For 16 lots across cars, Buy-Now cars, salvage cars, trucks, earthmoving plant and general goods, each value the API returned was compared against the string the lot's own public page prints. VIN matched 12 of 12, registration plate 12 of 12, odometer 10 of 10, make 14 of 14, Buy-Now price 3 of 3 and vendor name 16 of 16. Zero mismatches. The remaining cases are fields the source does not publish for that kind of lot — a pallet has no VIN — and they come back null.

There is no live bid, and we will not invent one

Pickles does not expose a current bid anywhere on its public surface, so that field is not offered: it was empty on 1,490 of 1,490 rows measured and is not filterable. The STARTING bid is published, but only on online lots — minimum_bid_aud was filled on 302 of 746 Pickles Online rows, 40 percent, and on none of the Pickles Live, Buy Now, EOI or on-site Auction rows; 1 AUD was the commonest value and 34,700 the highest. Alongside it you get buy_method, selling_method, bidding_ends_at and the sale event's own start and end time — enough to poll a lot and to know when it closes.

Price exists on 379 of 10,959 lots, and a zero is never shown as a price

An auction lot has no price until it sells, and Pickles writes a zero there. We map that zero to null so it can never be misread, and only Buy-Now and fixed-price stock carries a real figure: 379 lots on 2026-10-01, which is exactly what price_min=1 returns. The three priced lots we sampled matched their own page 3 of 3.

No sold prices, no hammer results, no history

Pickles' public catalogue only exposes lots currently on offer; its own visibility rule drops anything whose bidding has ended, verified by asking for closed lots and getting zero. So there is no sold archive, no hammer price and no price series here. This is a live-catalogue API. A stock number that has already sold returns NOT_FOUND with that reason, not an empty success.

Every filter narrows the set, and the total proves it

Against an unfiltered 10,959 in one run: make=toyota 1,219, model=Hilux 282, category=cars 5,488, asset_type=truck 700, state=nsw 3,134, state=vic with city=melbourne 1,976, year_min=2020 2,666, year=2020 384, odometer_max=50000 840, hours_max=1000 176, buy_method=buy_now 390, salvage=salvage 4,495, wovr statutory write-off 1,356, body=sedan 828, fuel_type=Diesel 2,786, transmission=Automatic 1,751, drive_type front wheel drive 970, colour=Red 564, vendor=YOUI PTY LTD 591, badge ford ranger xl 149, series toyota hilux gun126r 148, price_min=1 379, has_keys=true 5,455, query=toyota 1,222. 24 of 24 bit. Nothing is exposed that the source accepts and ignores.

Field fill, counted over 60 lots in 7 categories

Always present on all 60: stock_number, title, summary, url, category, asset_type, salvage flag, buy_method, bidding_ends_at, location_city, location_state, vendor_name and image_count; thumbnail on 58. Category-dependent, and documented as such: make 53, model 52, body 52, colour 50, year 49, fuel_type 48, has_keys 47, VIN 44, registration plate and state 41, transmission 40, odometer and WOVR status and incident type 32 each, engine hours 6, price 4, live bid 0. A pallet has no VIN and an excavator has hours instead of kilometres — each missing value is null, never filled in with a guess.

The auction calendar reports both numbers

Pickles publishes no separate sale endpoint, so the calendar is derived from the lots on offer. auctions returns the exact number of live sale events as meta.sales_total — 194 on 2026-10-01 — and how many one catalogue scan named as meta.sales_named, which was 83. Each entry's lot_count is exact, not sampled. With the default limit of 25 soonest-first sales the answer is complete; we report both figures rather than let a partial list look exhaustive.

You never have to guess a filter value

facets returns the live values of 22 fields with exact counts: make, model, badge, series, category, asset_type, body, fuel_type, transmission, drive_type, colour, salvage, wovr, buy_method, selling_method, vendor, year, line_of_business, state, city, sale_id and bid_end. Values Pickles keys as composites keep its own spelling — badge is 'ford|ranger|xl', series is 'toyota|hilux|gun126r' — and facets hands them to you ready to paste. Five fields are not facetable upstream, so they are not offered: sale name, sale status, selling branch and registration state among them.

Paging, and what the id is

size is 1 to 100 and the index returns exactly what you ask for — 10, 15, 20, 25, 50 and 100 all came back at the requested count on both runs — so there is no hidden page size to discover. Deep paging works into the tens of thousands. The one identifier is the stock number, the digits at the end of a lot URL; it is also what lot_detail takes, and a stock number from search resolved to the same lot with the same VIN 16 of 16 times.

Wrong input gets a reason, not an empty result

A category, state, sort, buy method or facet field the source does not have is rejected with the allowed list, not silently dropped. A city without a state is rejected with the reason, because Pickles keys that filter as state plus city. A dead stock number is NOT_FOUND. A search that genuinely matches nothing is ok with zero rows and total_results 0, because an empty answer is an answer and not an error.

What people build with Pickles Auctions

The jobs this data is most often used for.

4

endpoints

1/2/3

credits per call

01

Track Australian salvage supply for a repair or dismantling business: filter cars by WOVR status, state and incident type, then pull the full photo set and the damage description for each lot before the sale closes.

02

Price used stock for a dealership by watching what the same make, model, badge and year band is actually being offered for across all eight states, with odometer and keys-present on every row.

03

Feed an insurer or assessor dashboard with write-off volumes by vendor, state and incident type — 4,495 salvage lots and 1,356 statutory write-offs were on offer on the day this was measured.

04

Build an auction-clock alerting service: sort by ending soonest, keep bidding_ends_at and the sale event's start and end time, and notify on lots that match a saved filter.

What Pickles Auctions data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 438 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/pickles/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"make":"toyota","size":20}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/pickles/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "make": "toyota",
  "size": 20
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Pickles Auctions.

Get a free key →
Do I get the VIN and the registration plate?▾

Yes, wherever Pickles publishes them, and unmodified. On 16 sampled lots the VIN our API returned appeared verbatim on the lot's own public page 12 of 12 times, and the registration plate 12 of 12, with zero mismatches. The other four were a pallet of parts, two pieces of earthmoving plant and a general-goods lot, which have no VIN at all — those come back as null rather than as a guess. Registration state and registration expiry come with them on 41 of 60 sampled lots.

Can I see the current bid?▾

No, and the API will not pretend otherwise. Pickles does not publish a live highest bid anywhere on its public surface. The field exists in its own data but came back empty on all 1,490 rows we measured, and it is not even filterable, so we do not offer it at all rather than hand you a key that is null on every row. What Pickles does publish is the STARTING bid, and only on its online lots: minimum_bid_aud was filled on 302 of the 746 Pickles Online rows we measured, 40 percent of them, and on none of the Pickles Live, Buy Now, EOI or on-site Auction rows. The commonest value is 1 AUD, which is a real one-dollar opening, and the range ran to 34,700. Beyond that you get the mechanism and the clock — buy_method, selling_method, bidding_ends_at and the sale event's own start and end time. To follow a lot you poll it; to know when to stop, read bidding_ends_at.

Why is the price null on most lots?▾

Because most lots are auctions, and an auction lot has no price until it sells. Pickles writes a zero there, and a zero is not a price, so the API returns null instead of letting a 0 be read as a bargain. Only Buy-Now and fixed-price stock carries a real number: 379 of 10,959 lots on 2026-10-01, and the price_min filter narrows to exactly those 379. On the three priced lots we checked, the figure matched the lot's own page 3 of 3.

How do I know a filter actually did something?▾

Every search response reports meta.total_results, which is the exact number of lots matching your request, so you can compare it against the unfiltered figure yourself. We did, in a single run against an unfiltered total of 10,959: make=toyota gives 1,219, model=Hilux 282, category=cars 5,488, state=nsw 3,134, state=vic with city=melbourne 1,976, year_min=2020 2,666, odometer_max=50000 840, hours_max=1000 176, buy_method=buy_now 390, salvage=salvage 4,495, wovr set to statutory write-off 1,356, fuel_type=Diesel 2,786, transmission=Automatic 1,751, vendor=YOUI PTY LTD 591, price_min=1 379. All 24 exposed filters narrowed the set. Nothing is exposed that Pickles accepts and ignores.

What do I pass for make, body, fuel type or vendor? I do not want to guess.▾

You do not have to — that is what the facets action is for. Ask it for any of 22 fields (make, model, badge, series, category, asset_type, body, fuel_type, transmission, drive_type, colour, salvage, wovr, buy_method, selling_method, vendor, year, line_of_business, state, city, sale_id, bid_end) and it returns the live values with their exact lot counts, biggest first. It is a cheap lookup, so you can resolve values before every run rather than shipping a stale list. On 2026-10-01 make returned toyota 1,219, ford 524, hyundai 398, mazda 378, mitsubishi 315, ldv 281 and holden 261 at the top.

Can I list everything in one particular auction?▾

Yes. Call auctions, take the sale_id you want, and pass it to search as sale_id. On 2026-10-01 sale 16405 — NSW/ACT Online Salvage out of Milperra, Sydney — had 297 live lots, and search returned exactly that total. Each calendar entry also carries the sale name, status, start and end time, the event location, the selling branch, the selling methods, the states its lots sit in and its exact live lot count.

Is the auction calendar complete?▾

The count is; the names are not always. auctions reports meta.sales_total, which is the exact number of live sale events — 194 on 2026-10-01 — and meta.sales_named, which is how many of them one catalogue scan was able to name. That was 83. With the default limit of 25 soonest-first sales you get a complete answer, and we report both numbers rather than letting the list look exhaustive when it is not. Pickles publishes no separate sale endpoint, so the calendar is derived from the lots themselves.

What does lot_detail add over a search row?▾

The long auction description, every photo URL in sequence — 8 to 70 photos on the 16 lots we checked, with 24 to 56 typical for a damaged car or a truck — plus standard equipment, accessories, fitted extras, option pack, ROPS and FOPS for plant, and length, width and height. Everything in the search row is in there too. A stock number taken from search resolved to the same lot, with the same VIN, 16 of 16 times.

What happens if I ask for a lot that has already been sold?▾

You get NOT_FOUND with a message saying the stock number is not in the live public catalogue, never an empty success you have to interpret. Pickles answers a dead stock number with a normal-looking page that contains no lot, and the API turns that into a proper not-found. A search that genuinely matches nothing is different: that is ok with zero rows and total_results 0, because an empty answer is an answer.

Is this a price history or a sold-results API?▾

No. Pickles' public catalogue only exposes lots currently on offer — its own visibility rule excludes anything whose bidding has already ended — so there are no hammer prices, no sold archive and no history series here. This is a live-catalogue API: what is for sale right now, where it is, what condition it is in and when it closes.

What is the Pickles Auctions API?▾

Pickles Auctions API is a ReefAPI endpoint group for australia's biggest vehicle and industrial auction house as json: salvage cars, trucks, plant, boats and government surplus with vin, rego, wovr status and the auction clock. It returns live JSON through POST requests under /pickles/v1.

Is the Pickles Auctions API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Pickles Auctions calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Pickles Auctions login or account?▾

No login to Pickles Auctions is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Pickles Auctions data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

99 Classifieds & Second-hand APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Pickles Auctions, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 437 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-01.