关于 element14
此技能介绍通过 element14 API 搜索元件和获取数据手册,涵盖 Newark 与 Farnell 店面。适用于采购元件或为 KiCad 项目维护数据手册的电子工程师,并可查询不同地区目录及直接 PDF 链接。
主要功能
- 01按关键词、MPN 或分销商料号搜索
- 02查询 Newark、Farnell 和 element14 地区目录
- 03获取库存、价格和参数数据
- 04同步 KiCad 项目的数据手册
- 05下载并验证单个数据手册
适用场景
- 01在不同地区店面查找元件
- 02查看价格、库存和 RoHS 状态
- 03为 KiCad 项目收集数据手册
- 04按 MPN 或料号下载数据手册
安装
复制下面的命令,在终端中运行。
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 模型 |
一个 API 覆盖三个地区的网上商城 — 产品目录和数据手册相同,只有价格和库存因地区而异:
| 网上商城 | 地区 | 商店 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)、欧盟(Farnell)和亚太地区(element14)
- 不受保护的 PDF — 数据手册托管在 farnell.com CDN 上,可自由下载,无机器人保护
- API 响应中包含数据手册 URL —
responseGroup=medium会包含datasheets[].url
API 凭据设置
- 注册 partner.element14.com/member/register
- 免费账户 — 只需用户名、电子邮件和密码。无需信用卡。
- 提供“免费使用额度”(每秒 2 次调用,每天 1,000 次调用 — 足以满足日常使用)
- 注册应用程序 — 登录后,前往 我的 API 密钥,点击“Get API Keys”
- 应用名称:任意(例如,“kicad-happy”)
- 类型:“桌面应用程序”
- 用户:“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 参数支持三种搜索类型:
| 模式 | 格式 | 示例 |
|---|---|---|
| 关键词 | 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、coststock.level— 库存数量stock.statusMessage— 易读的供货状态attributes[]— 参数规格(标签、单位、数值)rohsStatusCode— RoHS 合规状态(YES/NO)
商店 ID
storeInfo.id 参数的常用商店 ID:
| 商店 ID | 地区 |
|---|---|
www.newark.com | 美国(默认) |
uk.farnell.com | 英国 |
www.farnell.com | 欧盟 |
au.element14.com | 澳大利亚 |
sg.element14.com | 新加坡 |
in.element14.com | 印度 |
速率限制
除礼貌使用额度外,没有记录在案的速率限制。请注意使用方式——调用之间间隔 0.5s。
筛选器
添加到查询参数:
resultsSettings.refinements.filter=rohsCompliant— 仅限符合 RoHS 的零件resultsSettings.refinements.filter=inStock— 仅限有库存的零件
分页
resultsSettings.offset— 起始索引(从 0 开始)resultsSettings.numberOfResults— 每页最多 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)——适用于有 MPN 列表但没有可供其使用的 KiCad 项目的情况。每行一个 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.5s(可用
--delay配置) - 增量保存进度——可安全中断
下载单个数据手册
使用 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
该脚本:
- 兼容各种操作系统——使用
requests→urllib→playwright回退链 - 验证 PDF 标头——拒绝 HTML 错误页面
- element14 URL 失败时回退到制造商的其他来源
- 退出代码:0 = 成功,1 = 下载失败,2 = 搜索/API 错误
- 依赖项:
pip install requests(推荐;针对 element14 的 urllib 回退方式运行正常)pip install playwright && playwright install chromium(可选;很少需要)
网络搜索回退方案
如果 API 不可用,可直接获取产品页面进行搜索:
https://www.newark.com/search?st=<query>
https://uk.farnell.com/search?st=<query>
提示
- 使用
responseGroup=medium——包含数据手册和定价信息,且不像large那样开销较大 - 使用
manuPartNum:前缀精确匹配 MPN;使用any:进行关键词搜索 - 通过
translatedManufacturerPartNumber(MPN)在 DigiKey/Mouser/LCSC 之间交叉查询 - 适合 DigiKey/Mouser 运费昂贵的国际用户