Loading...
Loading...
Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets. Find parts by keyword or MPN, check pricing/stock, download datasheets via API, analyze specifications. Sync and maintain a local datasheets directory — extract components from schematics, download missing datasheets, keep them up to date. Also supports batch MPN-list seeding (`--mpn-list`) for bulk workflows without a KiCad project. Use when the user asks about electronic components, part specs, datasheets, pricing, stock, footprints, or needs to download a datasheet — even without mentioning "DigiKey". Also for "sync datasheets", "download datasheets for my board/project", or mentions a datasheets directory. DigiKey is the default distributor for prototyping. For BOM workflows, see the bom skill.
npx skill4agent add aklofas/kicad-happy digikey| Skill | Purpose |
|---|---|
| Schematic analysis — extracts MPNs for datasheet sync |
| BOM management — orchestrates sourcing across distributors |
| Uses DigiKey parametric data for behavioral SPICE models |
lcscjlcpcbbomhttps://localhostexport DIGIKEY_CLIENT_ID=your_client_id_here
export DIGIKEY_CLIENT_SECRET=your_client_secret_here~/.config/secrets.envexport $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)https://api.digikey.comcurl -s -X POST https://api.digikey.com/v1/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=${DIGIKEY_CLIENT_ID}&client_secret=${DIGIKEY_CLIENT_SECRET}&grant_type=client_credentials"access_tokenX-DIGIKEY-Client-Id: ${DIGIKEY_CLIENT_ID}
Authorization: Bearer <access_token>X-DIGIKEY-Locale-LanguageenjadefrkozhszhtitesX-DIGIKEY-Locale-CurrencyUSDCADEURGBPJPYX-DIGIKEY-Locale-SiteUSCAUKDEPOST /products/v4/search/keyword{
"Keywords": "GRM155R71C104KA88D",
"Limit": 25,
"Offset": 0,
"FilterOptionsRequest": {
"MinimumQuantityAvailable": 1,
"SearchOptions": ["InStock", "HasDatasheet", "RoHSCompliant"],
"ManufacturerFilter": [{"Id": "..."}],
"CategoryFilter": [{"Id": "..."}],
"StatusFilter": [{"Id": "..."}],
"MarketPlaceFilter": "ExcludeMarketPlace"
},
"SortOptions": {
"Field": "Price",
"SortOrder": "Ascending"
}
}KeywordsLimitOffsetSearchOptionsInStockHasDatasheetRoHSCompliantNormallyStockingHas3DModelHasCadModelHasProductPhotoNewProductSortOptions.FieldPriceQuantityAvailableManufacturerManufacturerProductNumberDigiKeyProductNumberMinimumQuantityMarketPlaceFilterNoFilterExcludeMarketPlaceMarketPlaceOnlyProducts[]{
"ManufacturerProductNumber": "GRM155R71C104KA88D",
"Manufacturer": {"Id": 563, "Name": "Murata Electronics"},
"Description": {
"ProductDescription": "CAP CER 100NF 16V X7R 0402",
"DetailedDescription": "..."
},
"UnitPrice": 0.01,
"QuantityAvailable": 248000,
"ProductUrl": "https://www.digikey.com/...",
"DatasheetUrl": "https://...",
"PhotoUrl": "https://...",
"ProductVariations": [
{
"DigiKeyProductNumber": "490-10698-1-ND",
"PackageType": {"Name": "Cut Tape"},
"StandardPricing": [
{"BreakQuantity": 1, "UnitPrice": 0.01, "TotalPrice": 0.01},
{"BreakQuantity": 10, "UnitPrice": 0.008, "TotalPrice": 0.08}
],
"QuantityAvailableforPackageType": 248000,
"MinimumOrderQuantity": 1,
"StandardPackage": 10000
}
],
"Parameters": [
{"ParameterText": "Capacitance", "ValueText": "100nF"},
{"ParameterText": "Voltage Rated", "ValueText": "16V"},
{"ParameterText": "Temperature Coefficient", "ValueText": "X7R"},
{"ParameterText": "Package / Case", "ValueText": "0402 (1005 Metric)"}
],
"ProductStatus": {"Status": "Active"},
"Category": {"Name": "Ceramic Capacitors"},
"Classifications": {"RohsStatus": "ROHS3 Compliant"},
"Discontinued": false,
"EndOfLife": false,
"NormallyStocking": true
}GET /products/v4/search/{productNumber}/productdetails{productNumber}manufacturerIdProduct| Endpoint | Method | Description |
|---|---|---|
| GET | Full product info for one part |
| GET | Pricing with MyPricing for a part |
| GET | All media (images, datasheets) for a part |
| GET | All manufacturers (use IDs in KeywordSearch filters) |
| GET | All categories (use IDs in KeywordSearch filters) |
| GET | Alternate packaging options |
| GET | Substitute parts |
| GET | Recommended/associated parts |
Retry-AfterDKProblemDetails{"type": "...", "title": "...", "status": 401, "detail": "Invalid token", "correlationId": "..."}https://www.digikey.com/en/products/result?keywords=<url-encoded-query>https://www.digikey.com/en/products/result?keywords=GRM155R71C104KA88Dhttps://www.digikey.com/en/products/result?keywords=100nF+0402+X7R+16Vsync_datasheets_digikey.pydatasheets/manifest.json# Sync datasheets for a KiCad project (creates datasheets/ next to the schematic)
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch>
# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch> --dry-run
# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch> --force
# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch> -o ./my-datasheets
# Use pre-computed analyzer JSON instead of running the analyzer
python3 <skill-path>/scripts/sync_datasheets_digikey.py analyzer_output.json
# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_digikey.py <file.kicad_sch> --parallel 3
# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_digikey.py --mpn-list mpns.txt --output ./datasheets#100nFDNPis_real_mpn()./datasheets/--outputmanifest.json--force--delaymanifest.json{
"schematic": "/path/to/file.kicad_sch",
"last_sync": "2026-03-09T04:44:30+00:00",
"parts": {
"TPS61023DRLR": {
"file": "TPS61023DRLR.pdf",
"manufacturer": "Texas Instruments",
"description": "Boost converter",
"datasheet_url": "https://...",
"status": "ok",
"references": ["U3", "U2"],
"size_bytes": 2392725
}
}
}fetch_datasheet_digikey.py# Search by MPN (uses DigiKey API, requires credentials)
python3 <skill-path>/scripts/fetch_datasheet_digikey.py --search "TPS61023" -o datasheet.pdf
# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_digikey.py "https://www.ti.com/lit/gpn/tps61023" -o datasheet.pdf
# JSON output for script integration
python3 <skill-path>/scripts/fetch_datasheet_digikey.py --search "ADP1706" --jsonrequestsurllibrequestsDatasheetUrl//mm.digikey.com/...urllibcurlplaywrightpip install requestspip install playwright && playwright install chromium| Manufacturer | Status | Notes |
|---|---|---|
| TI | Works | URL normalization strips JS redirect wrapper |
| ADI / Analog | Works | |
| STMicro | Works | Requires User-Agent header |
| Nexperia | Works | Requires User-Agent header |
| Lite-On | Works | Requires User-Agent header |
| Molex | Works | Requires User-Agent header |
| Renesas | Works | Direct download |
| ON Semi | Works | Direct download |
| NXP | Works | Direct download |
| Diodes Inc | Works | Direct download |
| Microchip | Works | Direct download via API URLs |
| YAGEO, Samsung, Murata | Works | DigiKey-hosted PDFs ( |
| Broadcom | Works* | Requires Playwright — |
| Espressif | Works* | Requires Playwright — download redirect needs JS execution |
| Lattice | Mixed | Some URLs require cookies/auth |
playwrightI couldn't download the datasheet for ICE40UP5K-SG48I automatically — Lattice's site requires browser authentication. Here's the direct link: https://www.latticesemi.com/-/media/LatticeSemi/Documents/DataSheets/iCE/FPGA-DS-02008-1-9-iCE40-Ultra-Plus-Family-Data-Sheet.ashxYou can open it in your browser and save it locally, then I can read and analyze it.
--jsondatasheet_urlDatasheetUrl//https:ti.com/general/docs/suppproductinfogotoUrlrequestswgetcurl%PDFDatasheetUrl/products/v4/search/{pn}/media"<MPN> datasheet filetype:pdf"kicad-ND-1-ND-2-ND-6-NDExcludeMarketPlaceProductVariations[].StandardPricing[]BreakQuantityProductStatusDiscontinuedEndOfLife