Discover/Bring a Trailer API
live

Bring a Trailer APIbringatrailer.com

Access live auctions, completed sale prices, price trends, and full listing details from Bring a Trailer via a structured JSON API.

Endpoint health
verified 9h ago
get_model_auction_results
get_price_trends
get_price_trend_comparison
get_listing_detail
get_makes_and_models_directory
8/8 passing latest checkself-healing
Endpoints
8
Updated
22d ago

What is the Bring a Trailer API?

The Bring a Trailer API covers 8 endpoints that expose live auction listings, completed sale results, make/model price statistics, and full listing detail pages from bringatrailer.com. The get_price_trends endpoint returns count, min, max, average, and median sale prices for any make/model combination filtered by 1, 2, 3, or 5-year windows, while get_current_auctions surfaces every active listing with its current bid, reserve status, and end timestamp.

Try it

No input parameters required.

api.parse.bot/scraper/0ea2dbf8-cbae-4a6b-90d3-149278f4a294/<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/0ea2dbf8-cbae-4a6b-90d3-149278f4a294/get_current_auctions' \
  -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 bringatrailer-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: Bring a Trailer SDK — browse auctions, search, check pricing."""
from parse_apis.bring_a_trailer_api import BringATrailer, Recency, ModelNotFound

bat = BringATrailer()

# Browse currently live auctions (single-page, cap total items)
for auction in bat.auctions.current(limit=3):
    print(auction.title, auction.current_bid, auction.url)

# Search for models by keyword
match = bat.modelmatches.search(query="Ferrari", limit=1).first()
if match:
    print(match.title, match.url, match.destination)

# Construct a VehicleModel and get price trends for the last year
porsche_911 = bat.vehiclemodel(slug="911")
trends = porsche_911.price_trends(make="porsche", recency=Recency.ONE_YEAR)
print(trends.count, trends.avg, trends.median, trends.min, trends.max)

# Compare year-over-year pricing
comparison = porsche_911.price_comparison(make="porsche")
print(comparison.recent_avg, comparison.older_avg, comparison.percent_change)

# Typed error handling for an invalid model
try:
    bad_model = bat.vehiclemodel(slug="nonexistent-xyz-999")
    bad_model.price_trends(make="fakemake")
except ModelNotFound as exc:
    print(f"Model not found: {exc}")

print("exercised: auctions.current / modelmatches.search / price_trends / price_comparison + ModelNotFound")
All endpoints · 8 totalmissing one? ·

Retrieves all currently live auctions on Bring a Trailer. Each auction item includes the current bid amount, title, URL, end timestamp, location, and whether the listing has no reserve. The locations array provides geographic filter options.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "items": "array of active auction listing objects",
    "locations": "array of location filter groups with country listings"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": 114965214,
          "url": "https://bringatrailer.com/listing/2007-lamborghini-murcielago-lp640-roadster-6/",
          "year": "2007",
          "title": "2007 Lamborghini Murcielago LP640 Roadster 6-Speed Conversion",
          "country": "United States",
          "excerpt": "This 2007 Lamborghini...",
          "currency": "USD",
          "noreserve": true,
          "current_bid": 379000,
          "country_code": "US",
          "timestamp_end": 1781110800,
          "current_bid_formatted": "USD $379,000"
        }
      ],
      "locations": [
        {
          "id": "NA",
          "title": "North America",
          "countries": [
            {
              "id": "CA",
              "title": "Canada"
            },
            {
              "id": "US",
              "title": "United States"
            }
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the Bring a Trailer API

Live Auctions and Completed Results

get_current_auctions returns all active listings with fields including current bid amount, listing title, URL, end timestamp, location, and a no-reserve flag. A locations array provides geographic groupings you can use for client-side filtering. get_auction_results returns paginated completed auctions sorted by most-recently-closed, including final sale price and sold date text. Note that only page 1 is reliably supported — higher pages may time out, so designs that depend on deep pagination should account for that constraint.

Model-Level Pricing and Comparisons

get_price_trends accepts make, model, and an optional recency parameter (1Y, 2Y, 3Y, or 5Y) and returns avg, median, min, max, and count across closed sales in that window. When no sales exist for a period, all numeric fields return zero rather than an error. get_price_trend_comparison narrows to a fixed two-period view: recent_avg vs older_avg for the most recent 12 months versus the prior 12, plus recent_count, older_count, and a percent_change field useful for spotting appreciation or depreciation trends. get_model_auction_results returns both the paginated listing objects and a stats object containing sold and unsold arrays of price/timestamp data points, suitable for charting a model's auction history.

Listing Detail and Discovery

get_listing_detail accepts either a full URL or a listing slug and returns title, url, a stats object with extracted listing essentials, a json_ld array of structured data objects, and a theme_data object carrying the BaT post ID and configuration. search_listings takes a query string and returns matching make/model pages and listing categories with URL, title, destination, and result type — useful for resolving user input to valid slugs. get_makes_and_models_directory returns the complete list of makes and their associated models with name, URL, and slug fields needed by the pricing endpoints.

Finding Valid Slugs

All pricing and results endpoints require lowercase make and model slug parameters (e.g. porsche, 911). The recommended resolution path is search_listings for keyword-to-slug lookups or get_makes_and_models_directory for a full enumeration of every supported make-model pair, which returns each model's slug directly.

Reliability & maintenanceVerified

The Bring a Trailer API is a managed, monitored endpoint for bringatrailer.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bringatrailer.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 bringatrailer.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.

Last verified
9h ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
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
  • Track real-time bidding activity and reserve status across all live BaT auctions for a watchlist app
  • Calculate fair-market value ranges for a specific vehicle using median and average sale prices from get_price_trends
  • Identify models that have appreciated year-over-year using the percent_change field from get_price_trend_comparison
  • Build a historical price chart for a make/model using the sold data points array in get_model_auction_results
  • Resolve user-typed vehicle names to valid make/model slugs via search_listings before querying pricing endpoints
  • Pull structured listing metadata including JSON-LD product data for a specific auction via get_listing_detail
  • Enumerate the complete BaT make/model catalog with get_makes_and_models_directory for a vehicle valuation database
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Bring a Trailer have an official developer API?+
Bring a Trailer does not publish an official public developer API. The data accessible here is not available through any documented first-party endpoint from BaT.
What does get_listing_detail return beyond the sale price?+
It returns the listing title, full URL, a stats object with extracted listing essentials, a json_ld array of JSON-LD structured data objects (which may include Product/Offer pricing schema when available), and a theme_data object containing BaT's post ID and configuration. It accepts either a full URL or a short slug.
Are auction comments, seller descriptions, or photo galleries exposed?+
Not currently. The API covers listing metadata, bid amounts, sale prices, pricing statistics, and JSON-LD structured data. It does not expose comment threads, narrative descriptions, or photo gallery URLs. You can fork this API on Parse and revise it to add an endpoint targeting that content.
Is there a limitation on paginating through completed auction results?+
Yes. get_auction_results accepts a page integer, but only page 1 is reliably supported — requests for higher page numbers may time out. For deep historical data by make and model, get_model_auction_results with its page parameter is the more stable path.
Can I filter live auctions by make, model, or price range?+
get_current_auctions returns all active listings at once without server-side filters for make, model, or bid range. The response includes a locations array for geographic grouping, but filtering by vehicle type or price must be done client-side. You can fork this API on Parse and revise it to add filtered query parameters.
Page content last updated . Spec covers 8 endpoints from bringatrailer.com.
Related APIs in AutomotiveSee all →
auctiontime.com API
Search and browse equipment and truck auction listings from AuctionTime.com, view detailed information about specific auctions, filter by category and auctioneer, and track auction results by date. Access comprehensive auction data including listings, categories, and auctioneer information all in one place.
autotrader.com API
Search Autotrader.com vehicle listings and access detailed information like pricing, specifications, and VIN data with flexible filtering options. Browse all available vehicle makes and models to refine your search across thousands of listings.
autotrader.com.au API
Search and browse car listings on AutoTrader Australia with filters by make and model, then view detailed information about specific vehicles. Find available cars with full specs and compare options across thousands of listings using customizable filters.
autobidmaster.com API
Search and browse vehicle auction inventory with detailed lot information, filters by make, type, body style, and damage condition, plus discover featured items and auction locations. Find the perfect vehicle by accessing comprehensive inventory data and exploring popular makes and damage types across AutoBidMaster auctions.
autotrader.ca API
Search vehicle listings on AutoTrader.ca and retrieve detailed information including specifications, pricing, mileage, and seller contact details. Compare listings across makes, models, and locations to support vehicle research and purchasing decisions.
exoticcartrader.com API
Search and browse exotic, collector, and classic car listings with detailed vehicle information including specs, VIN numbers, photos, and lot details. Discover featured vehicles by make or category, read expert reviews, and stay updated with industry blog posts all in one place.
bid.cars API
Search and browse salvage and insurance vehicle auctions from Copart and IAAI marketplaces, view detailed listing information including photos, pricing history, and vehicle specifications by VIN or lot number. Find similar vehicles, access sales history, and explore available makes and models to discover your next auction opportunity.
autotrader.co.za API
Search and access comprehensive vehicle listings from South Africa's AutoTrader with pricing, specifications, location details, and seller information. Get everything you need to compare cars and make informed purchasing decisions, though direct seller phone numbers aren't available due to security protections.