Antiques Reporter APIantiquesreporter.com.au ↗
Access paginated past auction listings from Antiques Reporter Australia. Filter by house, city, and year. Returns dates, lot counts, prices, and locations.
What is the Antiques Reporter API?
The Antiques Reporter Australia API exposes 1 endpoint — list_past_auctions — returning up to 90 auction records per page, each carrying 8 fields including auction date, title, lot count, price availability flag, auction house name, and location. It covers historical auction listings from across Australia and supports filtering by auction house ID, city ID, and year so you can target specific markets or time periods.
curl -X GET 'https://api.parse.bot/scraper/2000911e-d8a9-4c3b-8637-91abc281cc9a/list_past_auctions?city=0&page=1&sort=0&year=0&count=90&house=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace antiquesreporter-com-au-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Antiques Reporter SDK — browse past Australian auction listings."""
from parse_apis.antiquesreporter_com_au_api import AntiquesReporter, Sort, InputFormatInvalid
client = AntiquesReporter()
# Browse the latest past auctions, capped to 5 total items.
for auction in client.auctions.list(sort=Sort.LATEST_FIRST, limit=5):
print(auction.auction_date, "-", auction.auction_title)
print(f" House: {auction.auction_house} | Location: {auction.location}")
print(f" Lots: {auction.lots} | Prices available: {auction.prices_available}")
# Drill into one Melbourne auction to check its listing URL.
try:
melb_auction = client.auctions.list(city="11", sort=Sort.LATEST_FIRST, limit=1).first()
except InputFormatInvalid as e:
# Raised when the city filter ID is not recognised by the site.
print(f"Invalid filter: {e.message}")
melb_auction = None
if melb_auction is not None:
print(f"\nFirst Melbourne auction: {melb_auction.auction_title}")
print(f" URL: {melb_auction.auction_url}")
print(f" House URL: {melb_auction.auction_house_url}")
print("\nexercised: auctions.list")
List past auctions from Antiques Reporter. Returns paginated auction listings with date, title, lot count, price availability, auction house, and location. Each page returns up to `count` results (30, 60, or 90). Filters by auction house, city, and year narrow the results; all filters default to showing all values when omitted. Pagination is controlled by `page` (1-indexed); the response includes `has_more` and `total_pages` derived from the site's pagination links. One upstream HTML page is fetched per call.
| Param | Type | Description |
|---|---|---|
| city | string | City filter ID. Use '0' for all cities. IDs correspond to the site's city dropdown (e.g. '13' for Sydney, '11' for Melbourne). |
| page | integer | Page number (1-indexed). |
| sort | string | Sort order for results. |
| year | string | Year filter. Use '0' for all years. Available years depend on the site's data (e.g. '2026', '2025'). |
| count | integer | Number of results per page. |
| house | string | Auction house filter ID. Use '0' for all houses. IDs correspond to the site's auction house dropdown (e.g. '11' for Lawsons, '4' for Leski Auctions). The server validates the value. |
{
"type": "object",
"fields": {
"page": "Current page number",
"count": "Results per page setting",
"auctions": "Array of auction objects with auction_date, auction_title, lots, prices_available, auction_house, location, auction_url, and auction_house_url",
"has_more": "Whether more pages are available",
"total_pages": "Highest page number observed in pagination"
},
"sample": {
"data": {
"page": 1,
"count": 90,
"auctions": [
{
"lots": "843",
"location": "Melbourne",
"auction_url": "https://www.antiquesreporter.com.au/index.cfm/auction-lots/10316-decorative-arts-and-collectables-session-i/",
"auction_date": "29-Aug-2026",
"auction_house": "Leski Auctions Pty. Ltd.",
"auction_title": "Decorative Arts & Collectables Session I.",
"prices_available": "No",
"auction_house_url": "https://www.antiquesreporter.com.au/index.cfm/auction-houses/4-leski-auctions-pty-ltd/"
}
],
"has_more": true,
"total_pages": 6
},
"status": "success"
}
}About the Antiques Reporter API
What the API Returns
The list_past_auctions endpoint returns a paginated list of past auction events indexed by Antiques Reporter Australia. Each auction object in the auctions array includes auction_date, auction_title, lots (the number of lots in that sale), prices_available (a flag indicating whether realized prices have been published), auction_house, location, auction_url, and auction_id. The has_more and total_pages fields let you walk through the full result set programmatically.
Filtering and Pagination
The house parameter accepts an auction house filter ID — use '0' for all houses or a specific ID such as '11' for a named house. Similarly, city accepts a city ID (e.g. '13' for Sydney, '11' for another city) or '0' for all cities. The year parameter filters by a four-digit year string like '2025' or '2026'. The count parameter controls page size and accepts values of 30, 60, or 90. The page parameter is 1-indexed. All filters default to '0' (unfiltered), so a bare request returns the full cross-section of available historical data.
Sorting
The sort parameter controls the ordering of results. The exact sort options correspond to the ordering modes available on the Antiques Reporter site. When omitted, results return in the site's default order. Combining sort with year and city filters lets you build time-ordered views of auction activity in a specific region.
The Antiques Reporter API is a managed, monitored endpoint for antiquesreporter.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when antiquesreporter.com.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official antiquesreporter.com.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track which auction houses have published realized prices by checking the
prices_availablefield across recent listings - Build a timeline of auction activity in Sydney by filtering
cityto'13'and iteratingyearvalues - Identify the auction houses with the highest lot counts by aggregating the
lotsfield acrossauction_housevalues - Monitor new past-auction entries by polling
page=1withsortset to most-recent and comparingauction_idvalues - Compile a regional auction calendar by filtering
cityand paginating through all results to collectauction_dateandauction_titlefields - Research market frequency for a specific house by filtering
houseto its ID and counting records peryear
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Antiques Reporter Australia have an official developer API?+
What does the `prices_available` field tell me, and does the API return the actual realized prices?+
prices_available field is a flag indicating whether realized prices exist for a given auction in Antiques Reporter's records. The API does not return individual lot-level realized prices or price values — it returns the flag only. The API covers auction-level metadata: date, title, house, location, lot count, and that prices flag. You can fork it on Parse and revise to add a detail endpoint that retrieves lot-level price data.How do I find the correct `house` or `city` filter ID to use?+
'13' for Sydney and '11' for at least one other city. To discover the full set of valid IDs, make a request with house='0' and city='0' and inspect the distinct auction_house and location values returned, then cross-reference against the site's filter UI.Does the API cover individual lot details or item descriptions within an auction?+
auction_url field already present in each auction object.Are there any gaps in the historical year coverage?+
year parameter accepts values like '2025' and '2026', but the actual range of years with data is determined by the site's records. Requesting a year with no data will return an empty auctions array with has_more set to false rather than an error.