Product Information v4
Search 16M+ components by keyword, part number, or parametric filters. Retrieve product details, pricing tiers, media, and related items.
https://api.digikey.com/products/v4
OpenAPI spec →
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /search/keyword |
Search products by keyword or part number with optional filters |
| GET | /search/{productNumber}/productdetails |
Full product detail for a specific DigiKey part number |
| GET | /search/{productNumber}/pricing |
Pricing and quantity breaks |
| GET | /search/{productNumber}/pricingbyquantity/{qty} |
Price at a specific quantity |
| GET | /search/packagetypebyquantity/{productNumber} |
Available package types with quantities |
| GET | /search/manufacturers |
List all manufacturers |
| GET | /search/{productNumber}/media |
Product images and datasheet URLs |
| GET | /search/categories |
Full category tree |
| GET | /search/categories/{categoryId} |
Single category detail |
| GET | /search/{productNumber}/alternatepackaging |
Alternate packaging options |
| GET | /search/{productNumber}/digireelpricing |
DigiReel pricing |
| GET | /search/{productNumber}/recommendedproducts |
Similar or complementary products |
| GET | /search/{productNumber}/substitutions |
Recommended substitutes |
| GET | /search/{productNumber}/associations |
Products often purchased together |
POST /search/keyword
Search products using free-text keywords, part numbers, and optional filter objects.
Minimal request
{
"Keywords": "STM32F103C8T6",
"Limit": 10
}
Full request (all filter fields)
{
"Keywords": "resistor",
"Limit": 50,
"Offset": 0,
"FilterOptionsRequest": {
"ManufacturerFilter": [{ "Id": "13" }],
"CategoryFilter": [{ "Id": "52" }],
"StatusFilter": [{ "Id": "0" }],
"PackagingFilter": [{ "Id": "2" }],
"MarketPlaceFilter": "ExcludeMarketPlace",
"TariffFilter": "ExcludeTariff",
"SeriesFilter": [{ "Id": "81248" }],
"MinimumQuantityAvailable": 1000,
"SearchOptions": ["InStock", "RohsCompliant"],
"ParameterFilterRequest": {
"CategoryFilter": { "Id": "52" },
"ParameterFilters": [
{
"ParameterId": 2085,
"FilterValues": [{ "Id": "10 kOhms" }]
}
]
}
}
}
Filter field reference
| Field | Type | Description |
|---|---|---|
ManufacturerFilter |
array of {Id} |
Restrict to specific manufacturers |
CategoryFilter |
array of {Id} |
Restrict to specific categories |
StatusFilter |
array of {Id} |
Lifecycle status (0 = Active) |
PackagingFilter |
array of {Id} |
Packaging type (1 = TR, 2 = CT, 6 = DigiReel) |
MarketPlaceFilter |
string enum | NoFilter, ExcludeMarketPlace, MarketPlaceOnly |
TariffFilter |
string enum | None, ExcludeTariff, TariffOnly |
SeriesFilter |
array of {Id} |
Restrict to specific product series |
MinimumQuantityAvailable |
integer | Exclude parts with fewer units in stock |
SearchOptions |
array of string | Boolean filter flags (see below) |
ParameterFilterRequest |
object | Parametric (spec-based) filters |
SearchOptions values
ChipOutpost, Has3DModel, HasCadModel, HasDatasheet, HasProductPhoto, InStock, NewProduct, NonRohsCompliant, NormallyStocking, RohsCompliant
Response (truncated)
From a live captured response for a 10k resistor search:
{
"ProductsCount": 433,
"Products": [
{
"DigiKeyPartNumber": "311-10.0KHRCT-ND",
"ManufacturerProductNumber": "RC0603FR-0710KL",
"Manufacturer": { "Id": 13, "Name": "YAGEO" },
"Description": {
"ProductDescription": "RES 10K OHM 1% 1/10W 0603",
"DetailedDescription": "10 kOhms ±1% 0.1W, 1/10W Chip Resistor 0603"
},
"UnitPrice": 0.1,
"QuantityAvailable": 7557063,
"ProductUrl": "https://www.digikey.com/en/products/detail/yageo/RC0603FR-0710KL/726880",
"ProductStatus": { "Id": 0, "Status": "Active" }
}
]
}
ID discovery workflow
Filter IDs are catalog-driven. The recommended approach:
- Call keyword search with only
Keywords. - Read
FilterOptionsin the response (Manufacturers,TopCategories,ParametricFilters). - Build
FilterOptionsRequestusing the returned IDs. - Re-run with filters applied.
Do not hardcode manufacturer or category IDs. They can change when the catalog is updated.
GET /search/{productNumber}/productdetails
Returns the full data record for a single DigiKey part number.
Path parameter: productNumber — the DigiKey part number (e.g. 497-6063-ND)
Response (truncated)
{
"Product": {
"DigiKeyPartNumber": "497-6063-ND",
"ManufacturerProductNumber": "STM32F103C8T6",
"Manufacturer": { "Id": 497, "Name": "STMicroelectronics" },
"Description": {
"ProductDescription": "IC MCU 32BIT 64KB FLASH 48LQFP",
"DetailedDescription": "ARM Cortex-M3 STM32F1 Microcontroller IC 32-Bit 72MHz 64KB FLASH"
},
"UnitPrice": 5.91,
"ProductUrl": "https://www.digikey.com/en/products/detail/stmicroelectronics/STM32F103C8T6/1646338",
"DatasheetUrl": "https://www.st.com/resource/en/datasheet/stm32f103cb.pdf",
"PhotoUrl": "https://mm.digikey.com/Volume0/opasdata/d220001/medias/images/389/48-LQFP.jpg",
"ProductVariations": [
{
"DigiKeyProductNumber": "497-6063-ND",
"PackageType": { "Id": 17, "Name": "Tray" },
"StandardPricing": [
{ "BreakQuantity": 1, "UnitPrice": 5.91, "TotalPrice": 5.91 },
{ "BreakQuantity": 10, "UnitPrice": 4.532, "TotalPrice": 45.32 },
{ "BreakQuantity": 25, "UnitPrice": 4.186, "TotalPrice": 104.65 },
{ "BreakQuantity": 100, "UnitPrice": 3.8065, "TotalPrice": 380.65 },
{ "BreakQuantity": 250, "UnitPrice": 3.62548, "TotalPrice": 906.37 }
],
"QuantityAvailableforPackageType": 4215,
"MinimumOrderQuantity": 1
}
]
}
}
GET /search/{productNumber}/pricing
Returns all pricing tiers for a specific product number.
Path parameter: productNumber — DigiKey part number
Response
[
{ "BreakQuantity": 1, "UnitPrice": 5.91, "TotalPrice": 5.91 },
{ "BreakQuantity": 10, "UnitPrice": 4.532, "TotalPrice": 45.32 },
{ "BreakQuantity": 25, "UnitPrice": 4.186, "TotalPrice": 104.65 },
{ "BreakQuantity": 100, "UnitPrice": 3.8065, "TotalPrice": 380.65 }
]
GET /search/{productNumber}/media
Returns product image and datasheet URLs.
{
"PhotoUrl": "https://mm.digikey.com/...",
"DatasheetUrl": "https://...",
"ProductUrl": "https://www.digikey.com/..."
}
GET /search/manufacturers
Returns a list of all manufacturers with product counts. Use the returned Id values in ManufacturerFilter.
GET /search/categories and /search/categories/{categoryId}
Returns the full product category tree, or a single category by ID. Use returned Id values in CategoryFilter.
GET /search/{productNumber}/alternatepackaging
Returns other packaging formats (cut tape, reel, tray) for the same underlying component.
GET /search/{productNumber}/substitutions and /search/{productNumber}/recommendedproducts
Returns DigiKey-suggested replacement or similar products. Useful when a preferred part is out of stock.
GET /search/{productNumber}/associations
Returns products frequently purchased alongside this one.
GET /search/{productNumber}/digireelpricing
Returns DigiReel pricing for tape-and-reel custom orders.
Authentication
Requires a valid Authorization: Bearer <token> header. Use the 2-legged (Client Credentials) flow — no user login required.
curl "https://api.digikey.com/products/v4/search/keyword" \
-X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-DIGIKEY-Client-Id: YOUR_CLIENT_ID" \
-H "Content-Type: application/json" \
-d '{"Keywords": "capacitor 100uf", "Limit": 10}'
Models
Request and response object schemas for this API. Error models (ApiErrorResponse, DKProblemDetails) are documented on the Authentication & Concepts page.
AlternatePackagingResponse
Response model for AlternatePackaging
| Field | Type | Required | Description |
|---|---|---|---|
AlternatePackagings | AlternatePackaging | ||
SearchLocaleUsed | IsoSearchLocale |
CategoriesResponse
Response model for Categories call.
| Field | Type | Required | Description |
|---|---|---|---|
ProductCount | integer (int32) | Count of Products | |
Categories | array of Category | List of Categories | |
SearchLocaleUsed | IsoSearchLocale |
CategoryResponse
Response model for a single Category call.
| Field | Type | Required | Description |
|---|---|---|---|
Category | Category | ||
SearchLocaleUsed | IsoSearchLocale |
DigiReelPricing
Response for Digi-Reel Pricing Request
| Field | Type | Required | Description |
|---|---|---|---|
ReelingFee | number (double) | Fee per reel ordered. | |
UnitPrice | number (double) | Price of a single unit of the product. | |
ExtendedPrice | number (double) | The total price of the requested reels and the reeling fee. | |
RequestedQuantity | integer (int32) | The passed in quantity of the product you are looking to create a Digi-Reel with. | |
SearchLocaleUsed | IsoSearchLocale | ||
AccountIdUsed | integer (int32) | The AccountID we used for the transaction. It may have been entered in the X-DIGIKEY-Account-ID field or determined from the API user’s authentication request. | |
CustomerIdUsed | integer (int32) | The CustomerID we used for the transaction. |
KeywordRequest
Criteria for Keyword Requests
| Field | Type | Required | Description |
|---|---|---|---|
Keywords | string | A String of Keywords, up to 250 characters | |
Limit | integer (int32) | Number of products to return between 1 and 50. | |
Offset | integer (int32) | The starting index of the records returned. This is used to paginate beyond RecordCount number of results. | |
FilterOptionsRequest | FilterOptionsRequest | ||
SortOptions | SortOptions |
KeywordResponse
| Field | Type | Required | Description |
|---|---|---|---|
Products | array of Product | ||
ProductsCount | integer (int32) | Total number of matching products found. | |
ExactMatches | array of Product | ||
FilterOptions | FilterOptions | ||
SearchLocaleUsed | IsoSearchLocale | ||
AppliedParametricFiltersDto | array of Parameter |
ManufacturersResponse
List of Manufacturers and information about each manufacturer
| Field | Type | Required | Description |
|---|---|---|---|
Manufacturers | array of ManufacturerInfo | List of Manufacturer Information |
MediaResponse
Response model for Media
| Field | Type | Required | Description |
|---|---|---|---|
MediaLinks | array of MediaLinks | List of Media Links |
PackageTypeByQuantityResponse
Response from a PackageTypeByQuantity Search Service request
| Field | Type | Required | Description |
|---|---|---|---|
Products | array of PackageTypeByQuantityProduct | List of products that matched the PackageTypeByQuantitySearchService request. | |
AccountIdUsed | integer (int32) | The AccountID we used for the transaction. It may have been entered in the X-DIGIKEY-Account-ID field or determined from the API user’s authentication request. | |
CustomerIdUsed | integer (int32) | The CustomerID we used for the transaction. |
PricingOptionsForQuantityResponse
Pricing options for quantity response
| Field | Type | Required | Description |
|---|---|---|---|
RequestedProduct | string | The requested product used for the API call. | |
RequestedQuantity | integer (int32) | The RequestedQuantity we used for the API call. Note we may have lowered or increased your requested amount if it is outside allowed quantities or to provide you a better deal. | |
ProductUrl | string | Full URL of the DigiKey page to purchase the product. This is based on your provided Locale values. | |
ManufacturerPartNumber | string | The manufacturer part number. Note that some manufacturer part numbers may be used by multiple manufacturers for different parts. | |
Manufacturer | Manufacturer | ||
Description | Description | ||
SettingsUsed | PriceSettingsUsed | ||
MyPricingOptions | array of PricingOptionsForQuantity | MyPricingOptions | |
StandardPricingOptions | array of PricingOptionsForQuantity | StandardPricingOptions | |
AccountIdUsed | integer (int32) | The AccountID we used for the transaction. It may have been entered in the X-DIGIKEY-Account-ID field or determined from the API user’s authentication request. | |
CustomerIdUsed | integer (int32) | The CustomerID we used for the transaction. |
ProductAssociationsResponse
Response model for ProductAssociations
| Field | Type | Required | Description |
|---|---|---|---|
ProductAssociations | ProductAssociations | ||
SearchLocaleUsed | IsoSearchLocale |
ProductDetails
Product Details Data Transfer Object
| Field | Type | Required | Description |
|---|---|---|---|
SearchLocaleUsed | IsoSearchLocale | ||
Product | Product | ||
AccountIdUsed | integer (int32) | The AccountID we used for the transaction. It may have been entered in the X-DIGIKEY-Account-ID field or determined from the API user’s authentication request. | |
CustomerIdUsed | integer (int32) | The CustomerID we used for the transaction. |
ProductPricingResponse
A sub set of the product infromation
| Field | Type | Required | Description |
|---|---|---|---|
ProductPricings | array of ProductPricing | List of Products | |
ProductsCount | integer (int32) | Total number of matching products found. | |
SettingsUsed | SettingsUsed | ||
AccountIdUsed | integer (int32) | The AccountID we used for the transaction. It may have been entered in the X-DIGIKEY-Account-ID field or determined from the API user’s authentication request. | |
CustomerIdUsed | integer (int32) | The CustomerID we used for the transaction. |
ProductSubstitutesResponse
Response model for ProductSubstitutes
| Field | Type | Required | Description |
|---|---|---|---|
ProductSubstitutesCount | integer (int32) | Count of ProductSubstitutes | |
ProductSubstitutes | array of ProductSubstitute | List of ProductSubstitutes | |
SearchLocaleUsed | IsoSearchLocale |
RecommendedProductsResponse
The recommended products returned grouped in collections.
| Field | Type | Required | Description |
|---|---|---|---|
Recommendations | array of Recommendation | The list of RecommendedProductsCollections - each containing a Product and its recommendations. |