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.

HeaderValue
x-api-keyYour server API key
x-api-secretYour 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

POST /v1/xref

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

HeaderRequiredDescription
Content-TypeYesapplication/json
x-api-keyYesYour server API key
x-api-secretYesYour server API secret

Request body

FieldTypeRequiredDescription
part_numberstringYesThe part number to search for

Response body

FieldTypeDescription
input_part_detailsobjectThe part you searched for
  part_numberstringInput part number
  manufacturerstringManufacturer of the input part
  variant_part_numberstring | nullWhen 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.
resultsarrayList of cross-reference matches
  part_numberstringMatched part number
  manufacturerstringManufacturer name
  descriptionstringPart description
  match_typestring"DROP-IN" or "ALTERNATE"
  match_scorenumberCompatibility score (present on deep-search results)
  preferred_supplierbooleantrue if the manufacturer is on your preferred list
  typestring"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"
}
StatusError codeMeaning
400invalid_inputMissing or invalid part_number
401missing_api_keyNo x-api-key header
401invalid_api_keyKey not recognized
401missing_api_secretNo x-api-secret header
401invalid_api_secretWrong secret
402insufficient_creditsNo credits remaining
429rate_limit_exceededToo many requests - see Rate limits
504request_timeoutSearch exceeded timeout

Rate limits

Limits are applied per API key.

LimitValue
Requests per second3
Requests per minute60

The API includes these headers in every response:

HeaderDescription
X-RateLimit-Limit-SecondMax requests per second (3)
X-RateLimit-Limit-MinuteMax requests per minute (60)
X-RateLimit-RemainingRequests remaining in current window
Retry-AfterSeconds 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.