Start a search
query is a part number (TPS54331DR) or a description (3A buck converter 28V, 6205 bearing).
The answer is 202 with the search’s id, a Location header pointing at it, and Retry-After: 35.
A query that is not about a part is refused with 422 not_a_parts_query, and nothing is started.
Idempotency-Key is optional: send a new value for each search, and the same value only when retrying
that same search after a timeout. The retry returns the search the first call started.
Get the result
ReadGET /v1/search/{id} after the 35 seconds in Retry-After. While status is still processing, the answer’s
summary and Retry-After give the wait before the next read, 15 seconds:
status ends as complete, with the rows, or failed, when the search could not be completed: submit
it again. Every poll counts toward your rate limit. To be told instead of
polling, register a webhook: search.completed names the search when it ends.
What comes back
summaryis one sentence you can relay as it is.columnsare the specifications chosen for what you searched. Every row’sspecshas one entry per column: the value the datasheet states, ornullwhen it states none.rowsare the parts found. For a part-number search the part you named comes first. An empty list means nothing matched; that is an answer, not an error.supplyis what distributors hold now, in the same shape as alternates;distributor_countcounts distributors holding stock. A figure we could not read isnullwith areason, never a zero.insightslists the specifications to compare across the parts and where parts like these are used.
List and delete
GET /v1/search lists your searches, newest first, one page
at a time, the same way as BOMs. DELETE /v1/search/{id}
removes a search and its results. With a key you created for one of your customers
(Serving your own customers), a customer sees only its own
searches.