API Reference
Complete technical reference for the Wizerr Xref API.
Base URL
https://api.wizerr.ai
All endpoints are relative to this base URL.
Authentication
Every request must include your API key and secret as headers.
| Header | Value |
|---|---|
x-api-key | Your server API key |
x-api-secret | Your server API secret |
Generate your credentials in Settings → API Access in the Wizerr app. The secret is shown only once - copy it immediately or download the .txt file.
Never expose the API secret in client-side code, public repos, or mobile apps.
Endpoints
Cross-reference search
Search for cross-reference alternatives to a part number. Returns drop-in replacements and functional alternates from your preferred suppliers. Each call uses 1 credit.
Request headers
| Header | Required | Description |
|---|---|---|
Content-Type | Yes | application/json |
x-api-key | Yes | Your server API key |
x-api-secret | Yes | Your server API secret |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
part_number | string | Yes | The part number to search for |
Response body
| Field | Type | Description |
|---|---|---|
input_part_details | object | The part you searched for |
part_number | string | Input part number |
manufacturer | string | Manufacturer of the input part |
variant_part_number | string | null | When your exact part number is not in our database, we use a closely related variant to produce the results. This field contains that variant's part number. When null, results are for your exact input. |
results | array | List of cross-reference matches |
part_number | string | Matched part number |
manufacturer | string | Manufacturer name |
description | string | Part description |
match_type | string | "DROP-IN" or "ALTERNATE" |
match_score | number | Compatibility score (present on deep-search results) |
preferred_supplier | boolean | true if the manufacturer is on your preferred list |
type | string | "wizerr-deep-search" or "wizerr-expanded-search" |
Result types:
wizerr-deep-search results are high-confidence drop-in replacements with a compatibility score.
wizerr-expanded-search results are additional functional alternates from a broader search.
Example request
cURL
Node.js
Python
curl -X POST "https://api.wizerr.ai/v1/xref" \
-H "Content-Type: application/json" \
-H "x-api-key: $WIZERR_API_KEY" \
-H "x-api-secret: $WIZERR_API_SECRET" \
-d '{ "part_number": "LM358" }'
const res = await fetch('https://api.wizerr.ai/v1/xref', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.WIZERR_API_KEY,
'x-api-secret': process.env.WIZERR_API_SECRET,
},
body: JSON.stringify({ part_number: 'LM358' }),
});
const data = await res.json();
console.log(data.results);
import requests
resp = requests.post(
"https://api.wizerr.ai/v1/xref",
headers={
"x-api-key": WIZERR_API_KEY,
"x-api-secret": WIZERR_API_SECRET,
},
json={ "part_number": "LM358" },
)
data = resp.json()
print(data["results"])
Example response
{
"input_part_details": {
"part_number": "TPS24701DGK",
"manufacturer": "Texas Instruments",
"variant_part_number": null
},
"results": [
{
"part_number": "IS31BL3212-DLS2-TR",
"manufacturer": "Lumissil Microsystems",
"description": "IC LED DRIVER LINEAR 23MA 8DFN",
"match_type": "DROP-IN",
"match_score": 0.96,
"preferred_supplier": true,
"type": "wizerr-deep-search"
},
{
"part_number": "LTC4211CMS8#PBF",
"manufacturer": "Analog Devices Inc.",
"description": "IC HOT SWAP CTRLR GP 8MSOP",
"match_type": "ALTERNATE",
"preferred_supplier": true,
"type": "wizerr-expanded-search"
}
]
}
Errors
Errors return JSON with an error code and message.
{
"error": "invalid_input",
"message": "part_number is required"
}
| Status | Error code | Meaning |
|---|---|---|
| 400 | invalid_input | Missing or invalid part_number |
| 401 | missing_api_key | No x-api-key header |
| 401 | invalid_api_key | Key not recognized |
| 401 | missing_api_secret | No x-api-secret header |
| 401 | invalid_api_secret | Wrong secret |
| 402 | insufficient_credits | No credits remaining |
| 429 | rate_limit_exceeded | Too many requests - see Rate limits |
| 504 | request_timeout | Search exceeded timeout |
Rate limits
Limits are applied per API key.
| Limit | Value |
|---|---|
| Requests per second | 3 |
| Requests per minute | 60 |
The API includes these headers in every response:
| Header | Description |
|---|---|
X-RateLimit-Limit-Second | Max requests per second (3) |
X-RateLimit-Limit-Minute | Max requests per minute (60) |
X-RateLimit-Remaining | Requests remaining in current window |
Retry-After | Seconds to wait before retrying (included on 429 responses) |
When you receive a 429 status, wait for the number of seconds in the Retry-After header before retrying.