Discover/Dutch Auto Auctions API
live

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.

Endpoint health
monitored
get_listing
Checks pendingself-healing
Endpoints
1
Updated
2h ago

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.

This call costs1 credit / call— charged only on success
Try it
Short alphanumeric auction code from the listing URL path (one shape: owk1sx).
api.parse.bot/scraper/b706db39-d930-4003-aa75-a81e42558a90/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

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")
All endpoints · 1 totalmissing one? ·

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.

Input
ParamTypeDescription
listing_idrequiredstringShort alphanumeric auction code from the listing URL path (one shape: owk1sx).
Response
{
  "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.

Reliability & maintenance

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?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • 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.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does dutchautoauctions.com offer an official developer API?+
Dutch Auto Auctions does not publish a documented public developer API. The Parse API is the structured way to access listing data from the site programmatically.
What does get_listing return when a field like Mileage is not on the listing?+
The endpoint returns null for Mileage when the site itself reports the mileage as unknown. The same applies to Trim and Engine — both return null rather than an empty string when the listing omits them, so consumers can distinguish missing data from a zero or empty value.
Does the API return gallery images or the hero image URL?+
The endpoint description references a hero image URL as part of the record. Full gallery image arrays are not currently surfaced as discrete response fields in the documented schema. You can fork this API on Parse and revise it to add gallery image extraction as an additional response field.
Can I search or filter listings — for example, all Jeep listings in a specific state?+
The current API covers individual listing lookup by listing_id only. There is no search or filter endpoint that queries across multiple listings by Make, Location, or any other field. You can fork this API on Parse and revise it to add a search or browse endpoint.
How specific is the Location field?+
Location is returned as a formatted string in 'City, ST ZIP' format, reflecting exactly what the listing displays on the site. The API does not return separate latitude/longitude coordinates or a structured address object. If you need geocoded coordinates, you can fork this API on Parse and add a geocoding step to the response.
Page content last updated . Spec covers 1 endpoint from dutchautoauctions.com.
Related APIs in AutomotiveSee all →