digikey.com APIdigikey.com ↗
Search DigiKey's component catalog by keyword, part number, category, or manufacturer. Get pricing, stock, and specs for electronic components via 4 endpoints.
curl -X GET 'https://api.parse.bot/scraper/cfe8081d-8583-4960-aaa7-b407547a0c0b/keyword_search?limit=5&query=resistor' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products using keywords and optional category filtering. Returns products from DigiKey's catalog with pricing, stock, and specification data. Results are paginated.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| limit | integer | Maximum number of results to return per page |
| queryrequired | string | Search keyword or term (e.g. 'resistor', 'capacitor 100nF') |
| category_id | string | Category ID to filter results within a specific category |
{
"type": "object",
"fields": {
"query": "search query string",
"products": "array of product objects with digikey_part_number, manufacturer_part_number, manufacturer, description, unit_price, stock, price_breaks, product_url, image_url, datasheet_url",
"category_id": "category ID used for filtering",
"category_name": "name of the category",
"total_results": "total number of matching products as a string"
},
"sample": {
"data": {
"query": "resistor",
"products": [
{
"stock": "0",
"image_url": "//media.digikey.com/Photos/NoPhoto/pna_en.jpg",
"unit_price": "0.07967",
"description": "METAL OXIDE RESISTORS RSS3 12K 5",
"product_url": "https://www.digikey.com/en/products/detail/te-connectivity/RSS312KJTB/29388093",
"manufacturer": "TE Connectivity AMP Connectors",
"price_breaks": [
{
"brkQty": "2,000",
"extPrice": "$159.34",
"unitPrice": "$0.07967"
}
],
"datasheet_url": "",
"digikey_part_number": "1111-RSS312KJTB-ND",
"manufacturer_part_number": "RSS312KJTB"
}
],
"category_id": "48",
"category_name": "Unclassified",
"total_results": "67"
},
"status": "success"
}
}About the digikey.com API
The DigiKey API gives access to DigiKey's electronic component catalog across 4 endpoints, returning pricing, stock levels, and specifications for millions of parts. The keyword_search endpoint accepts a search term plus an optional category_id filter and returns paginated product arrays with unit price, stock quantity, and both DigiKey and manufacturer part numbers. Lookup by specific part number, category browsing, and manufacturer listing are also supported.
Search and Product Lookup
The keyword_search endpoint accepts a required query string (e.g. 'ATmega328' or 'capacitor 100nF') and optional category_id, page, and limit parameters. Each product in the response includes digikey_part_number, manufacturer_part_number, manufacturer, description, unit_price, stock, and price_b. The total_results field indicates how many products match across all pages, allowing you to implement standard offset pagination.
The get_product_details endpoint takes a part_number string — either a DigiKey part number or a manufacturer part number (MPN) — and returns the best-match product's digikey_part_number, manufacturer_part_number, and product_url, plus a matching_products array for cases where the same MPN is stocked by multiple suppliers. This is useful for resolving ambiguous MPNs before pulling further catalog data.
Category and Manufacturer Data
The get_categories endpoint accepts an optional category_id (e.g. '3' for Capacitors) and returns a category object containing id, name, description, product_count, and sub_categories. The response also includes a breadcrumb array and related_categories, making it straightforward to traverse the category hierarchy from top level down to specific component families.
The get_manufacturers endpoint lists all manufacturers with products in a given category, returning an array of objects with id, name, and count. Combined with keyword_search's category_id filter, this enables building category-scoped supplier directories or filtering searches to a specific manufacturer's portfolio.
- Build a BOM (bill of materials) pricer that resolves each MPN via
get_product_detailsand pullsunit_priceandstockfor every line item. - Monitor stock availability for critical components by polling
keyword_searchfor specific part numbers and alerting whenstockdrops below a threshold. - Generate a category-scoped manufacturer directory using
get_manufacturerswith a targetcategory_idto list all suppliers and their part counts. - Populate a component selection tool that lets users browse the category tree via
get_categoriesand then search within a chosen category. - Cross-reference
manufacturer_part_numbervalues from datasheets against DigiKey availability to validate sourcing options. - Build pricing comparison tables by querying
keyword_searchfor a component type and surfacingunit_priceacross multiple matching products. - Audit which manufacturers supply a given component category using the
countfield returned byget_manufacturers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does DigiKey have an official developer API?+
What does `get_product_details` return when multiple suppliers carry the same MPN?+
digikey_part_number, manufacturer_part_number, and product_url, plus a matching_products array that lists each matching product separately. This handles cases where the same MPN appears under different DigiKey part numbers, such as variant packaging options.Does the API return historical pricing or price break tables beyond `unit_price`?+
keyword_search response includes unit_price and price_b per product but does not expose full quantity price-break tables (e.g. pricing at 10, 100, 1000 units). You can fork this API on Parse and revise it to add an endpoint that retrieves the complete price-break schedule from a product detail page.Is there a way to filter `keyword_search` results by manufacturer?+
keyword_search endpoint supports filtering by category_id but does not currently accept a manufacturer filter parameter directly. You can retrieve manufacturer IDs via get_manufacturers and then apply client-side filtering on the manufacturer field in the response array. Alternatively, you can fork the API on Parse and revise it to add a manufacturer filter parameter.How does pagination work in `keyword_search`?+
page and limit integer parameters. The total_results field in the response is returned as a string and reflects the full count of matching products, not just the current page. Divide total_results by your limit value to calculate the number of pages available.