REST API
The Zenode REST API is the simplest way to search for electronic parts. All endpoints return JSON and are available at:
https://api.zenode.aiAuthentication
All endpoints except /health require a Bearer token:
curl "https://api.zenode.ai/v1/parts/search?mpn=LM358" \
-H "Authorization: Bearer zn_your_api_key"Requests with a missing or invalid token return 401 Unauthorized. See the Authentication guide for how to create a key.
Errors
All error responses follow the same shape:
{ "detail": "Human-readable error message" }| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
402 | Insufficient credit balance |
422 | Validation error — check your query parameters |
500 | Server error — please retry |
MPN search
Search for parts by manufacturer part number. Supports exact, prefix, and fuzzy matching. Returns up to 10 results enriched with specs, offers, datasheets, categories, and manufacturer data.
GET /v1/parts/search| Parameter | Type | Required | Description |
|---|---|---|---|
mpn | string | yes | MPN to search. Case-insensitive. |
curl "https://api.zenode.ai/v1/parts/search?mpn=LM358" \
-H "Authorization: Bearer zn_your_api_key"Response:
{
"hits": 3,
"results": [
{
"id": "...",
"mpn": "LM358DR",
"slug": "lm358dr",
"description": "Dual General-Purpose Op-Amp",
"part_status": "active",
"manufacturer": { "id": "...", "name": "Texas Instruments", "slug": "texas-instruments" },
"categories": [...],
"specs": [...],
"offers": [...]
}
]
}Keyword search
Free-text search for parts using natural-language or keyword queries. Useful when you don't have an exact MPN. Returns the same enriched part shape as MPN search, plus available_specs — a frequency map of spec names across the result set that can be used for faceting.
GET /v1/parts/agentic-search| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
search_query | string | yes | — | Natural-language or keyword query |
limit | integer | no | 5 | Page size (1–50) |
offset | integer | no | 0 | Results to skip (for pagination) |
part_status | string | no | active | Lifecycle filter. Repeat for multiple values: active, nrnd, obsolete |
curl "https://api.zenode.ai/v1/parts/agentic-search?search_query=low+power+op-amp&limit=5" \
-H "Authorization: Bearer zn_your_api_key"Response:
{
"hits": 5,
"results": [...],
"available_specs": {
"Supply Voltage": 5,
"Package Type": 5,
"Number of Channels": 4
}
}Filtering by part status
By default, only active parts are returned. Repeat the part_status parameter to include other lifecycle states:
curl "https://api.zenode.ai/v1/parts/agentic-search?search_query=LM741&part_status=active&part_status=nrnd&part_status=obsolete" \
-H "Authorization: Bearer zn_your_api_key"| Value | Description |
|---|---|
active | In production, available from distributors |
nrnd | Not recommended for new designs |
obsolete | Discontinued |
Health check
A public endpoint — no authentication required. Useful for monitoring.
GET /health{
"status": "ok",
"version": "0.1.0",
"timestamp": "2026-04-08T12:00:00+00:00"
}REST vs GraphQL
The REST endpoints cover the most common search patterns. Consider GraphQL if you need:
- Field selection — only fetch the fields you actually use
- Aggregations — manufacturer, category, and spec value breakdowns
- BOM matching — match multiple parts in a single request with
supMultiMatch
See the GraphQL guide for details. The REST Reference has the full OpenAPI spec.