Getting access
- Your company account is currently created by the FitmentCore administrator.
- The administrator configures access status, request quotas and your key’s IP allowance.
- You receive an API key. Save it securely: the full key is displayed only when issued.
- Make your first request from the server that will run your integration.
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_KEYUse 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
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.
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.
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.
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.
| Parameter | Usage |
|---|---|
brand, model | Required together when using catalog names. Names must match the catalog. |
bslug, mslug | Alternative required pair: vehicle URL slugs. |
variant | Optional configured variant slug. Unknown variants return 404. |
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.
Find vehicles by wheel parameters
Start with a bolt pattern and diameter, then narrow the result with wheel width, offset and center bore.
| Parameter | Usage |
|---|---|
pcd | Required bolt pattern, for example 5x112. |
diameter | Required rim diameter in inches; size is an alias. |
width, et | Optional width in inches and offset in millimeters. |
cb | Optional wheel center bore (DIA) in millimeters. |
mode | one for same-width wheels (default); stag for staggered pairs. |
wf, ef, wr, er | Optional front width / ET and rear width / ET for mode=stag. |
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'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 field | Meaning |
|---|---|
car | Resolved make, model, slugs and requested variant. |
native_pcds, native_cb | Vehicle bolt patterns and center bore. |
grouped | Same-width configurations by diameter and PCD. Use wdetail for the effective ET range at each width. |
staggered | Compatible front/rear pairs, grouped by diameter and PCD. |
effective_configs | Included 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.
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 header | Meaning |
|---|---|
X-RateLimit-Limit | Limit for the reported quota window; normally the minute window. |
X-RateLimit-Remaining | Remaining requests for that window. |
Retry-After | Seconds 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}| HTTP | Meaning / action |
|---|---|
| 400 | Missing or invalid lookup parameters, including vehicle slugs that cannot be resolved. Correct the input before retrying. |
| 401 | Missing, invalid, revoked or deleted API key. Check the header and issued key. |
| 403 | Disabled access, unpaid/suspended account, expired subscription or IP limit. Read the JSON error and contact the administrator. |
| 404 | Unknown brand, vehicle catalog name or configured variant. Check the brand selector, exact brand/model names or variant slug. |
| 429 | Quota exceeded. Wait for Retry-After seconds; avoid immediate repeated retries. |
| 5xx | Server 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.
Self-service client workspace
- Register your company and sign in to its account.
- Choose a subscription and pay online.
- Manage integration keys and view your own usage.
- 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.