ZenodeZenode
Endpoints

Part Catalog search

Parametric catalog search

Search the catalog by a free-text query and/or parametric filters. Results are full PartDetail records, ranked best-first.

parts:read
POSThttps://api.zenode.ai/v1/parts/search

Request

JSON
1{
2 "query": "low-noise jfet op-amp",
3 "filters": {
4 "categories": [
5 "amplifiers/operational-amplifiers"
6 ],
7 "status": [
8 "active"
9 ],
10 "price": {
11 "max": 1,
12 "currency": "USD",
13 "in_stock": true
14 },
15 "specs": {
16 "Supply Voltage": {
17 "gte": 3,
18 "lte": 5,
19 "unit": "V"
20 },
21 "Channels": [
22 "2"
23 ]
24 }
25 },
26 "sort": {
27 "by": "price",
28 "order": "asc"
29 },
30 "limit": 10
31}
ParameterTypeRequiredDescription
query
stringOptionalFree-text / keyword search. Omit to browse by filters alone
filters
PartFiltersOptionalAll filter dimensions — see PartFilters reference
sort
objectOptional{ by: relevance | price | <spec>, order: asc | desc }; default relevance
limit
intOptionalMax results, default 10, max 50

Response

JSON
1{
2"results": [ /* PartDetail, */ ],
3"request_id": "req_9c12..."
4}
ParameterTypeRequiredDescription
results
PartDetail[]RequiredRanked best-first (by relevance, or by sort/filter order)
request_id
stringRequiredFor support / tracing

Search is ranked, not paginated — there's no cursor. Ask for a larger limit (up to 50) if you need more candidates.

Query & filter handling

  • Send at least one input. query and filters are each optional on their own, but a request with neither is a 400Bad Request invalid_request — there is no "return the whole catalog" mode.
  • Filter-only search. Omit query to browse by filters alone; results are ordered by sort (default relevance, which with no query falls back to a stable catalog order). Parametric filters (specs, price) work with or without a categories filter — 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 with filters to focus it.

Each returned part record counts as one part-data unit against your usage. See Rate limits & usage.

Facets

Aggregate the matching set into available filter values and counts — for building checkbox counts, range sliders, and histograms.

POSThttps://api.zenode.ai/v1/parts/search/facets

Send the same query and filters as a search (no sort / limit):

JSON
1{
2 "query": "op-amp",
3 "filters": {
4 "categories": [
5 "amplifiers/operational-amplifiers"
6 ]
7 }
8}

Response

JSON
1{
2 "total": 1284,
3 "manufacturers": [
4 {
5 "slug": "texas-instruments-inc",
6 "name": "Texas Instruments",
7 "count": 312
8 }
9 ],
10 "categories": [
11 {
12 "slug": "amplifiers/operational-amplifiers",
13 "name": "Operational Amplifiers",
14 "count": 1284
15 }
16 ],
17 "statuses": [
18 {
19 "status": "active",
20 "count": 1100
21 },
22 {
23 "status": "nrnd",
24 "count": 120
25 }
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 36
41 ],
42 "counts": [
43 420,
44 510,
45 354
46 ],
47 "labels": [
48 "1.8–5 V",
49 "5–12 V",
50 "12–36 V"
51 ]
52 }
53 },
54 "options": null
55 },
56 {
57 "name": "Mounting Type",
58 "type": "enum",
59 "unit": null,
60 "range": null,
61 "options": [
62 {
63 "value": "Surface Mount",
64 "count": 980
65 },
66 {
67 "value": "Through Hole",
68 "count": 304
69 }
70 ]
71 }
72 ],
73 "request_id": "req_44ab..."
74}
ParameterTypeRequiredDescription
total
intRequiredParts matching the query + filters
manufacturers
{slug,name,count}[]RequiredManufacturer facet counts
categories
{slug,name,count}[]RequiredCategory facet counts
statuses
{status,count}[]RequiredLifecycle-status facet counts
specs
SpecFacet[]RequiredPer-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.

Next