Bring a Trailer Scraper — Live Bids & Sold Prices
Pricing
from $10.00 / 1,000 auctions
Bring a Trailer Scraper — Live Bids & Sold Prices
Scrape Bring a Trailer live auctions and sold prices. Export the current bid or sale amount, no-reserve flag, mileage, location, VIN, and seller for collector-car comps and auction monitoring.
Pricing
from $10.00 / 1,000 auctions
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Bring a Trailer or its affiliates. Data is read from publicly accessible auction listing and results pages only. No login and no bidding. You are responsible for complying with applicable law (including GDPR where a seller username appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Scrape Bring a Trailer live auctions and sold prices. Export current bid, sale amount, reserve-not-met results, no-reserve, and — when you turn on listing details — VIN, mileage, location, and seller. One Bring a Trailer scraper for dealer comps, auction monitoring, and enthusiast-car pricing.
Best for: dealers, brokers, and analysts who want auction rows in JSON or CSV for sheets, databases, and scheduled watches.
Crawloop vehicle pricing suite — enthusiast auction results, then marketplace comps for the same year, make, and model.
| Bring a Trailer | Cars & Bids | eBay sold comps | eBay asking prices |
|---|---|---|---|
| Bring a Trailer Scraper ◄── you are here | Cars & Bids Scraper | eBay Sold Listings Scraper | eBay Active Listings Scraper |
| Live bids, sold prices, reserve not met | Live bids and closed sale amounts | Completed marketplace sales | Live BIN and auction asking prices |
When to use this Actor
- Live auction watch — current bid, end time, and no-reserve on cars that are still open
- Sold price comps — completed auctions with the final sale amount
- Reserve-not-met comps — high bid when the car did not sell
- Scheduled new-lot monitor —
monitorModeon an Apify Schedule so repeat runs only charge new auction ids - VIN and spec pull —
includeDetailsadds chassis/VIN, odometer, engine, transmission, location, and seller - Make and model research — search
porscheor paste a results URL
When not to use this Actor
- The other enthusiast auction house — use Cars & Bids Scraper for that catalog
- Marketplace sold comps — use eBay Sold Listings Scraper for the same year, make, and model
- Live eBay asking prices — use eBay Active Listings Scraper
- Placing bids or logging in — this Actor only reads public auction data
Key features
- Live, sold, and reserve-not-met in one Actor. Cards already include the current bid or the sold price
- Optional listing detail for VIN, mileage, engine, transmission, location, and seller username
- Monitor mode stores seen auction ids in a named key-value store and skips them on the next run
- HTTP listings — no browser. Leave proxy off unless a run starts returning HTTP 403
- Deduped rows across several searches in the same run
Input
| Field | Required | Description |
|---|---|---|
searchQueries | No | Keywords such as porsche or 911. Each query is its own search |
startUrls | No | Listing URL, live auctions page, results page, or make page |
auctionStatus | No | live (default), sold, or unsold |
minimumYear / maximumYear | No | Model-year bounds |
maximumBid | No | Drop rows above this USD bid or sale amount |
maxItems | No | Cap across the whole run. Default 50. The completed archive is hundreds of thousands of lots |
includeDetails | No | Open each listing for VIN, mileage, and seller. Default off |
monitorMode | No | Charge only auction ids not seen in the named store |
monitorStoreName | No | Key-value store name. One name per watch |
resetMonitorState | No | Clear seen ids before this run |
proxyConfiguration | No | Leave off |
{"searchQueries": ["porsche"],"auctionStatus": "sold","maxItems": 25,"includeDetails": false}
A single listing:
{"startUrls": [{ "url": "https://bringatrailer.com/listing/1992-bmw-325i-e30-9/" }],"includeDetails": true,"maxItems": 1}
Output
| Field | Description |
|---|---|
title | Year, make, and model |
status | live, sold, or unsold |
currentBid | High bid in USD |
saleAmount | Final price when the lot sold |
soldText | Sold-for or bid-to line |
noReserve | True when there is no reserve |
year | Model year |
auctionEnd | End time |
url | Listing URL |
vin | VIN or chassis when details are on |
mileage / mileageText | Odometer when details are on |
location | Seller location when details are on |
sellerUsername | Public seller name when details are on |
engine / transmission | Spec lines when details are on |
imageUrl | Main photo |
scrapedAt | When the row was saved |
{"auctionId": "120687587","title": "1992 BMW 325i Convertible","status": "sold","year": 1992,"currentBid": 8692,"saleAmount": 8692,"soldText": "Sold for USD $8,692 on 9/28/2026","noReserve": true,"vin": "WBABB2315NEC29545","mileage": 131000,"location": "Hudsonville, Michigan 49426","sellerUsername": "isaiaharends","url": "https://bringatrailer.com/listing/1992-bmw-325i-e30-9/"}
Use cases
- Dealer comps — sold Porsche 911s with sale amount, year, and no-reserve, then the same car on eBay
- Live book — what is open right now, the current bid, and when it ends
- Reserve-not-met watch — cars that failed to sell and the high bid they reached
- Morning monitor — a schedule that only returns auctions you have not already stored
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('crawloop/bring-a-trailer-scraper').call({searchQueries: ['porsche'],auctionStatus: 'sold',maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(item.title, item.saleAmount || item.currentBid, item.noReserve);}
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_TOKEN")run = client.actor("crawloop/bring-a-trailer-scraper").call(run_input={"searchQueries": ["porsche"],"auctionStatus": "sold","maxItems": 25,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("title"), item.get("saleAmount") or item.get("currentBid"))
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~bring-a-trailer-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["porsche"],"auctionStatus":"sold","maxItems":25}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID crawloop/bring-a-trailer-scraper.
Example prompts:
- "Run Bring a Trailer Scraper for live porsche auctions, max 20, and return title, currentBid, noReserve, auctionEnd as JSON"
- "Scrape sold Bring a Trailer results for 911 and summarize sale amounts"
- "Chain Bring a Trailer Scraper then eBay Sold Listings Scraper for the same year, make, and model"
Suite next step
After Bring a Trailer sold prices, run Cars & Bids Scraper for the other enthusiast auction catalog, then eBay Sold Listings Scraper for marketplace comps on the same year, make, and model. For cars that are still listed, use eBay Active Listings Scraper.
FAQ
Is this a Bring a Trailer API? Unofficial. It reads the public auction pages and results feed the website uses. There is no separate buyer API to replace it.
Do result rows include the price? Yes. Live rows include currentBid. Sold rows include saleAmount. Reserve-not-met rows keep currentBid and leave saleAmount empty. includeDetails is for VIN, mileage, and seller, not for the price itself.
How does monitor mode work? The first run saves every auction id it sees. Later runs with the same monitorStoreName skip those ids and only charge new ones. Use one store name per watch, and resetMonitorState when you want a fresh baseline.
Can I pull the whole sold archive? Raise maxItems only as far as you need. The completed archive is hundreds of thousands of lots. Start with a keyword so the run stays inside your cap.
Do I need a proxy? No. Leave proxy off. Enable Apify Proxy only if a run fails with HTTP 403.
Does it log in or bid? No. Public auction fields only.