FinTech
CarfaxGenie: Full CARFAX Vehicle History Reports at $7.50 — No Dealer Account Needed
Get full CARFAX vehicle history reports at $7.50 — no dealer account required. Buy per report or in discounted credit bundles. Shared VIN cache keeps every lookup cost-efficient.
Node.js
PostgreSQL
Python
Tailwind CSS
TypeScript
$7.50
Cost Per Full Vehicle History Report
100%
CARFAX Branding Automatically Stripped Per Report
3
Flexible Purchase Options (Single, Credits, Bulk Bundles)
The Problem
Full CARFAX Reports Are Locked Behind Expensive, Application-Only Dealer Accounts
CARFAX Vehicle History Reports are an essential tool for used car buyers, but direct consumer access is expensive and CARFAX's dealer API is not publicly accessible to individual buyers. Consumers had no affordable, programmatic way to get the same dealer-grade report data without paying premium prices through CARFAX's consumer portal.
Building a viable resale platform required solving three things simultaneously: authenticated dealer API access, a cost-effective shared report cache, and a clean consumer billing experience without friction.
Our Solution
Dealer API Access, DOM Branding Removal, and a Shared VIN Cache
We built CarfaxGenie on Laravel 10 with Blade + Tailwind CSS for the frontend and MySQL for the database. The core VIN lookup flow makes an authenticated request to CARFAX's internal JSON dealer endpoint with a full Chrome browser-spoofing header set and a dealer Bearer JWT. The returned vhrHtml is loaded into PHP's DOMDocument, a JavaScript cleanup script is injected to remove three CARFAX branding elements (.advantage-dealer-badge, .report-provided-by, .name-in-lights-snackbar), and the processed report is saved to disk at public/pdf/{vin}.html.
The VinList cache table means the second request for any VIN is served directly from disk — no API call, no cost. The credit system tracks balances in users.credit, with a two-table ledger: transaction_histories for financial events and credit_histories for per-action debit/credit records.
Stripe Checkout Sessions handle both single-report purchases (including guest checkout with no account required) and bulk credit package purchases. The webhook success handler branches on metadata.type to either top up credits or grant report access. Admin-managed Package records let pricing and bundle sizes be changed without code deployments.
Architecture
Laravel 10 (PHP) with Blade template engine. Tailwind CSS + Vite frontend build. MySQL database with users, vin_lists, user_vins, transaction_histories, credit_histories, and packages tables. Laravel Breeze for session auth. Laravel Sanctum for API tokens. Stripe Checkout Sessions + webhook handler. CARFAX Dealer API integration. PHP DOMDocument for server-side HTML manipulation. Static HTML file serving for processed reports.
The Result
Dealer-Grade CARFAX Reports at $7.50 — No Account, No Subscription, No Friction
CarfaxGenie gave private car buyers and independent inspectors access to dealer-grade CARFAX Vehicle History Reports at $7.50 per report — without requiring a dealer account, a CARFAX subscription, or any upfront commitment beyond a single-report purchase.
The shared VIN cache reduces the effective cost per report for the operator with every successive lookup — once any report is fetched, all future requests for that VIN are served from disk at zero API cost. The guest checkout flow removed the account-creation barrier entirely for one-off buyers, while the credit package system gave high-volume users like car dealers and independent inspectors a cost-effective bulk purchase option.
CARFAX branding is automatically stripped server-side via PHP DOMDocument manipulation — buyers receive a clean, unbranded report identical in detail and interactivity to what CARFAX's own portal serves. The full Stripe transaction and credit ledger gives the operator complete visibility into revenue and credit consumption across all purchase types.
Want scalable architecture and measurable results like this?
Book an Architecture Audit
Build Something Like This
// free scoping call · senior engineers · no commitment
Project scope, timelines, and architecture options in one 45-minute session.
More Work