Discover/DigiKey API
live

DigiKey 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.

Endpoint health
verified 2d ago
keyword_search
get_product_details
get_categories
get_manufacturers
4/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the DigiKey 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.

Try it
Page number for pagination
Maximum number of results to return per page
Search keyword or term (e.g. 'resistor', 'capacitor 100nF', '10k ohm')
Category ID to filter results within a specific category
api.parse.bot/scraper/cfe8081d-8583-4960-aaa7-b407547a0c0b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/cfe8081d-8583-4960-aaa7-b407547a0c0b/keyword_search?page=1&limit=5&query=resistor&category_id=48' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace digikey-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""DigiKey electronic component search — bounded, re-runnable walkthrough."""
from parse_apis.digikey_product_search_api import DigiKey, ProductNotFound

client = DigiKey()

# Search for resistors — limit caps total items fetched across pages.
for product in client.products.search(query="capacitor 100nF", limit=3):
    print(product.digikey_part_number, product.manufacturer, product.unit_price)

# Lookup a specific part number and inspect matching variants.
lookup = client.products.lookup(part_number="ATmega328P-PU")
print(lookup.manufacturer_part_number, lookup.product_url)
for match in lookup.matching_products:
    print(match.digikey_part_number, match.product_url)

# Construct a category by ID and list its manufacturers.
category = client.category(id="3")
for mfr in category.manufacturers.list(limit=5):
    print(mfr.name, mfr.count)

# Typed error handling on a lookup that may not exist.
try:
    result = client.products.lookup(part_number="NONEXISTENT_XYZ_999")
    print(result.digikey_part_number)
except ProductNotFound as exc:
    print(f"Part not found: {exc.part_number}")

print("exercised: products.search / products.lookup / category.manufacturers.list / ProductNotFound")
All endpoints · 4 totalmissing one? ·

Full-text keyword search across DigiKey's electronic component catalog. Returns products with pricing, stock levels, and specification data. Filterable by category. Paginates via integer page counter; each page returns up to `limit` items.

Input
ParamTypeDescription
pageintegerPage number for pagination
limitintegerMaximum number of results to return per page
queryrequiredstringSearch keyword or term (e.g. 'resistor', 'capacitor 100nF', '10k ohm')
category_idstringCategory ID to filter results within a specific category
Response
{
  "type": "object",
  "fields": {
    "query": "search query string echoed back",
    "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": "display name of the category",
    "total_results": "total number of matching products (string with possible comma formatting)"
  }
}

About the DigiKey API

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.

Reliability & maintenanceVerified

The DigiKey API is a managed, monitored endpoint for digikey.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when digikey.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official digikey.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a BOM (bill of materials) pricer that resolves each MPN via get_product_details and pulls unit_price and stock for every line item.
  • Monitor stock availability for critical components by polling keyword_search for specific part numbers and alerting when stock drops below a threshold.
  • Generate a category-scoped manufacturer directory using get_manufacturers with a target category_id to list all suppliers and their part counts.
  • Populate a component selection tool that lets users browse the category tree via get_categories and then search within a chosen category.
  • Cross-reference manufacturer_part_number values from datasheets against DigiKey availability to validate sourcing options.
  • Build pricing comparison tables by querying keyword_search for a component type and surfacing unit_price across multiple matching products.
  • Audit which manufacturers supply a given component category using the count field returned by get_manufacturers.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does DigiKey have an official developer API?+
Yes. DigiKey offers an official API at https://developer.digikey.com, which requires registration and OAuth credentials. The Parse API provides access to DigiKey catalog data without requiring you to manage OAuth flows or apply for API access.
What does `get_product_details` return when multiple suppliers carry the same MPN?+
The endpoint returns a top-level best match with 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`?+
The 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?+
The 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`?+
The endpoint accepts 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.
Page content last updated . Spec covers 4 endpoints from digikey.com.
Related APIs in EcommerceSee all →
mouser.com API
mouser.com API
arrow.com API
Search for electronic components and instantly access pricing, availability, and detailed product specifications from Arrow Electronics' catalog. Look up manufacturers, retrieve bulk component data, and find the parts you need all in one place.
octopart.com API
Search electronic parts and get instant access to pricing, stock levels, and specs from multiple distributors in one place. Browse manufacturers and categories to compare availability and find the best deals on components you need.
analog.com API
Browse Analog Devices' complete product catalog, search for specific parts, and instantly access detailed specifications, documentation, pricing, and sample purchasing options. Explore product categories and subcategories to discover components that match your technical requirements and budget.
grainger.com API
grainger.com API
megekko.nl API
Search and browse products from Megekko's electronics catalog, getting detailed specifications, pricing, and category information to compare items and find exactly what you're looking for. Explore the full product hierarchy to discover items across all categories and subcategories available on the store.
digikala.com API
Browse Digikala's special-offers section, search products by keyword with category and brand filtering, and retrieve full product details including pricing, variants, seller info, images, and specifications.
megekko.be API
Search and browse the full Megekko product catalog, view detailed specs, pricing, and stock availability. Browse by category, use keyword search to find specific products, or explore shortcut endpoints for popular categories like GPUs and CPUs.
DigiKey API – Electronic Components Search · Parse