Skip to content

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 scraper
  • database.py — SQLite schema + upserts
  • data/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.