Skip to content
Testing
Skill

/digikey

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

From plugin
kicad-happy
91911 skills
Install
$ npx -y skills add aklofas/kicad-happy --skill digikey --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/digikey

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

digikey.SKILL.md
name: digikey
description: >-
  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.

DigiKey Parts Search & Analysis

Related Skills

| Skill | Purpose | |-------|---------| | `kicad` | Schematic analysis — extracts MPNs for datasheet sync | | `bom` | BOM management — orchestrates sourcing across distributors | | `spice` | Uses DigiKey parametric data for behavioral SPICE models |

DigiKey is the **primary source for prototype orders** (Mouser is secondary). Its API returns direct PDF datasheet links, making it the preferred datasheet source. For production orders, see `lcsc`/`jlcpcb`. For BOM management and export workflows, see `bom`.

API Credential Setup

The DigiKey API requires OAuth 2.0 credentials. Here's how to set them up:

1. **Create a DigiKey account** at [digikey.com](https://www.digikey.com) if you don't have one 2. **Register an API app** at [developer.digikey.com](https://developer.digikey.com):

  • Sign in with your DigiKey account
  • Go to "My Apps" → "Create App"
  • App name: anything (e.g., "kicad-happy")
  • Select **"Product Information v4"** API
  • OAuth type: **Client Credentials** (2-legged, no user login needed)
  • Callback URL: `https://localhost` (not used for client credentials, but required)
  • After creation, note the **Client ID** and **Client Secret**

3. **Set the environment variables** before running the scripts:

   export DIGIKEY_CLIENT_ID=your_client_id_here
   export DIGIKEY_CLIENT_SECRET=your_client_secret_here

If credentials are stored in a central secrets file (e.g., `~/.config/secrets.env`), load them first:

   export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)

The client credentials flow has no user interaction — once configured, API calls work automatically.

DigiKey Product Information API v4

The API is the preferred way to search DigiKey. It returns structured JSON with full product details, pricing, stock, datasheets, and parametric data.

**Base URL:** `https://api.digikey.com`

Authentication

All API requests require OAuth 2.0. Use the **client credentials flow** (2-legged). Credentials must be loaded as environment variables (see "API Credential Setup" above).

curl -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"

The response returns an `access_token` valid for **10 minutes**. Cache the token in a shell variable and reuse it for subsequent calls in the same session. If you get a 401 error mid-session, the token has expired — re-authenticate to get a fresh one.

Required Headers

Every API call needs:

X-DIGIKEY-Client-Id: ${DIGIKEY_CLIENT_ID}
Authorization: Bearer <access_token>

Optional locale headers:

  • `X-DIGIKEY-Locale-Language`: `en` (default), `ja`, `de`, `fr`, `ko`, `zhs`, `zht`, `it`, `es`
  • `X-DIGIKEY-Locale-Currency`: `USD` (default), `CAD`, `EUR`, `GBP`, `JPY`, etc.
  • `X-DIGIKEY-Locale-Site`: `US` (default), `CA`, `UK`, `DE`, etc.

KeywordSearch — Find Parts

POST /products/v4/search/keyword

This is the primary search endpoint. Search by MPN, DigiKey part number, description, or keywords.

Request body:

{
  "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"
  }
}

Key request fields:

  • `Keywords` (string, max 250 chars) — search term (MPN, DK PN, description)
  • `Limit` (int, 1-50) — results per page
  • `Offset` (int) — pagination offset
  • `SearchOptions` — array of: `InStock`, `HasDatasheet`, `RoHSCompliant`, `NormallyStocking`, `Has3DModel`, `HasCadModel`, `HasProductPhoto`, `NewProduct`
  • `SortOptions.Field` — `Price`, `QuantityAvailable`, `Manufacturer`, `ManufacturerProductNumber`, `DigiKeyProductNumber`, `MinimumQuantity`
  • `MarketPlaceFilter` — `NoFilter`, `ExcludeMarketPlace`, `MarketPlaceOnly`

Response — key fields in each `Products[]` item:

{
  "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,
      "Standar
Read more
Ships withkicad-happy

AI-powered design review for KiCad. Analyzes schematics, PCB layouts, and Gerbers. Catches real bugs before you order boards.

Get the whole plugin
Stats
920
Stars
70
Forks
Active
Maintenance
Python
Language
MIT
License
8d ago
Last commit
5mo ago
Created

Repo: aklofas/kicad-happy

Other skills on kicad-happy.