IAAI APIiaai.com ↗
Search Insurance Auto Auctions Buy Now listings via API. Get vehicle title, stock number, mileage, auction location, lane, and buy now price in paginated results.
What is the IAAI API?
The IAAI API exposes one endpoint — search_buy_now_vehicles — that returns up to 8 fields per vehicle from Insurance Auto Auctions' Buy Now inventory. Each result includes the vehicle title, stock number, mileage, auction name, auction lane, buy now price, and a direct listing URL. Results default to soonest-auction-first ordering and support keyword filtering by make, model, or other search terms.
curl -X POST 'https://api.parse.bot/scraper/f5a8e9df-623d-435e-91ab-56d526171140/search_buy_now_vehicles' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"page": "1",
"keyword": "Toyota",
"page_size": "25"
}'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 iaai-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: IAAI Vehicle Auction API — search Buy Now vehicles."""
from parse_apis.iaai_com_api import IAAI, InvalidInput
client = IAAI()
# Search all Buy Now vehicles, limited to 5 results
for vehicle in client.vehicles.search(limit=5):
print(vehicle.title, vehicle.buy_now_price, vehicle.auction_name)
# Search with a keyword filter for a specific make
toyota = client.vehicles.search(keyword="Toyota", limit=1).first()
if toyota:
print(toyota.title, toyota.stock_number, toyota.mileage, toyota.auction_lane)
# Handle typed errors for invalid input
try:
results = client.vehicles.search(keyword="Honda", limit=3)
for v in results:
print(v.title, v.buy_now_price, v.auction_lane)
except InvalidInput as exc:
print(f"Invalid input: {exc}")
print("exercised: vehicles.search (all / keyword-filtered / error handling)")
Search for vehicles with Buy Now pricing on IAAI. Returns paginated results including vehicle title, URL, stock number, mileage, auction location, auction lane, and buy now price. Results are ordered by auction date (soonest first) by default. Optionally filter by keyword to narrow results to specific makes, models, or other terms.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination, starting at 1. |
| keyword | string | Optional keyword to filter vehicles (e.g. make, model, or other search term). When omitted, returns all Buy Now vehicles. |
| page_size | integer | Number of vehicles per page, between 1 and 100. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"vehicles": "array of vehicle objects with title, url, item_id, stock_number, mileage, auction_name, auction_lane, and buy_now_price",
"page_size": "integer requested page size",
"total_results": "integer total number of matching vehicles"
},
"sample": {
"data": {
"page": 1,
"vehicles": [
{
"url": "https://www.iaai.com/VehicleDetail/45931136~US",
"title": "2025 TOYOTA GRAND HIGHLANDER HYBRID XLE",
"item_id": "45931136",
"mileage": "18,618 mi",
"auction_lane": "A - #125",
"auction_name": "Pittsburgh (Pennsylvania)",
"stock_number": "45433036",
"buy_now_price": "$30,825"
},
{
"url": "https://www.iaai.com/VehicleDetail/45928046~US",
"title": "2013 TOYOTA YARIS LE",
"item_id": "45928046",
"mileage": "164,704 mi",
"auction_lane": "B - #23",
"auction_name": "Dundalk (Maryland)",
"stock_number": "45429946",
"buy_now_price": "$2,325"
}
],
"page_size": 100,
"total_results": 2667
},
"status": "success"
}
}About the IAAI API
What the API Returns
The search_buy_now_vehicles endpoint queries IAAI's Buy Now inventory and returns a paginated list of vehicle objects. Each vehicle record includes title, url, item_id, stock_number, mileage, auction_name, auction_lane, and buy_now_price. The response envelope also carries page, page_size, and total_results so you can walk through the full result set programmatically.
Filtering and Pagination
The endpoint accepts three optional parameters. keyword narrows results to a specific make, model, or other search term — omitting it returns all available Buy Now listings. page (starting at 1) and page_size (1–100) control pagination. Results are ordered by auction date ascending by default, so the soonest-closing vehicles appear first. There is no server-side sort parameter beyond that default.
Coverage Scope
Data reflects IAAI's Buy Now listings — vehicles with a fixed purchase price rather than competitive-bid lots. Coverage spans auction locations across IAAI's network, with auction_name and auction_lane identifying exactly where each vehicle is held. Fields like condition reports, damage descriptions, and photo URLs are not included in the current response shape.
The IAAI API is a managed, monitored endpoint for iaai.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when iaai.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 iaai.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?+
- Monitor Buy Now prices for a specific make or model across all IAAI auction locations
- Build a price-alert system that triggers when a target vehicle's buy_now_price drops below a threshold
- Aggregate auction inventory by auction_name to identify which IAAI locations have the most available stock
- Cross-reference stock_number with other data sources to enrich vehicle history lookups
- Track mileage distributions across Buy Now listings to analyze fleet or salvage vehicle conditions
- Feed paginated IAAI listings into a dealer or broker inventory management system
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does IAAI offer an official developer API?+
What does the search_buy_now_vehicles endpoint return for each vehicle?+
title (year, make, model), url (direct IAAI listing link), item_id, stock_number, mileage, auction_name, auction_lane, and buy_now_price. The response envelope adds page, page_size, and total_results for pagination.Does the API cover standard bid auction lots, not just Buy Now listings?+
Are vehicle photos, condition reports, or damage descriptions available?+
buy_now_price, auction_name, auction_lane, mileage, stock_number, and title. Photo URLs and condition or damage data are not in the current response shape. You can fork it on Parse and revise to add those fields.How does pagination work, and is there a limit on results per page?+
page_size accepts values between 1 and 100, and page starts at 1. The total_results field in each response tells you how many matching vehicles exist, so you can calculate the number of pages needed to retrieve the full set.