Upfit Scraper¶
Repo: savvydealer-adam/upfit-scraper · Path: C:/Users/adam/upfit-scraper · Owner: Adam
Status: Prototype · % Done: 50 · Last commit: 2026-04-03
Deployed: not deployed
What it is¶
Scraper for Work Truck Solutions / Comvoy.com — a commercial vehicle upfit marketplace. Pulls vehicles, body manufacturers, body types, and all upfit spec attributes into a local SQLite DB.
Why it exists¶
Commercial-vehicle dealers need to show upfit options (service bodies, flatbeds, tow packages, etc.) on their websites. This builds the canonical upfit catalog SavvyDealer can resell.
How it works¶
Python + httpx + SQLite.
- Hits Comvoy's SvelteKit __data.json endpoint — no HTML parsing, no headless browser
- Listing response returns everything: vehicle, body manufacturer, body type, upfit specs (30/page)
- No individual VDP scrape needed
- Normalized SQLite schema: vehicles, body_manufacturers, body_types, upfit_specs, vehicle_upfits
What's done¶
- SvelteKit data endpoint discovered + wired
- SQLite schema with joins for vehicle↔upfit mapping
- Basic scrape + upsert working
- Research docs complete
What's next¶
- Production runs across full Comvoy inventory
- API layer to expose the catalog to dealer sites
- Cloud Run deploy + cron
- Hook into commercial-vehicle dealer website templates
Where the code lives¶
scraper.py— Comvoy API scraperdatabase.py— SQLite schema + upsertsdata/upfits.db— working database
Integrations¶
- Future: commercial-vehicle dealer website templates (not yet wired)
- Future: pair with
vehicle-features/ inventory systems for upfit enrichment
Don't rebuild this — extend it¶
To add another upfit source, copy the SvelteKit-data pattern and add a sibling scraper module with the same DB upserts.