element14 について
element14 APIによる部品検索とデータシート取得を扱うスキルです。NewarkやFarnellの各地域カタログを利用し、部品調達やKiCadプロジェクトの資料管理を行う電子回路設計者向けです。
主な機能
- 01キーワード・MPN・販売店型番で検索
- 02Newark・Farnell・element14の地域カタログ
- 03在庫・価格・パラメトリックデータの取得
- 04KiCadプロジェクトのデータシート同期
- 05個別データシートの取得と検証
活用シーン
- 01地域別ストアで部品を検索
- 02価格・在庫・RoHS適合状況を確認
- 03KiCadプロジェクト用のデータシートを収集
- 04MPNや販売店型番からデータシートを取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aklofas/ kicad-happy --skill element14インストール後、Claude Code で/element14を入力して読み込まれたか確認します。
同梱ファイルscripts/fetch_datasheet_element14.pyscripts/sync_datasheets_element14.py
詳細
element14 / Newark / Farnell — 部品検索、データシート、注文
関連スキル
| スキル | 目的 |
|---|---|
kicad | 回路図の解析 — 部品検索用に MPN を抽出します |
bom | BOM 管理 — 販売代理店を横断した調達を調整します |
spice | element14 のパラメトリックデータを使用して、動作を表す SPICE モデルを作成します |
1 つの API で 3 つの地域別ストアフロントを利用できます。カタログとデータシートは共通で、価格と在庫のみ地域によって異なります。
| ストアフロント | 地域 | ストア ID |
|---|---|---|
| Newark | 北米 | www.newark.com |
| Farnell | 英国 / 欧州 | uk.farnell.com |
| element14 | アジア太平洋 | au.element14.com |
BOM 管理とエクスポートのワークフローについては、bom を参照してください。
DigiKey/Mouser との主な違い
- シンプルな認証 — API キーをクエリパラメーターとして指定し、OAuth フローは不要です
- 無料の API キー — partner.element14.com で登録すると、特典利用枠が提供されます
- グローバル対応 — 同じ API で米国(Newark)、EU(Farnell)、APAC(element14)を利用できます
- 保護されていない PDF — データシートは farnell.com の CDN でホストされており、ボット対策なしで自由にダウンロードできます
- API レスポンス内のデータシート URL —
responseGroup=mediumにdatasheets[].urlが含まれます
API 認証情報の設定
- partner.element14.com/member/register で登録します
- 無料アカウントです。ユーザー名、メールアドレス、パスワードだけで登録できます。クレジットカードは不要です。
- 「特典利用枠」(毎秒 2 回、1 日 1,000 回 — 通常の利用には十分です)が提供されます
- アプリケーションを登録します — ログイン後、My API Keys に移動し、「Get API Keys」をクリックします
- アプリ名:任意(例:「kicad-happy」)
- 種類:「Desktop application」
- ユーザー数:「1-10」
- 商用利用:いいえ
- 広告:いいえ
- 「Issue a new key for Product Search API」にチェックを入れ、「Basic」階層を選択します
- 利用規約に同意し、「Register Application」をクリックします
- API キーをコピーします — My API Keys ページに表示される 24 文字の英数字の文字列です
- スクリプトを実行する前に、環境変数
ELEMENT14_API_KEYを設定します。
認証情報が一元管理されたシークレットファイル(例:export ELEMENT14_API_KEY=your_api_key_here~/.config/secrets.env)に保存されている場合は、先に読み込みます。export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
製品検索 API
ベース URL: https://api.element14.com/catalog/products
すべてのリクエストでは、GET とクエリパラメーターを使用します。認証には callInfo.apiKey を使用します。
検索モード
term パラメーターでは、次の 3 種類の検索ができます。
| モード | 形式 | 例 |
|---|---|---|
| キーワード | any:<keywords> | term=any:100nF 0402 X7R |
| MPN | manuPartNum:<mpn> | term=manuPartNum:GRM155R71C104KA88D |
| 販売代理店品番 | id:<sku> | term=id:94AK6874 |
完全な例
GET https://api.element14.com/catalog/products
?term=manuPartNum:GRM155R71C104KA88D
&storeInfo.id=www.newark.com
&resultsSettings.offset=0
&resultsSettings.numberOfResults=10
&resultsSettings.responseGroup=medium
&callInfo.responseDataFormat=JSON
&callInfo.apiKey=YOUR_KEY
レスポンスグループ
| グループ | フィールド |
|---|---|
small | SKU、displayName、brandName、MPN、attributes |
medium | + datasheets[]、prices[]、stock |
large | + 画像、関連製品、原産国 |
prices | 価格段階のみ |
inventory | 倉庫 / 地域別の在庫数 |
レスポンス形式
responseGroup=medium の場合、レスポンスは次のようになります。
{
"manufacturerPartNumberSearchReturn": {
"numberOfResults": 5,
"products": [
{
"sku": "94AK6874",
"displayName": "Murata GRM155R71C104KA88D",
"translatedManufacturerPartNumber": "GRM155R71C104KA88D",
"brandName": "Murata Electronics",
"datasheets": [
{
"type": "TechnicalDataSheet",
"description": "Datasheet",
"url": "https://www.farnell.com/datasheets/74273.pdf"
}
],
"prices": [
{
"from": 1,
"to": 9,
"cost": 0.156
}
],
"stock": {
"level": 45000,
"leastLeadTime": 0,
"status": 4,
"statusMessage": "In Stock"
},
"attributes": [
{"attributeLabel": "Capacitance", "attributeUnit": "", "attributeValue": "100nF"},
{"attributeLabel": "Voltage Rating", "attributeUnit": "V", "attributeValue": "16"}
],
"rohsStatusCode": "YES"
}
]
}
}
主なフィールド:
sku— Newark/Farnell/element14 の部品番号translatedManufacturerPartNumber— MPNbrandName— メーカーdatasheets[].url— PDF の直接 URL(farnell.com の CDN、ボット対策なし)datasheets[].type— 通常はTechnicalDataSheetprices[]—from、to、costを含む段階別価格stock.level— 在庫数stock.statusMessage— 人が読める形式の在庫状況attributes[]— パラメトリック仕様(ラベル、単位、値)rohsStatusCode— RoHS 準拠状況(YES/NO)
ストア ID
storeInfo.id パラメーターで使用する一般的なストア ID:
| ストア ID | 地域 |
|---|---|
www.newark.com | 米国(デフォルト) |
uk.farnell.com | 英国 |
www.farnell.com | EU |
au.element14.com | オーストラリア |
sg.element14.com | シンガポール |
in.element14.com | インド |
レート制限
利用上のご配慮をお願いする以外に、文書化されたレート制限はありません。節度を守り、呼び出しの間に0.5秒の遅延を入れてください。
フィルター
クエリパラメーターに追加してください:
resultsSettings.refinements.filter=rohsCompliant— RoHS 準拠部品のみresultsSettings.refinements.filter=inStock— 在庫ありのみ
ページネーション
resultsSettings.offset— 開始インデックス(0始まり)resultsSettings.numberOfResults— 1ページあたり最大50件- 最初の100件のみ、ページネーションを確実に利用できます
データシートのダウンロードと同期
element14 の farnell.com CDN は、データシート PDF を直接配信します。ボット対策はなく、特別なヘッダーも必要ありません。データシートの URL は API レスポンス(datasheets[].url)から取得できます。
データシートディレクトリの同期
sync_datasheets_element14.py を使用して、KiCad プロジェクトと並ぶ datasheets/ ディレクトリを管理します。ワークフローと manifest.json の形式は DigiKey、Mouser、LCSC のスキルと同じです。
# Sync datasheets for a KiCad project
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch>
# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --dry-run
# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --force
# Use a specific store (default: www.newark.com)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --store uk.farnell.com
# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> -o ./my-datasheets
# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --parallel 3
# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_element14.py --mpn-list mpns.txt --output ./datasheets
MPN リストのバッチモード(KH-312)— KiCad プロジェクトはないが、MPN のリストがある場合に使用します。1行に1つの MPN を記載します。空行と # コメント(行全体およびインライン)はスキップされます。また、is_real_mpn() によって一般的な値が除外され、重複も取り除かれます。--output を省略した場合、出力先は現在の作業ディレクトリにある ./datasheets/ になります。注:ELEMENT14_API_KEY は起動時に無条件で確認されるため、ネットワーク呼び出しが行われない --dry-run でも、環境変数を設定する必要があります。
スクリプトの機能:
- kicad 回路図アナライザーを実行して、コンポーネント、MPN、販売代理店の PN を抽出します
- 任意の識別子を受け付けます — MPN、Newark/Farnell PN、または KiCad のシンボルプロパティにある他の販売代理店の PN
- MPN 検索(
manuPartNum:)を優先して完全一致を探し、見つからない場合はキーワード検索に切り替えます - farnell.com CDN からダウンロードします — PDF の直接 URL を使用し、ボット対策はありません
manifest.jsonマニフェストを書き込みます — DigiKey、Mouser、LCSC のスキルと同じ形式です- PDF の内容を検証します — MPN、メーカー、説明に含まれるキーワードを確認します
- レート制限を設けています — API 呼び出しの間隔は0.5秒です(
--delayで設定可能) - 進捗を逐次保存します — 中断しても安全です
単一データシートのダウンロード
1件のみダウンロードする場合は、fetch_datasheet_element14.py を使用します。
# Search by MPN
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" -o datasheet.pdf
# Search by Newark/Farnell part number
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "94AK6874" -o datasheet.pdf
# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_element14.py "https://www.farnell.com/datasheets/74273.pdf" -o datasheet.pdf
# JSON output
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" --json
スクリプトの機能:
- OS に依存しません —
requests→urllib→playwrightのフォールバックチェーンを使用します - PDF ヘッダーを検証します — HTML エラーページを拒否します
- element14 の URL で失敗した場合、メーカーの代替ソースを使用します
- 終了コード:0 = 成功、1 = ダウンロード失敗、2 = 検索/API エラー
- 依存関係:
pip install requests(推奨。element14 では urllib のフォールバックも問題なく動作します)pip install playwright && playwright install chromium(任意。必要になることはほとんどありません)
Web 検索によるフォールバック
API を利用できない場合は、製品ページを直接取得して検索してください。
https://www.newark.com/search?st=<query>
https://uk.farnell.com/search?st=<query>
ヒント
responseGroup=mediumを使用してください。largeの余分な情報量を避けつつ、データシートと価格を取得できます- MPN の完全一致には
manuPartNum:プレフィックスを、キーワード検索にはany:を使用してください - DigiKey、Mouser、LCSC 間の照合には
translatedManufacturerPartNumber(MPN)を使用してください - DigiKey/Mouser の送料が高い地域のユーザーに便利です