Documentation

Get started with PartWiz

The PartWiz API turns any spare part number into a complete, structured product record. Here's everything you need to integrate in under 10 minutes.

AuthenticationYour first requestResponse structureError handlingRate limitsSDKs & examples

Authentication

All API requests are authenticated with a Bearer token passed in the Authorization header. You'll receive your API key when you start your plan.

# All requests use this header Authorization: Bearer YOUR_API_KEY

Keep your key secret. Never expose it in frontend code or public repositories. Rotate it immediately from your dashboard if it's ever compromised.

Your first request

Send a POST request to /v1/enrich with the part number you want to enrich.

curl -X POST https://api.partwiz.app/v1/enrich \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"part_number": "402061KA3B"}'

You can also pass an optional brand to help resolve ambiguous part numbers faster:

{ "part_number": "402061KA3B", "brand": "Nissan", "language": "en" }

Response structure

A successful response returns a Product object with all enriched fields.

{ "part_number": "402061KA3B", "name": "Front Brake Disc", "category": "Brakes", "brand": "Nissan", "cross_references": [ { "brand": "Brembo", "part_number": "09.C294.11" }, { "brand": "Bosch", "part_number": "0986479A28" } ], "fitment": [ { "make": "Nissan", "model": "Juke", "years": [2010, 2019] } ], "specs": { "diameter_mm": 280, "thickness_mm": 22, "construction": "Solid" }, "seo": { "title": "Front Brake Disc — Nissan Juke 2014–2019 | OEM 402061KA3B", "description": "OEM-equivalent front brake disc replacing Nissan 402061KA3B...", "keywords": ["brake disc Nissan Juke 2016", ...] }, "faq": [ { "q": "Will this fit a 2016 Nissan Juke?", "a": "Yes. Compatible with..." } ] }

Error handling

PartWiz uses standard HTTP status codes. All error responses include a code and a human-readable message.

200OKRequest succeeded. Part data returned.
400Bad RequestMissing or invalid part_number field.
401UnauthorizedMissing or invalid API key.
404Not FoundPart number not found in our database.
429Too Many RequestsRate limit exceeded. See plan limits.
500Server ErrorUnexpected error. Retry with exponential backoff.

Rate limits

Rate limits are applied per API key. The current limits per plan:

Free10 req / min25 parts total
Starter60 req / min2,500 parts / mo
Growth200 req / min25,000 parts / mo
Scale500 req / min75,000 parts / mo

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

SDKs & examples

PartWiz works with any HTTP client. Native SDKs are coming soon. For now, here are copy-paste examples in the most common languages.

Node.js
const res = await fetch('https://api.partwiz.app/v1/enrich', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ part_number: '402061KA3B' }),
});
const data = await res.json();
Python
import requests

res = requests.post(
  'https://api.partwiz.app/v1/enrich',
  headers={'Authorization': 'Bearer YOUR_KEY'},
  json={'part_number': '402061KA3B'},
)
data = res.json()

Need something not covered here?

Reach out and we'll help you integrate.

Full API reference →