Bring a Trailer Auctions Scraper icon

E-commerce

Bring a Trailer Auctions Scraper

Scrape Bring a Trailer collector-car auctions — active and completed. Get VIN, mileage, seller type, lot number, spec bullets, current/final bid, and optional full bid-history per listing.

Free Apify credit covers a first run. No credit card to try.

What this Actor scrapes

Give it a make slug (porsche), the global auctions index, or a direct listing/category URL, and it returns one normalised record per collector-car auction listing — active or completed — carrying current or final bid, VIN/chassis, mileage, seller type, lot number, spec bullets, and (optionally) the full bid-history feed reconstructed from the listing's comment stream.

What we handle for you

  • Active and completed/sold auctions — the sold-price time-series most
  • VIN/chassis, normalised mileage, seller type (private party vs. dealer),
  • Optional full bid-history: bidder, amount, and ISO-8601 timestamp per bid.
  • Works from a bare make slug, the global auctions index, a category URL,
  • Deduplicated by listing ID across every input entry in a single run.

Use cases

  • Classic-car appraisers building comp sets from real sold prices.
  • Insurers valuing collector vehicles against recent auction results.
  • Dealers tracking what similar inventory is actually selling for.
  • Comp-sales researchers who need VIN-decode-ready, machine-joinable

Input

Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.

FieldTypeRequiredWhat it does
makesOrUrls array yes Bring a Trailer make slugs (e.g. porsche), the literal auctions for the global active-auctions index, or direct listing/category URLs (e.g. https://bringatrailer.com/listing/1987-porsche-911-carrera-coupe-16/). A…
includeActive boolean no Scrape live/active auctions found on index pages.
includeCompleted boolean no Scrape completed/sold auctions found on index pages.
includeBidHistory boolean no Parse the full bid-history feed (bidder, amount, timestamp) from each listing's detail page. The detail page is always fetched regardless of this setting — VIN, mileage, seller type, and lot number live there too. When…
maxListings integer no Hard cap on total listings detail-scraped in one run, across all Makes or URLs entries combined.
{
  "makesOrUrls": [
    "porsche"
  ],
  "includeActive": true,
  "includeCompleted": true,
  "includeBidHistory": true,
  "maxListings": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Output

One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.

listing_idtitleurlyearmakevinmileagestatusbid_amountno_reserveseller_typelot_numberbid_countbid_history

{
  "listing_id": 512034,
  "title": "1987 Porsche 911 Carrera Coupe 5-Speed",
  "url": "https://bringatrailer.com/listing/1987-porsche-911-carrera-coupe-16/",
  "year": 1987,
  "make": "porsche",
  "vin": "WP0AB29901S685909",
  "mileage": 28000,
  "mileage_raw": "28k Miles",
  "status": "sold",
  "currency": "USD",
  "bid_amount": 52000,
  "no_reserve": true,
  "seller_type": "private_party",
  "lot_number": "256804",
  "comment_count": 160,
  "bid_count": 34,
  "watchers": 412,
  "views": 18904,
  "auction_end_at": "2026-06-12T18:00:00+00:00",
  "thumbnail_url": "https://bringatrailer.com/wp-content/uploads/2026/05/thumb.jpg",
  "spec_bullets": [
    "3.2L Flat-Six",
    "5-Speed Manual",
    "Guards Red Paint",
    "Recent Service"
  ],
  "bid_history": [
    {
      "bidder_name": "carguy88",
      "bidder_id": 44221,
      "amount": 51000,
      "timestamp": "2026-06-12T17:58:11+00:00"
    }
  ],
  "scraped_at": "2026-08-10T12:00:00.000Z"
}

Pricing

EventPriceWhen
Actor startOnce per run, covers warm-up and proxy session setup.
Actor Start$0.0050Per result written to the dataset.
result$0.0015Per result written to the dataset.

You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.

Limitations

  • v1 reads only the items array present in the index page's initial
  • Only bid events are materialised into bid_history; general comment text
  • Single-listing mode (a direct /listing/... URL) can't recover status,
  • Currency is passed through as-is; no FX conversion performed.

FAQ

Does this need a Bring a Trailer login?
No — every page scraped is public and unauthenticated.
Can I get only completed (sold) auctions?
Yes — set includeActive to false and includeCompleted to true.
How do I scrape a single listing?
Pass its full https://bringatrailer.com/listing/... URL in makesOrUrls.

Ready to run it?

Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.

Related Actors

Teams that run this also run