mouser について
mouser は Mouser Search API またはウェブ検索で部品を探し、仕様、価格、在庫、ライフサイクル情報を取得するスキルです。回路図や MPN リストから PDF を同期でき、ダウンロード制限には複数の取得元で対応します。
主な機能
- 01キーワード、MPN、メーカーで検索
- 02仕様、価格、在庫の取得
- 03ライフサイクルと代替品の確認
- 04回路図や MPN リストから PDF を同期
- 05複数のデータシート取得元を試行
活用シーン
- 01DigiKey の在庫切れ時に別の調達先を検索
- 02部品価格、在庫、注文条件を比較
- 03KiCad プロジェクト用のデータシートを同期
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aklofas/ kicad-happy --skill mouserインストール後、Claude Code で/mouserを入力して読み込まれたか確認します。
同梱ファイルscripts/fetch_datasheet_mouser.pyscripts/sync_datasheets_mouser.py
詳細
Mouser Electronics の部品検索と分析
関連スキル
| スキル | 目的 |
|---|---|
kicad | 回路図の分析 — 部品検索用にMPNを抽出します |
bom | BOM管理 — 販売代理店間の調達を調整します |
digikey | 試作向けの主要調達先(データシートでは直接PDFリンクがあるため優先します) |
spice | Mouserのパラメトリックデータを使用して、動作SPICEモデルを作成します |
Mouserは試作注文向けの二次調達先です。DigiKeyが在庫切れの場合、または価格が高い場合に使用してください。量産注文については、lcsc/jlcpcbを参照してください。BOM管理とエクスポートのワークフローについては、bomを参照してください。データシートについては、DigiKeyのAPI(直接PDFリンクあり)を優先してください。Mouserは自動化されたPDFダウンロードをブロックします。
API認証情報の設定
MouserはシンプルなAPIキー認証を使用します。OAuth、トークン、コールバックURLは不要です。Search APIキーはUUIDで、クエリパラメーターとして渡します。
APIキーの取得
- mouser.comにアクセスし、My Mouser → My Accountを開きます
- 「APIs」セクションで「Manage」をクリックします
- Search APIキーに登録します。部品検索とデータシートのダウンロードに必要なのはこのキーです
- Search APIキーには承認が必要な場合があります(最初はステータスが「pending authorization」と表示されます)
認証情報の設定
スクリプトを実行する前に、環境変数を設定してください:
export MOUSER_SEARCH_API_KEY=your-search-api-key-uuid
認証情報が一元管理されたシークレットファイル(例:~/.config/secrets.env)に保存されている場合は、まず読み込んでください:
export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
Mouser Search APIリファレンス
すべての検索エンドポイントでは、Search APIキーをクエリパラメーターとして使用します:?apiKey=<key>。すべてのPOSTリクエストで、Content-Typeはapplication/jsonです。
V1エンドポイント
キーワード検索
POST /api/v1/search/keyword?apiKey=<key>
{
"SearchByKeywordRequest": {
"keyword": "100nF 0402 ceramic capacitor",
"records": 50,
"startingRecord": 0,
"searchOptions": "InStock"
}
}
searchOptions:"None"|"Rohs"|"InStock"|"RohsAndInStock"records:リクエストあたり最大50件startingRecord:ページネーション用のオフセット
部品番号検索
POST /api/v1/search/partnumber?apiKey=<key>
{
"SearchByPartRequest": {
"mouserPartNumber": "GRM155R71C104KA88D|RC0402FR-0710KL",
"partSearchOptions": "Exact"
}
}
- 最大10個の部品番号をパイプ区切り(
|)で指定します - Mouserの部品番号とメーカー部品番号(MPN)の両方に対応します
partSearchOptions:"Exact"|"BeginsWith"|"Contains"
V2エンドポイント
V2では、メーカーによる絞り込みとページ番号によるページネーションが追加されています。
キーワードとメーカーによる検索
POST /api/v2/search/keywordandmanufacturer?apiKey=<key>
{
"SearchByKeywordMfrNameRequest": {
"keyword": "LMR51450",
"manufacturerName": "Texas Instruments",
"records": 25,
"pageNumber": 1,
"searchOptions": "InStock"
}
}
注:ラッパーオブジェクト名はSearchByKeywordMfrNameRequestです(SearchByKeywordMfrRequestではありません。V1の名前は非推奨です)。
部品番号とメーカーによる検索
POST /api/v2/search/partnumberandmanufacturer?apiKey=<key>
メーカー一覧
GET /api/v2/search/manufacturerlist?apiKey=<key>
絞り込み検索で使用するメーカー名の全リストを返します。
V1の非推奨エンドポイント
引き続き動作しますが、V2の同等エンドポイントを推奨します:
POST /api/v1/search/keywordandmanufacturer→ V2を使用POST /api/v1/search/partnumberandmanufacturer→ V2を使用GET /api/v1/search/manufacturerlist→ V2を使用
検索レスポンスの構造
すべての検索エンドポイントは同じ形式のレスポンスを返します:
{
"Errors": [],
"SearchResults": {
"NumberOfResult": 142,
"Parts": [...]
}
}
主要な部品フィールド
| フィールド | 型 | 説明 |
|---|---|---|
MouserPartNumber | string | Mouser の内部部品番号(81-GRM155R71C104KA88 など、プレフィックス付き) |
ManufacturerPartNumber | string | メーカーの部品番号(MPN)。販売代理店をまたいだ照合に使用します |
Manufacturer | string | メーカー名 |
Description | string | 製品の説明 |
Category | string | 製品カテゴリ |
DataSheetUrl | string | データシート PDF の URL(Mouser がホスト。データシートのセクションを参照) |
ProductDetailUrl | string | Mouser の製品ページの URL |
ImagePath | string | 製品画像の URL |
Availability | string | 人が読める在庫状況のテキスト(例:"2648712 In Stock") |
AvailabilityInStock | string | 数値形式の在庫数量(文字列) |
AvailabilityOnOrder | array | 入荷予定在庫:[{Quantity, Date}] |
LeadTime | string | 工場のリードタイム(例:"84 Days") |
LifecycleStatus | string|null | "New Product"、"End of Life" など |
IsDiscontinued | string | "true" または "false"(文字列であり、ブール値ではありません) |
SuggestedReplacement | string | 販売終了品の代替品の MPN |
Min | string | 最小注文数量(文字列) |
Mult | string | 注文単位数(文字列) |
Reeling | bool | テープ&リール梱包の有無 |
ROHSStatus | string | RoHS 準拠状況 |
PriceBreaks | array | 数量別価格:[{Quantity, Price, Currency}] |
ProductAttributes | array | パラメトリック仕様:[{AttributeName, AttributeValue}] |
AlternatePackagings | array|null | 代替梱包品の MPN:[{APMfrPN}] |
SurchargeMessages | array | 関税/追加料金情報:[{code, message}] |
ProductCompliance | array | HTS コード、ECCN:[{ComplianceName, ComplianceValue}] |
UnitWeightKg | object | kg 単位の {UnitWeight: <float>} |
注意点と落とし穴
- 価格は通貨記号付きの文字列です:
"$0.10"であり、浮動小数点数ではありません。比較する前に解析してください。 - 在庫数は文字列です:
AvailabilityInStockは2648712ではなく"2648712"を返します。 - IsDiscontinued は文字列です:ブール値ではなく、
"true"または"false"です。 - Mouser の部品番号にはプレフィックスが付いています:
81-GRM155R71C104KA88のプレフィックスは Mouser 固有です。相互参照にはManufacturerPartNumberを使用してください。 - V2 のラッパー名は V1 と異なります:V2 では
SearchByKeywordMfrRequestではなくSearchByKeywordMfrNameRequestを使用します。 - 関税情報:
SurchargeMessagesに米国の関税率が含まれる場合があり、コストの見積もりに役立ちます。 - 注文済み在庫データ:
AvailabilityOnOrderには、入荷予定の在庫数量と予定日が示されます。
データシートのダウンロードと同期
Mouser の DataSheetUrl フィールドは、Mouser がホストする URL(mouser.com/datasheet/...)を示します。これらの URL は自動ダウンロードをブロックします。ブラウザーの User-Agent ヘッダーを指定しても、Python/curl/wget で取得すると HTML の「Access denied」ページが返されます。ダウンロードスクリプトは、複数の方法を使ってこの問題に対処します。
- Mouser のデータシート URL を直接試す(一部の部品では機能します)
- Mouser の製品ページの HTML を解析し、代替のデータシートリンクを探す
- メーカー固有の代替 URL パターンを試す
注:Mouser の製品ページは自動リクエストのほとんどに 403 を返すため、方法 2 の成功率は限られます。データシートの入手先としては、DigiKey と LCSC のほうが信頼性があります。
データシートディレクトリの同期
sync_datasheets_mouser.py を使って、KiCad プロジェクトと同じ階層にある datasheets/ ディレクトリを管理します。DigiKey スキルと同じワークフローおよび manifest.json の形式です。
# Sync datasheets for a KiCad project
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch>
# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --dry-run
# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --force
# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> -o ./my-datasheets
# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --parallel 3
# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_mouser.py --mpn-list mpns.txt --output ./datasheets
MPN リストの一括処理モード(KH-312) — MPN のリストはあるものの、参照する KiCad プロジェクトがない場合に使用します(ハーネス用のデータシートの準備、部品ライブラリへの一括登録など)。1 行に 1 つの MPN を記述します。空行と # コメント(行全体およびインライン)はスキップされ、一般的な値(100nF、DNP)は is_real_mpn() で除外され、重複も削除されます。--output を省略した場合、出力先は現在の作業ディレクトリにある ./datasheets/ です。
レート制限 — スクリプトは、デフォルトでリクエスト間に 1.0 秒の間隔を設けて API 呼び出しを調整します(Mouser の Search API は無料プランで 1 分あたり 30 回まで利用でき、1.0 秒の間隔なら十分に制限内に収まります)。上位プランのキーを使用する場合や、さらに遅くしたい場合は、--delay <seconds> で変更できます。
単一データシートのダウンロード
1 件だけダウンロードする場合は、fetch_datasheet_mouser.py を使用します。
# Search by MPN (uses Mouser API)
python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "TPS61023DRLR" -o datasheet.pdf
# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_mouser.py "https://example.com/datasheet.pdf" -o datasheet.pdf
# JSON output
python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "ADP1706" --json
ダウンロード戦略
スクリプトは、以下のソースを順に試します。
- 回路図の URL — KiCad シンボルに埋め込まれたデータシート URL を使用します(同期のみ)。
- Mouser API 検索 — API レスポンスから
DataSheetUrlを取得します。 - メーカーの代替ソース — Mouser の URL がブロックされた場合、主要メーカー(TI、Microchip など)の既知の URL パターンを試します。
- ヘッドレスブラウザーによるフォールバック —
playwrightがインストールされている場合、最後の手段としてヘッドレス Chromium を使用します。
すべての方法で失敗した場合は、ユーザーに ProductDetailUrl を提示し、ブラウザーで Mouser の製品ページからダウンロードできるようにします。
Web 検索によるフォールバック
API キーを利用できない場合は、製品ページを直接取得して Mouser を検索します。
- 検索 URL:
https://www.mouser.com/c/?q=<query> - 製品ページには、詳細な仕様、価格帯、在庫、データシートが掲載されています。
- Mouser の検索結果には、ノイズが含まれることがあります(JavaScript を多用したページ)。
クエリには主要なパラメーターを含めてください。
- 受動部品:値、パッケージ(0402/0603/0805)、許容差、電圧/電力定格、誘電体(C0G/X7R)
- IC:型番または機能、パッケージ(QFN/SOIC/TSSOP)、主要な仕様(電圧、電流、インターフェース)
- コネクター:種類(USB-C、JST-PH)、ピン数、ピッチ、実装方法(SMD/THT)、向き
ヒント
PartNumber検索では、最大 10 個の部品番号を|で区切って入力すると、一括検索できます。MinフィールドとMultフィールドは重要です。最低注文数量が設定されている部品や、指定された数量の倍数で注文する必要がある部品があります。SurchargeMessagesに米国の関税率が含まれる場合があります。コストの見積もりに反映してください。AvailabilityOnOrderには、入荷予定日付きの入荷予定在庫が表示されます。- 部品を選定する前に、
IsDiscontinuedとLifecycleStatusを確認してください。