Automotive logos for leasing and finance applications
Applications, quotes, portfolio tables, and PDF documents all identify a vehicle by make. Put the right manufacturer badge next to it with one URL, in the size and format each surface needs, and take the 100-brand logo folder off your team's plate for good.
Lease application
Vehicle · Step 2 of 4
- Applicant
- Vehicle
- Finance
- Review
What it changes for a finance business
- New makes quoted the same day
- When an EV brand enters your lease book, it is a slug in the JSON API rather than a request to design. Sales quotes it the day the pricing lands.
- Replaces a design ticket for every new make
- Fewer wrong-make applications
- Applicants confirm the badge before they type a model. A mismatched make caught at step two costs a click; caught at underwriting it costs a re-key and a callback.
- Replaces manual correction after submission
- Documents that match the car
- The mark on the quote PDF is the mark on the vehicle. A document assembled from a stale or off-brand logo costs trust at exactly the moment a customer is deciding whether to sign.
- Replaces a hand-maintained PNG set for templates
- Rebrands without a template audit
- When a manufacturer refreshes its logo, the asset behind the URL changes and every quote, portal card, and email picks it up within a day. Nobody opens forty templates to check.
- Replaces a template sweep after every rebrand
How Leaselab took 100 brands off the operations budget
- Company
- Leaselab
- Footprint
- Multiple platforms
- Library
- More than 100 automotive brands
- Before Motomarks
- An extensive operational cost
What the team stopped doing
- 01
Hours chasing updated brand assets
The asset behind the URL is updated; the URL does not change
- 02
Resizing logos by hand for each placement
size=andtype=are query parameters - 03
Applying one change across various systems
Every platform reads the same URL, so one update reaches all of them
“Our application flow, customer portal, and document templates all render the same badge from the same URL. A new make used to mean a designer, three pull requests, and a release window. Now it is a slug in a config table, and the badge is on the quote the same afternoon.”
Where the badge follows the vehicle
- Application form
- A 20px badge inside the make select, so applicants confirm the brand before they type a model.
- type=badge&size=xs
- Quote and offer summary
- The make badge beside the vehicle on the card a customer reviews and signs.
- type=badge&size=md
- Customer portal
- Each agreement under My vehicles carries its badge, so a two-car household tells them apart at a glance.
- type=badge&size=sm
- Broker and portfolio tables
- A 16px wordmark per row instead of a text-only make column in dense tables.
- type=wordmark&size=xs&aspect=height
- PDF quotes and emails
- PNG for PDF renderers and email clients that do not decode WebP.
- type=badge&size=sm&format=png
What a 100-brand library costs to keep by hand
Your numbers; change any input. First year = brands × minutes per brand + changes × codebases × hours per change. Each year after drops the one-time build. The model counts engineering time only; it leaves out CDN hosting, storage, and the cost of shipping an out-of-date mark.
Coverage for lease and loan books
Integration in four steps
“Two keys, one URL pattern, and the PDF renderer gets PNG from the same slug. That is the whole integration.”
- 01
Load the make list on the server
The JSON API returns every published brand with its
id(the slug) andname. Fetch it with the secret key on your server, revalidate daily, and hand the client a plain list.The application form never needs the secret key, and the make list never goes stale between deploys.
app/api/makes/route.ts export async function GET() { const res = await fetch("https://api.motomarks.io/brands", { headers: { Authorization: `Bearer ${process.env.MOTOMARKS_SECRET_KEY}` }, next: { revalidate: 86400 }, }); if (!res.ok) return Response.json([], { status: 502 }); const brands: { id: string; name: string }[] = await res.json(); return Response.json(brands.map(({ id, name }) => ({ slug: id, name }))); } - 02
Render the badge in the form and the summary
One helper builds the URL; each surface passes the size it needs. The select uses
xs, the summary cardmd. Same slug, same key, no image assets in the repository.vehicle-summary.tsx const badge = (slug: string, size: "xs" | "sm" | "md") => `https://motomarks.io/img/${slug}?type=badge&size=${size}&token=${process.env.NEXT_PUBLIC_MOTOMARKS_KEY}`; export function VehicleSummary({ make, model }: { make: Make; model: string }) { return ( <div className="summary"> <img src={badge(make.slug, "md")} alt={`${make.name} badge`} width={48} height={48} /> <div> <strong>{make.name}</strong> <span>{model}</span> </div> </div> ); } - 03
Use PNG in generated documents
PDF renderers and many email clients do not decode WebP. Request
format=pngfor anything that leaves the browser. Same slug, same size scale, different container.A fixed
widthandheightkeeps the document layout stable while the image loads.templates/quote.html <!-- rendered to PDF and attached to the offer email --> <img src="https://motomarks.io/img/{{ make_slug }}?type=badge&size=sm&format=png&token=pk_YOUR_PUBLISHABLE_KEY" alt="{{ make_name }}" width="32" height="32" /> - 04
Keep the two keys apart
Publishable
pk_keys are designed for client-side image requests. Secretsk_keys authenticate the JSON API and never leave the server.On Pro, restrict the publishable key to your portal hostnames so a key lifted from a quote PDF cannot be reused elsewhere.
.env # server only: JSON API (brand list, metadata, colours) MOTOMARKS_SECRET_KEY=sk_live_... # browser, PDFs, emails: image CDN NEXT_PUBLIC_MOTOMARKS_KEY=pk_live_...
Questions before you integrate
Can we place manufacturer logos in PDF quotes and customer emails?
Yes. Request format=png for PDF renderers and email clients that do not decode WebP. The logos remain the property of their manufacturers and use is subject to their trademark policies, so present the badge as vehicle identification rather than as an endorsement of your finance product.
Is a publishable key safe inside a customer-facing portal?
Yes. Publishable pk_ keys exist for browsers and mobile apps and only serve images. Keep the secret sk_ key on the server for JSON API calls. Pro and Enterprise accounts can restrict a publishable key to specific hostnames.
What happens if a customer's vehicle make is not published?
Keep the make name in the markup and let the badge fall back to text or an initial. Check the browse index for current coverage and request missing brands from the submit page.
How do we keep the make list current as brands launch?
Fetch the brand list from the JSON API with a daily revalidation. New brands, logo updates, aliases, and metadata changes appear in the public changelog, and the URL structure does not change when the library grows.
Which plan fits a finance product?
Free covers 1,000 requests a day with an attribution link on your public site. Startup ($19/month, 10,000 requests a day) and Pro ($49/month, 100,000 requests a day) remove attribution; Pro adds per-key domain restrictions and self-hosting permission.
How do we justify the plan cost internally?
Startup is $228 a year billed monthly. At a loaded engineering cost of $85 an hour that is under three hours of work. Applying one manufacturer rebrand by hand across an application, a customer portal, and a document template set usually takes longer than that on its own. Leaselab described maintaining more than 100 brands across multiple platforms as an extensive operational cost before moving to Motomarks; the cost model on this page uses your own numbers.
Put the badge
on the application.
Create a free key, load the make list from the JSON API, and the badge follows the vehicle from application to signed quote. The next rebrand costs your team nothing.
Free includes 1,000 requests per day with an attribution link. Startup and Pro remove attribution.
More ways teams use Motomarks
Dealership website platforms
Teams building multi-rooftop dealer websites and inventory tools
Vehicle make selector
Developers adding a make picker to search, onboarding, or quoting flows
Brand assets across multiple sites
Engineering leads running several automotive products or codebases