Powersports Data¶
Repo: savvydealer-adam/powersports-data · Path: C:/Users/adam/powersports-data · Owner: Adam
Status: Active dev · % Done: 60 · Last commit: 2026-04-04
Deployed: not deployed (API layer in progress)
What it is¶
Powersports OEM vehicle database — specs, images, pricing, VIN decoding for 15+ OEMs. Powers gables-motorsports and every future SavvyDealer powersports dealer site.
Why it exists¶
To compete in powersports websites, we need a canonical OEM vehicle database — the equivalent of what vehicle-features is for auto and rv-catalog is for RV. DealerSpike locks in dealers partly because they own the data; owning our own breaks that moat.
How it works¶
Python. Per-OEM scraper modules + normalized schema + API + frontend.
- 17 scraper modules: Honda, Yamaha, Kawasaki, Suzuki, Polaris, Can-Am/BRP, Harley-Davidson, KTM, Husqvarna, CFMoto, Triumph, BMW Motorrad, Ducati, Royal Enfield, Arctic Cat / Textron
- Historical data scrapers: NHTSA, API Ninjas, Yamaha historical
- Categories: motorcycles, ATVs, UTVs, watercraft, snowmobiles
- Data points: year/make/model/trim, engine specs, transmission, dimensions, weight, fuel/towing capacity, multi-angle images, MSRP, VIN WMI codes
- verify_against_dealers.py — cross-check scraped data against live dealer sites
- Dealer inventory management system added 2026-04-04
What's done¶
- 15+ OEM scrapers written
- Historical data sources wired (NHTSA, API Ninjas)
- Dealer verification script
- Dealer inventory management scaffold
- Schema + research docs
What's next¶
- Production runs across all OEMs → canonical DB
- API layer (to match
rv-catalog/vehicle-featurespatterns) - Image hosting pipeline (Gables currently hotlinks DealerSpike — not sustainable)
- Cloud Run deploy
Where the code lives¶
scrapers/— 17 per-OEM scraper modulesschema/— data modelapi/— API layer (in progress)frontend/— admin/coverage UIresearch/— OEM researchdata/— working DB
Integrations¶
- Powers
gables-motorsports(OEM KB — 892 models, 16 OEMs already in use) - Pattern-parallel to
vehicle-features(auto) andrv-catalog(RV)
Don't rebuild this — extend it¶
For another powersports OEM, copy an existing scraper module (e.g., honda.py) and swap selectors — the schema and verification pipeline are already shared.