Product
TheCarApi
Full multi-source auction inventory API on one flat plan. Pricing is a single price — not feature tiers. Search, detail, images, catalog, SEO, history, top offers, the import calculator, and the European classifieds feed are always included — along with the enrichment the raw sources do not publish: VINs read off Auto1 paperwork, and the Encar/KB ChaChaCha duplicates resolved into one card.
CAPABILITY A
Search & inventory
GET /api/searchFacetsCatalog / SEO- ~1M+ public-visible live vehicles
- Filters: source, brand, model, trim, registration/production year, fuel, gearbox, country, km, hp, price and condition
- Search pages: max 100 rows; no search offset cap. Other feeds have documented caps
- Included on every plan
CAPABILITY B
Detail API
GET /api/auction/{site}/{id}GET /api/car-details- Source-aware identity: openlane|auto1|schadeautos|copart|encar|kbchachacha|ecarstrade|japan
- Normalized specs + public_price_eur + landed-style finals
- Lifecycle timestamps; Japan uses stored details, without an on-demand fetcher
- Included on every plan
CAPABILITY C
Media API
GET /api/auction-images/{site}/{id}Report-vault document URLs- 50M+ ready WebP (~5 TB)
- Use served_url where available; report files are cached with upstream redirects where needed
- source_section, is_primary, dimensions
- Included on every plan
CAPABILITY D
Price history
GET /api/auction/{site}/{id}/price-history- Chronological source and public price snapshots
- Changed-field and observation timestamps
- Source-aware auction identity
- Included on every plan
CAPABILITY E
History / archive
GET /api/archive/searchGET /api/archive/auction/{site}/{id}GET /api/archive/stats- 5M+ vehicles + 500K+ archived
- Same filter vocabulary as live search, plus archived_from, archived_to and exact-VIN lookup
- Stored detail + archived_at; no live_price or embedded vault_gallery in archive detail
- Images stay in vault independently
- Per-source coverage for price, reported final price and VIN from /api/archive/stats
- Requires archive scope; a last observed price is not a confirmed sale price
CAPABILITY F
European classifieds
GET /api/classifieds/listings…/facets…/models- 2026-08-18 snapshot: 9.8M retail listings, 681 portals, 39 European countries
- Filter by country, brand, model, fuel, gearbox, seller type and named origin portal
- Retail asking prices as a market reference against wholesale auction lots
- Separate dataset — never merged into /api/search, never in /api/sites
CAPABILITY G
Top offers & calculator
GET /api/top-offersPOST /api/calculator/calculate- Auctions priced below their market reference, with the reference attached
- market_reference: price_eur, mileage, km_difference, explanation
- Landed-cost estimate: duty, VAT, shipping, fees, per-source fee model
- Included on every plan
CAPABILITY H
Raw source payloads
car_identification JSONB- Available source-specific fields vary by listing and key grant
- Source-specific damages, equipment, reports
- KB inspection blocks and Japanese reseller evidence where collected
- Included on every plan
CAPABILITY I
Vehicle identity & VIN history
auction.vin_ocrGET /api/vin/{vin}- Auto1 publishes no VIN — we read it off the registration photos it does publish
- vin_ocr: { vin, confidence, evidence }; a confident read also fills chassis_number
- vin_ocr_pending marks a read in flight, exactly like the live-price flag
- VIN history: every appearance of one VIN across live and archived inventory, newest first
- Both are sensitive grants — VIN history is not enabled on a new key by default
CAPABILITY J
Korean duplicate resolution
auction.source_comparisonauction.canonical_offer- Encar and KB ChaChaCha list the same cars — one representative card is published, not two
- Grouped on VIN, or a corroborated plate with make and model; never on specification alone
- source_comparison: offers, selected, spread_eur, image_source, match_method
- Photo sets are never interleaved; image_source names the listing the gallery came from
- Korean source totals are not the sum of the two upstream sites — by design
- Merge metadata is the separate korea_merge field grant