Skip to main content
A comparison puts parts side by side on the specifications that matter for that kind of part, with the values read from each part’s datasheet. One part is the reference. Every other part gets one verdict per specification against it, a count of the specifications that are the same or covered, and what distributors hold now. Use it to check a substitute before you qualify it, or to choose between parts you already have in mind. To find candidates first, use Find alternate parts or Search for parts.

Start a comparison

Send your own list in parts: 2 to 6 parts, compared as given. The first is the reference the others are compared with.
Or send one part in mpn to compare it with its alternates, the list GET /v1/alternates returns:
Send mpn or parts, not both. manufacturer is only needed when several companies make a part with that number: beside mpn in the first shape, inside each part in the second ({"mpn": "NE555N", "manufacturer": "STMicroelectronics"}). The answer is 202 with the comparison’s id, a Location header pointing at it, and Retry-After: 10. Idempotency-Key is optional: send a new value for each comparison, and the same value only when retrying that same comparison after a timeout. The retry returns the comparison the first call started.

When a comparison is refused

Every part you send is checked before anything starts. A refusal names the part in its summary, and nothing is started:
  • 400 invalid_request: neither or both of mpn and parts, parts with fewer than 2 or more than 6 parts, or a manufacturer beside parts instead of inside each part.
  • 404 part_not_found: no distributor lists a part number you sent exactly, usually a typo or a partial number. did_you_mean carries listed part numbers that begin with what you sent, when there are any.
  • 422 not_a_specific_part: a part you sent is a question, a category or a generic specification, not one part. When it described a class of parts, did_you_mean carries real part numbers to retry with.
  • 503 verification_unavailable: we could not confirm a part number is real right now. Retry shortly.
Every code is on the Errors page.

Get the result

Read GET /v1/compare/{id} after the 10 seconds in Retry-After. While status is still processing, the answer’s summary and Retry-After give the wait before the next read, 9 seconds:
status ends as complete, with the parts, or failed, when the comparison could not be completed: submit it again. Every poll counts toward your rate limit. To be told instead of polling, register a webhook: compare.completed names the comparison when it ends.

What comes back

  • summary is one sentence you can relay as it is. When no part to compare with was found, it says so and parts holds the reference alone.
  • columns are the specifications chosen for this kind of part. Every part’s specs has one entry per column: the value its datasheet states, or null when it states none. datasheet_url is the datasheet the values were read from.
  • parts lists the reference first (reference: true, comparison: null), then each part compared with it. For an alternate of the part you sent in mpn, match is the parts catalogue’s classification, as on alternates; it is null for the reference and for your own list.
  • supply is what distributors hold now, in the same shape as alternates.
  • comparison holds one verdict per column, stated (the specifications both datasheets state), same_or_covers (how many of those are same or covers) and a one-sentence summary.

What each verdict means

A verdict compares what the datasheets state; it is not a qualification. Confirm fit against the datasheets before you buy or substitute.

List and delete

GET /v1/compare lists your comparisons, newest first, one page at a time, the same way as BOMs. DELETE /v1/compare/{id} removes a comparison and its results. With a key you created for one of your customers (Serving your own customers), a customer sees only its own comparisons.