Part Catalog search
Parametric catalog search
Search the catalog by a free-text query and/or parametric filters. Results are
PartSummary records — the overview data (MPN, manufacturer,
description, image, status), ranked best-first. Search is free; fetch the full record (specs,
pricing, availability) with GET /v1/parts/{manufacturer}/{mpn}
when you need it — see Usage billing.
parts:read
Search
https://api.zenode.ai/v1/parts/searchFreeRequest
1{2 "query": "low-noise jfet op-amp",3 "filters": {4 "status": [5 "active"6 ],7 "price": {8 "max": 1,9 "currency": "USD",10 "in_stock": true11 },12 "specs": {13 "Current - Input Bias": {14 "gte": 1e-12,15 "lle": 4e-8,16 "unit": "A"17 }18 }19 },20 "sort": {21 "by": "price",22 "order": "asc"23 },24 "limit": 1025}| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Optional | Free-text / keyword search. Omit to browse by filters alone |
filters | PartFilters | Optional | All filter dimensions — see PartFilters reference |
sort | object | Optional | { by: relevance | price | <spec>, order: asc | desc }; default relevance |
limit | int | Optional | Max results, default 10, max 25 |
high_quality | bool | Optional | Set true to apply a deeper ranking pass that can surface better-matching parts — trading potentially enhanced results for longer execution time. Off by default (faster) |
Response
1{2 "results": [ /* PartSummary, … */ ],3 "request_id": "req_9c12..."4}| Parameter | Type | Required | Description |
|---|---|---|---|
results | PartSummary[] | Required | Ranked best-first (by relevance, or by sort/filter order). Summary data only — fetch the full record per part |
request_id | string | Required | For support / tracing |
Search is ranked, not paginated — there's no cursor. Ask for a larger limit (up to 25) if you
need more candidates.
Result quality vs. speed. By default search returns fast BM25-ranked results. Set
high_quality: true to apply a deeper ranking pass that re-scores the top candidates to surface
better-matching parts — it improves relevance on natural-language queries in exchange for longer
response times. Reach for it when ranking quality matters more than latency.
Query & filter handling
- Send at least one input.
queryandfiltersare each optional on their own, but a request with neither is a 400Bad Requestinvalid_request— there is no "return the whole catalog" mode. - Filter-only search. Omit
queryto browse byfiltersalone; results are ordered bysort(defaultrelevance, which with no query falls back to a stable catalog order). Parametric filters (specs,price) work with or without acategoriesfilter — a category just narrows the set and sharpens spec facets. - No matches returns
results: [](not an error). A broad query simply returns the top-ranked, bounded set — tighten withfiltersto focus it.
Search is free — results are PartSummary overview records,
not the billed full record. To get specs, pricing, and availability for a result, fetch it with
GET /v1/parts/{manufacturer}/{mpn} (1 part-record unit). See
Usage billing.
Try it
Fill in a query and filters — search for categories and manufacturers to add them by slug — and the request JSON is built for you below (copy it, or send it live).
Search defaults to active when none are selected.
Keyed by spec display name (read live from the facets endpoint). Give values for an enum match, or a min/max for a numeric range.
Off by default for faster results. Turn on a deeper ranking pass that can surface better-matching parts on natural-language queries, in exchange for longer response times.
1{2 "query": "low-noise jfet op-amp",3 "limit": 104}curl -X POST "https://api.zenode.ai/v1/parts/search" \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "query": "low-noise jfet op-amp", "limit": 10}'Facets
Aggregate the matching set into available filter values and counts — for building checkbox counts, range sliders, and histograms. Free — returns filter metadata, not part records.
https://api.zenode.ai/v1/parts/search/facetsFreeSend the same query and filters as a search (no sort / limit):
1{2 "query": "op-amp",3 "filters": {4 "categories": [5 "amplifiers/operational-amplifiers"6 ]7 }8}Response
1{2 "total": 1284,3 "manufacturers": [4 {5 "slug": "texas-instruments-inc",6 "name": "Texas Instruments",7 "count": 3128 }9 ],10 "categories": [11 {12 "slug": "amplifiers/operational-amplifiers",13 "name": "Operational Amplifiers",14 "count": 128415 }16 ],17 "statuses": [18 {19 "status": "active",20 "count": 110021 },22 {23 "status": "nrnd",24 "count": 12025 }26 ],27 "specs": [28 {29 "name": "Supply Voltage",30 "type": "numeric",31 "unit": "V",32 "range": {33 "min": 1.8,34 "max": 36,35 "histogram": {36 "buckets": [37 1.8,38 5,39 12,40 3641 ],42 "counts": [43 420,44 510,45 35446 ],47 "labels": [48 "1.8–5 V",49 "5–12 V",50 "12–36 V"51 ]52 }53 },54 "options": null55 },56 {57 "name": "Mounting Type",58 "type": "enum",59 "unit": null,60 "range": null,61 "options": [62 {63 "value": "Surface Mount",64 "count": 98065 },66 {67 "value": "Through Hole",68 "count": 30469 }70 ]71 }72 ],73 "request_id": "req_44ab..."74}| Parameter | Type | Required | Description |
|---|---|---|---|
total | int | Required | Parts matching the query + filters |
manufacturers | {slug,name,count}[] | Required | Manufacturer facet counts |
categories | {slug,name,count}[] | Required | Category facet counts |
statuses | {status,count}[] | Required | Lifecycle-status facet counts |
specs | SpecFacet[] | Required | Per-spec facet detail |
A SpecFacet is { name, type, unit, range, options } — type is numeric or enum; numeric
specs carry a range with a histogram, enum specs carry options with per-value counts. The name
is the key to use in filters.specs.
Try it
Search defaults to active when none are selected.
Keyed by spec display name (read live from the facets endpoint). Give values for an enum match, or a min/max for a numeric range.
1{2 "query": "op-amp"3}curl -X POST "https://api.zenode.ai/v1/parts/search/facets" \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "query": "op-amp"}'Next
- PartFilters — the full filter shape
- Part detail — fetch one part by slug
- AI discovery — let the AI choose for you