Developer guide · API v1

Wheel fitment data.
Built into your product.

Find compatible wheel specifications for a vehicle, or find vehicles that match a set of wheel parameters. Both directions use the same catalog and admin-verified corrections.

Getting access

  1. Your company account is currently created by the FitmentCore administrator.
  2. The administrator configures access status, request quotas and your key’s IP allowance.
  3. You receive an API key. Save it securely: the full key is displayed only when issued.
  4. Make your first request from the server that will run your integration.
Available today

Company-managed API keys, a vehicle picker catalog, two lookup directions, request quotas and IP restrictions. Self-service registration and online subscription payments are planned.

Authentication

Use HTTPS and send the key in a request header. Both header formats are supported:

X-API-Key: YOUR_API_KEY

Authorization: Bearer YOUR_API_KEY

Use one format per request. Keep keys on your backend; do not embed them in a public browser app, mobile bundle or repository.

Base URL https://fitmentcore.com · Responses application/json

GET /api/v1/cars

Build a vehicle picker

Get all catalog brands, then load all models for the selected brand. Both lists are alphabetically sorted and complete, without pagination. Each generation and year range is a separate model; multiple wheel fitments do not create duplicate model entries.

List brands
curl --get 'https://fitmentcore.com/api/v1/cars' \
  -H 'X-API-Key: YOUR_API_KEY'
{"brands":[{"brand":"BMW","bslug":"bmw","models_count":167}]}

Response excerpts show one brand or model; counts reflect the current catalog and may change.

List models for a brand
curl --get 'https://fitmentcore.com/api/v1/cars' \
  -H 'X-API-Key: YOUR_API_KEY' \
  --data-urlencode 'brand=bmw'
{"brand":"BMW","bslug":"bmw","models":[{"model":"3 VII LCI (G20/G21/G28) [2022-2024]","mslug":"3-vii-lci-g20-g21-g28-2022-2024"}]}

brand accepts a brand slug or catalog name, case-insensitively, such as bmw or BMW. An empty value returns 400 invalid_brand; an unknown brand returns 404 brand_not_found.

Display the names in your brand/model dropdowns and pass the selected bslug and mslug to /api/v1/fitments/by-car. Fetch the catalog through your backend and cache the lists there to reduce requests. Catalog requests use the same API key, company quotas and IP allowance as fitment lookups and appear in usage analytics.

GET /api/v1/fitments/by-car

Find wheel specifications by vehicle

Identify the exact make and model, including its generation and year range. Alternatively, use the two slugs from the vehicle’s page URL.

ParameterUsage
brand, modelRequired together when using catalog names. Names must match the catalog.
bslug, mslugAlternative required pair: vehicle URL slugs.
variantOptional configured variant slug. Unknown variants return 404.
Example using URL slugs
curl --get 'https://fitmentcore.com/api/v1/fitments/by-car' \
  -H 'X-API-Key: YOUR_API_KEY' \
  --data-urlencode 'bslug=bmw' \
  --data-urlencode 'mslug=3-vii-lci-g20-g21-g28-2022-2024'

Replace YOUR_API_KEY with your issued key. --data-urlencode handles spaces, brackets and other characters in catalog names safely.

GET /api/v1/fitments/by-wheel

Find vehicles by wheel parameters

Start with a bolt pattern and diameter, then narrow the result with wheel width, offset and center bore.

ParameterUsage
pcdRequired bolt pattern, for example 5x112.
diameterRequired rim diameter in inches; size is an alias.
width, etOptional width in inches and offset in millimeters.
cbOptional wheel center bore (DIA) in millimeters.
modeone for same-width wheels (default); stag for staggered pairs.
wf, ef, wr, erOptional front width / ET and rear width / ET for mode=stag.
Same-width example
curl --get 'https://fitmentcore.com/api/v1/fitments/by-wheel' \
  -H 'X-API-Key: YOUR_API_KEY' \
  --data-urlencode 'pcd=5x112' \
  --data-urlencode 'diameter=18' \
  --data-urlencode 'width=8.5' \
  --data-urlencode 'et=35' \
  --data-urlencode 'cb=66.6'
Staggered example
curl --get 'https://fitmentcore.com/api/v1/fitments/by-wheel' \
  -H 'X-API-Key: YOUR_API_KEY' \
  --data-urlencode 'mode=stag' \
  --data-urlencode 'pcd=5x112' \
  --data-urlencode 'diameter=20' \
  --data-urlencode 'wf=8' --data-urlencode 'ef=30' \
  --data-urlencode 'wr=9' --data-urlencode 'er=44' \
  --data-urlencode 'cb=66.6'

Matching allows ±0.5 inches for width and ±2 mm for ET. Bore comparison uses a 0.25 mm tolerance for catalog precision: a wheel bore more than 0.25 mm smaller than the vehicle hub is excluded. A larger bore may require a centering ring. Staggered matching checks the front and rear as one complete setup.

Reading the response

Vehicle lookup fieldMeaning
carResolved make, model, slugs and requested variant.
native_pcds, native_cbVehicle bolt patterns and center bore.
groupedSame-width configurations by diameter and PCD. Use wdetail for the effective ET range at each width.
staggeredCompatible front/rear pairs, grouped by diameter and PCD.
effective_configsIncluded catalog and manual configurations. Square-wheel ET display corrections are represented in grouped, while source ET values remain in raw configurations.

Wheel lookup returns results grouped by vehicle brand; each brand contains cars with model names and page slugs. An empty result list is a successful lookup with no compatible vehicles.

Wheel specifications such as diameter, width and DIA may be JSON strings. ET ranges are formatted text, such as 20–35 or ≤35, rather than a single numeric offset.

One source of fitment rules

Hidden configurations, manual additions, corrected DIA and ET rules affect both the public finder and the API. An ET rule can exclude every staggered pair for a diameter.

Request quotas & IP restrictions

Your company has per-minute and per-UTC-day quotas shared across all its API keys. Each key separately allows between 1 and 5 IP addresses, as configured by the administrator.

The first server IPs to use a key are registered automatically. A new IP over the allowance receives 403 ip_limit_exceeded. Ask the administrator to remove an old registration when moving servers. Treat each new server’s first request as an IP registration.

Response headerMeaning
X-RateLimit-LimitLimit for the reported quota window; normally the minute window.
X-RateLimit-RemainingRemaining requests for that window.
Retry-AfterSeconds to wait after a 429 response.

Quota windows reset at UTC minute and day boundaries. Requests that pass key, account and IP validation consume quota, including invalid lookup input and requests that exceed the quota. Requests denied by those earlier checks are logged without consuming request quota.

Errors & retries

{"error": "ip_limit_exceeded", "max_ips": 3}
HTTPMeaning / action
400Missing or invalid lookup parameters, including vehicle slugs that cannot be resolved. Correct the input before retrying.
401Missing, invalid, revoked or deleted API key. Check the header and issued key.
403Disabled access, unpaid/suspended account, expired subscription or IP limit. Read the JSON error and contact the administrator.
404Unknown brand, vehicle catalog name or configured variant. Check the brand selector, exact brand/model names or variant slug.
429Quota exceeded. Wait for Retry-After seconds; avoid immediate repeated retries.
5xxServer error. Retry with a short delay that increases after repeated failures.

Company accounts & subscriptions

Today, the administrator creates your company account, issues keys and manages billing status manually. Trial and active companies can use the API; unpaid or suspended companies cannot. Active accounts with a paid-until date expire after that UTC date.

Planned · not available yet

Self-service client workspace

  1. Register your company and sign in to its account.
  2. Choose a subscription and pay online.
  3. Manage integration keys and view your own usage.
  4. Renew the subscription to keep API access active.

Plans, prices, checkout and self-registration will be announced when available. This page does not accept payments or create client accounts yet.