element14 技能用于搜索 Newark、Farnell 和 element14 上的电子元器件,支持按制造商零件编号(MPN)或分销商零件编号查找元件、查询价格与库存、下载数据手册。
用途
该技能面向电子元器件选型与采购场景,帮助用户跨区域查找元件信息。一个 API 覆盖三个区域店面,目录和数据手册相同,仅价格与库存因区域而异:Newark 对应北美(www.newark.com),Farnell 对应英国/欧洲(uk.farnell.com),element14 对应亚太(au.element14.com)。
主要能力
- 元器件搜索:支持关键词(any:<keywords>)、MPN(manuPartNum:<mpn>)和分销商零件编号(id:<sku>)三种搜索模式。
- 价格与库存查询:返回阶梯价格(prices[],含 from、to、cost)和库存水平(stock.level、stock.statusMessage)。
- 参数属性:返回 attributes[],包含标签、单位和值,如电容值、额定电压等。
- 数据手册获取:响应中 datasheets[].url 提供直接 PDF 链接,托管于 farnell.com CDN,无机器人防护,可直接下载。
- RoHS 合规信息:rohsStatusCode 字段标识是否符合 RoHS。
- 数据手册同步:提供 sync_datasheets_element14.py 脚本,可为 KiCad 项目维护 datasheets/ 目录,生成与 DigiKey、Mouser、LCSC 技能相同格式的 manifest.json。
- 单次数据手册下载:提供 fetch_datasheet_element14.py 脚本,支持按 MPN 或分销商编号搜索下载,或直接通过 URL 下载。
- 批量模式:支持从纯 MPN 列表(每行一个 MPN,跳过空行和 # 注释)批量下载数据手册,无需 KiCad 项目。
使用方式
API 凭证设置
- 在 partner.element14.com/member/register 注册免费账户,仅需用户名、邮箱和密码,无需信用卡。
- 登录后进入 My API Keys,点击 Get API Keys 注册应用:应用名任意,类型选 Desktop application,用户数选 1-10,商业用途选 No,广告选 No,勾选 Issue a new key for Product Search API 并选择 Basic 层级,同意服务条款后点击 Register Application。
- 复制 24 位字母数字 API 密钥,设置环境变量:
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 完成。示例:
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
响应组(responseGroup)可选:small(SKU、displayName、brandName、MPN、attributes)、medium(增加 datasheets[]、prices[]、stock)、large(增加 images、相关产品、原产国)、prices(仅阶梯价格)、inventory(按仓库/区域的库存水平)。
常用 storeInfo.id:www.newark.com(美国,默认)、uk.farnell.com(英国)、www.farnell.com(欧盟)、au.element14.com(澳大利亚)、sg.element14.com(新加坡)、in.element14.com(印度)。
筛选参数:resultsSettings.refinements.filter=rohsCompliant(仅 RoHS 合规)、resultsSettings.refinements.filter=inStock(仅现货)。
分页:resultsSettings.offset(从 0 开始的起始索引)、resultsSettings.numberOfResults(每页最多 50 条),仅前 100 条结果可可靠分页。
数据手册同步脚本
为 KiCad 项目同步数据手册
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch>
预览将要下载的内容
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --dry-run
重试之前失败的下载
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --force
使用特定店面(默认:www.newark.com)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --store uk.farnell.com
自定义输出目录
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> -o ./my-datasheets
并行下载(3 个 worker)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --parallel 3
批量模式——从纯 MPN 列表同步(无需 KiCad 项目)
python3 <skill-path>/scripts/sync_datasheets_element14.py --mpn-list mpns.txt --output ./datasheets
该脚本会运行 kicad 原理图分析器提取元件、MPN 和分销商编号,优先使用 MPN 精确搜索,从 farnell.com CDN 下载 PDF,写入 manifest.json,校验 PDF 内容(检查 MPN、制造商和描述关键词),API 调用间隔 0.5 秒(可通过 --delay 配置),并增量保存进度,可安全中断。注意:ELEMENT14_API_KEY 在启动时无条件检查,因此 --dry-run 也需要设置该环境变量,即使不进行网络调用。
单次数据手册下载脚本
按 MPN 搜索
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" -o datasheet.pdf
按 Newark/Farnell 零件编号搜索
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "94AK6874" -o datasheet.pdf
直接 URL 下载
python3 <skill-path>/scripts/fetch_datasheet_element14.py "https://www.farnell.com/datasheets/74273.pdf" -o datasheet.pdf
JSON 输出
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(推荐;urllib 回退对 element14 也适用);pip install playwright && playwright install chromium(可选,很少需要)。
Web 搜索回退
若 API 不可用,可直接抓取产品页面搜索: https://www.newark.com/search?st=<query> https://uk.farnell.com/search?st=<query>
适用场景
- 电子元器件选型与采购,需要跨区域查询价格和库存。
- 为 KiCad 项目批量获取数据手册并维护本地数据手册目录。
- 从纯 MPN 列表批量下载数据手册。
- 需要跨 DigiKey、Mouser、LCSC 交叉参考 MPN 的场景。
- 国际用户,当 DigiKey/Mouser 运费较高时。
限制
- 免费账户提供礼节性用量额度:2 次/秒、1000 次/天。除该额度外无文档化的速率限制,建议调用间隔 0.5 秒。
- 仅前 100 条搜索结果可可靠分页。
- 每页最多返回 50 条结果。
- 数据手册 URL 来自 API 响应,需先调用 API 获取。
- 批量 MPN 列表模式启动时无条件检查 ELEMENT14_API_KEY,即使 --dry-run 也需设置。
- 与 DigiKey/Mouser 相比,认证更简单(API 密钥作为查询参数,无 OAuth),但功能范围以 Product Search API 为准。