Dutch Auto Auctions APIdutchautoauctions.com ↗
Retrieve vehicle listing data from dutchautoauctions.com: title, VIN, specs, mileage, seller, location, and auction status via one API endpoint.
What is the Dutch Auto Auctions API?
The Dutch Auto Auctions API exposes 1 endpoint — get_listing — that returns a full vehicle record for any auction listing on dutchautoauctions.com. Each response includes 10 structured fields covering vehicle identity (VIN, Year, Make, Model, Trim), mechanical detail (Engine, Mileage), auction context (Status, Seller), and physical location. Pass the short alphanumeric listing code from the listing URL to retrieve the record in a single call.
curl -X GET 'https://api.parse.bot/scraper/b706db39-d930-4003-aa75-a81e42558a90/get_listing?listing_id=owk1sx' \ -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 dutchautoauctions-com-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: Dutch Auto Auctions SDK — fetch and inspect a vehicle listing."""
from parse_apis.dutchautoauctions_com_api import DutchAutoAuctions, ListingNotFound
client = DutchAutoAuctions()
# Fetch a listing by its short auction code from the URL.
try:
listing = client.listings.get(listing_id="owk1sx")
except ListingNotFound:
print("Listing not found — check the auction code.")
raise
print(listing.name, f"({listing.year} {listing.make} {listing.model})")
print("VIN:", listing.vin)
print("Status:", listing.status)
print("Current price: $" + str(listing.current_price))
print("Opening price: $" + str(listing.opening_price))
print("Location:", listing.location)
print("Seller:", listing.seller)
# Nullable fields are guarded before use.
if listing.mileage is not None:
print("Mileage:", listing.mileage, "mi")
else:
print("Mileage: unknown")
if listing.sell_price is not None:
print("Sold for: $" + str(listing.sell_price))
# Refresh to get the latest declining price.
updated = listing.refresh()
print("Updated price: $" + str(updated.current_price))
print("exercised: listings.get / refresh")
Returns one vehicle listing record for a Dutch Auto Auctions auction, identified by the short auction code that appears in the listing URL (dutchautoauctions.com/auctions/<listing_id>/<slug>). One upstream round trip. The record carries the listing title, the hero image URL (ListingImage) plus up to 14 further gallery URLs as AdditionalImage1..AdditionalImage14 (in gallery order, excluding the hero; fewer keys appear when the gallery is smaller, and ImageCount gives the full gallery size), vehicle specification fields (Make, Model, Trim, BodyStyle, ExteriorColor and InteriorColor as the site's full colour names, Engine, Drivetrain, Transmission, Mileage, TitleStatus, VIN, Year), the seller handle, the location as 'City, ST ZIP', pricing (OpeningPrice, CurrentPrice, SellPrice) and the auction status. ListingDetail is the first paragraph of the listing description. Timing: these are declining-price (Dutch) auctions that run until a buyer accepts the current price, so the site publishes no scheduled end time; AuctionStartTime is the ISO-8601 UTC start and ListingEndTime is the ISO-8601 UTC time the auction actually ended in a sale (null while the listing is upcoming or live). Mileage is an integer or null when the site reports the true mileage as unknown; other spec fields are null when the site leaves them blank. An unknown listing code returns a stale_input (input_not_found) error.
| Param | Type | Description |
|---|---|---|
| listing_idrequired | string | Short alphanumeric auction code from the listing URL path (one shape: owk1sx). |
{
"type": "object",
"fields": {
"VIN": "vehicle identification number",
"Make": "vehicle make",
"Trim": "trim level, or null",
"Year": "integer model year",
"Model": "vehicle model",
"Engine": "engine description, or null",
"Seller": "seller handle",
"Status": "site auction status label",
"Mileage": "integer odometer miles, or null when the site reports mileage unknown",
"Location": "vehicle location as 'City, ST ZIP'",
"BodyStyle": "body style label, or null",
"SellPrice": "number, USD final sale price, or null until sold",
"Drivetrain": "drivetrain label, or null",
"ImageCount": "integer, total gallery images available on the listing",
"listing_id": "short auction code, same value as the input",
"ListingName": "listing title",
"TitleStatus": "title status label (e.g. Clean), or null",
"listing_url": "public listing page URL",
"CurrentPrice": "number, USD current declining price",
"ListingImage": "hero image URL",
"OpeningPrice": "number, USD opening price",
"Transmission": "transmission label, or null",
"ExteriorColor": "full exterior colour name as listed, or null",
"InteriorColor": "full interior colour name as listed, or null",
"ListingDetail": "first paragraph of the listing description",
"ListingEndTime": "ISO-8601 UTC time the auction ended in a sale, null while upcoming or live (the site publishes no scheduled end)",
"AdditionalImage1": "gallery image URL; AdditionalImage2..AdditionalImage14 follow the same form, present only while the gallery has that many further images",
"AuctionStartTime": "ISO-8601 UTC auction start time"
},
"sample": {
"data": {
"VIN": "1JCCF87E2FT045720",
"Make": "Jeep",
"Trim": "Base",
"Year": 1985,
"Model": "CJ-7",
"Engine": "258ci I6",
"Seller": "Sullivan_Auto_House",
"Status": "Auction in Progress",
"Mileage": null,
"Location": "Wichita, KS 67202",
"BodyStyle": "SUV",
"SellPrice": null,
"Drivetrain": "4WD (Four-Wheel Drive)",
"ImageCount": 261,
"listing_id": "owk1sx",
"ListingName": "1985 Jeep CJ7 5-Speed",
"TitleStatus": "Clean",
"listing_url": "https://dutchautoauctions.com/auctions/owk1sx",
"CurrentPrice": 17056.34,
"ListingImage": "https://dutchautoauctions.com/user-images/o0brra/l/tkwqfw.jpg",
"OpeningPrice": 21000,
"Transmission": "5-Speed Manual",
"ExteriorColor": "Tan",
"InteriorColor": "Black",
"ListingDetail": "This 1985 Jeep CJ7 wears tan over new black vinyl and shows 247 miles on the aftermarket odometer, but true mileage is unknown. The AMC 258 cubic-inch inline-six has been completely rebuilt with a mild cam, Pacesetter headers, Flowmaster exhaust, and a Weber carburetor, driving a T5 five-speed and Dana 20 transfer case. The build adds a 2.5-inch lift with 31-inch BFG KM2 mud terrains on black steel wheels, a Detroit Locker with regeared front and rear axles, Pro Comp front and rear bumpers, and a complete Painless wiring harness. The seller, who acquired the Jeep in 2012, reports 14 years of garage storage; professional mechanics performed all mechanical work. The truck shows paint imperfections and some scratches on the driver's door as well as the front bumper. The wheel flares are beginning to show oxidation. The interior door cards are not attached. The vehicle is offered on dealer consignment.",
"ListingEndTime": null,
"AdditionalImage1": "https://dutchautoauctions.com/user-images/o0brra/l/k3wjlj.jpg",
"AdditionalImage2": "https://dutchautoauctions.com/user-images/o0brra/l/p0t7hr.jpg",
"AdditionalImage3": "https://dutchautoauctions.com/user-images/o0brra/l/3ic3zb.jpg",
"AdditionalImage4": "https://dutchautoauctions.com/user-images/o0brra/l/z8iylt.jpg",
"AdditionalImage5": "https://dutchautoauctions.com/user-images/o0brra/l/dnu4jv.jpg",
"AdditionalImage6": "https://dutchautoauctions.com/user-images/o0brra/l/2mlds6.jpg",
"AdditionalImage7": "https://dutchautoauctions.com/user-images/o0brra/l/ekjtux.jpg",
"AdditionalImage8": "https://dutchautoauctions.com/user-images/o0brra/l/nf6tc8.jpg",
"AdditionalImage9": "https://dutchautoauctions.com/user-images/o0brra/l/voohs1.jpg",
"AuctionStartTime": "2026-09-11T15:00:00Z",
"AdditionalImage10": "https://dutchautoauctions.com/user-images/o0brra/l/i777o7.jpg",
"AdditionalImage11": "https://dutchautoauctions.com/user-images/o0brra/l/m9q9nm.jpg",
"AdditionalImage12": "https://dutchautoauctions.com/user-images/o0brra/l/83rdbk.jpg",
"AdditionalImage13": "https://dutchautoauctions.com/user-images/o0brra/l/8idth6.jpg",
"AdditionalImage14": "https://dutchautoauctions.com/user-images/o0brra/l/lk8fbe.jpg"
},
"status": "success"
}
}About the Dutch Auto Auctions API
get_listing Endpoint
The get_listing endpoint accepts a single required parameter, listing_id, which is the short alphanumeric auction code that appears in the listing URL path at dutchautoauctions.com/auctions/<listing_id>/<slug>. For example, a URL like /auctions/owk1sx/1985-jeep-cj7-5-speed uses owk1sx as the listing_id. The slug portion of the URL is not required.
Response Fields
The response carries the core vehicle record: VIN for the vehicle identification number; Year, Make, Model, and Trim for model identity (Trim may be null if not specified on the listing); Engine for the powertrain description (also nullable); Mileage as an integer odometer reading in miles, or null when the site reports mileage as unknown; Seller for the seller handle associated with the listing; Status for the current auction status label as shown on the site; and Location formatted as City, ST ZIP.
Nullability and Data Availability
Several fields are explicitly nullable. Trim returns null when the listing does not specify a trim level. Engine returns null when the listing omits that detail. Mileage returns null specifically when the source reports the mileage as unknown — this is distinct from zero miles and reflects the site's own data state. Consumers should guard against null on these three fields before writing values into downstream systems.
The Dutch Auto Auctions API is a managed, monitored endpoint for dutchautoauctions.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dutchautoauctions.com 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 dutchautoauctions.com 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?+
- Pull VIN and odometer readings for a used-vehicle valuation pipeline that ingests auction listings.
- Monitor auction Status changes on specific listing IDs to track when a vehicle moves from active to sold.
- Aggregate Make, Model, Year, and Location data to map auction inventory by geographic region.
- Enrich a dealer CRM with Engine and Trim detail fetched directly from a listing code.
- Build a price-research tool that cross-references auction Seller handles with historical listing activity.
- Alert system that flags listings where Mileage is null so analysts can manually verify odometer state before bidding.
| 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.