Developer API
Salvage boats, jet skis and HINs, as JSON
Every boat and jet ski at Copart and IAA in the US and Canada, upcoming and sold with the last bid, plus a HIN decoder. Plain REST, one key, paid with SalvageAlert credits.
- 50 free credits
- with a free account
- 60+ requests/min
- more on paid plans
- OpenAPI 3
- for Postman and SDK generators
Quick start
- 1
Create a free account
It is a SalvageAlert account, and it comes with 50 API credits.
- 2
Create a key
In your account, under API. Copy it: it is shown once.
- 3
Make a call
Send it as a Bearer token. Each call says what it cost and what is left.
curl "https://salvagealert.com/api/v1/boats?status=live&kind=pwc&sort=ending&per_page=10" \
-H "Authorization: Bearer $SA_API_KEY"Authentication
Every request carries your key in the Authorization header. Keys start with sa_live_, work on boat.vin’s endpoints and on all of SalvageAlert’s, and can be revoked at any time from your account. Keep them on your server: never in a web page or an app bundle.
Base URL
https://salvagealert.com/api/v1Header
Authorization: Bearer sa_live_…Credits and limits
Calls are paid with SalvageAlert API credits, the same balance as the car API. A free boat.vin account starts with 50. Paid SalvageAlert plans add 500 or 5,000 a month, and credit packs top up any account. Errors are never charged.
| Endpoint | Cost |
|---|---|
| GET /boats | 1 credit per page |
| GET /boats/{source}/{lot_key} | 1 credit |
| GET /boats/hin/{hin} | 1 credit |
| GET /boats/makes | Free |
Every response carries x-credits-charged, x-credits-balance, x-ratelimit-limit, x-ratelimit-remaining and x-request-id. The free plan allows 60 requests a minute.
Buy credits1 credit per page
GET/boats
Search boats and jet skis, upcoming and sold, with every boat.vin filter.
| Parameter | Values | What it does |
|---|---|---|
| status | live · ended · all | Upcoming and running auctions, the sold archive, or both (default). |
| kind | boat · pwc | Boats, or jet skis and personal watercraft. |
| q | text | Free text: make, model, place or a HIN. Makes, years, states and “jet ski” are read out of it. |
| make | text | Any spelling the auctions use: “SEA RAY”, “Searay”, “SEAR”. |
| hull | pontoon · bass · aluminum · center-console · bowrider · cruiser · wake · deck · sail · pwc | Kind of boat. |
| source | copart_us · copart_ca · iaai_us · iaai_ca | One auction. |
| country / region | us · ca / FL, TX, ON… | A country, or a state or province code. |
| year_min / year_max | 1950–2027 | Model year range. |
| len_min / len_max | feet | Length. Only lots whose listing states one, about one in five. |
| damage / title | flood, fire, … / salvage · rebuilt · parts | Damage and title buckets (see /boats/makes). |
| lat / lng / radius | degrees, miles | Nearest first from a point, within a radius. |
| sort | newest · ending · sold_recent · price_desc · price_asc · year_desc · year_asc | “ending” is soonest sale first, then past sales newest first. |
| page / per_page | 1–400 / 1–50 | Paging. 24 per page by default. |
curl "https://salvagealert.com/api/v1/boats?make=sea%20ray&status=ended&sort=sold_recent" \
-H "Authorization: Bearer $SA_API_KEY"Response
{
"total": 38,
"page": 1,
"per_page": 2,
"pages": 19,
"items": [
{
"id": "copart_us:70849645",
"source": "copart_us",
"lotKey": "70849645",
"kind": "pwc",
"hull": "pwc",
"year": 2023,
"make": "Yamaha",
"model": "FX CRUISER",
"hin": "YAMA2324F323",
"location": "CHALFONT, PA",
"regionCode": "PA",
"status": "live",
"saleDate": 1793710800000,
"currency": "USD",
"price": { "value": 3100, "currency": "USD", "basis": "current_bid" },
"buyNow": null,
"estRetail": 15933.8,
"primaryDamage": "UNDERCARRIAGE",
"damageBucket": "undercarriage",
"title": "Salvage",
"hasKeys": false,
"images": ["https://…/1.jpg", "…"],
"auctionUrl": "https://www.copart.com/lot/70849645"
}
]
}1 credit
GET/boats/{source}/{lot_key}
One lot: photos, HIN, damage, every sale it went through, its bid trail and what similar boats sold for.
curl "https://salvagealert.com/api/v1/boats/copart_us/70849645" \
-H "Authorization: Bearer $SA_API_KEY"Response
{
"boat": {
"id": "copart_us:70849645",
"year": 2023, "make": "Yamaha", "model": "FX CRUISER",
"hin": "YAMA2324F323",
"status": "live",
"price": { "value": 3100, "currency": "USD", "basis": "current_bid" },
"primaryDamage": "UNDERCARRIAGE", "title": "Salvage",
"hours": 41, "engine": null, "lengthFt": null,
"images": ["https://…/1.jpg", "…"],
"bidHistory": [{ "ts": 1793500000, "bid": 2600 }, { "ts": 1793590000, "bid": 3100 }],
"saleEvents": [{ "saleDate": 1791200000000, "highBid": 2800, "currency": "USD", "kind": "auction" }],
"auctionUrl": "https://www.copart.com/lot/70849645",
"…": "63 fields in all"
},
"comps": {
"basis": "2021–2025 Yamaha jet skis",
"count": 12, "median": 4100, "low": 2600, "high": 6200,
"currency": "USD", "items": [ … ]
},
"similar": [ … ]
}1 credit
GET/boats/hin/{hin}
Decode a HIN and list every Copart and IAA listing that carried it.
curl "https://salvagealert.com/api/v1/boats/hin/SERR2727K900" \
-H "Authorization: Bearer $SA_API_KEY"Response
{
"hin": "SERR2727K900",
"decode": {
"mic": "SER",
"builder": "Sea Ray",
"serial": "R2727",
"format": "current",
"format_label": "Current format (since Aug 1984)",
"productionMonth": 11,
"productionYear": 1999,
"modelYear": 2000,
"certain": true,
"issues": []
},
"builder_code": { "mic": "SER", "lots": 4, "makes": [{ "make": "Sea Ray", "count": 3 }] },
"listings": []
}Free
GET/boats/makes
The values the filters take: makes, hull types, damage, titles, regions.
curl "https://salvagealert.com/api/v1/boats/makes?kind=pwc" \
-H "Authorization: Bearer $SA_API_KEY"Errors
Errors come back as JSON with a code you can switch on, and a request id to quote to support. None of them costs a credit.
| 400 | invalid_source · invalid_lot_key · invalid_hin | A parameter is wrong. |
| 401 | invalid_credentials | Missing, wrong or revoked key. |
| 402 | insufficient_credits | The balance is too low for this call. |
| 404 | not_found | No such lot. |
| 429 | rate_limit | Too many requests this minute; retry after x-ratelimit-reset. |
{ "error": { "code": "insufficient_credits", "message": "…" }, "request_id": "4895a721-…" }Need more than boats?
The same key reaches SalvageAlert’s full API: cars, trucks and motorcycles at Copart and IAA in four countries, webhooks, VIN watches and price statistics.
