Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications. One unified API covers all three storefronts (Newark for US, Farnell for UK/EU, element14 for APAC). Free API key, simple query-parameter auth, no OAuth. Datasheets download directly from farnell.com CDN with no bot protection. Sync and maintain a local datasheets directory for a KiCad project, or use batch MPN-list seed
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 390% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 165% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 174% | 0% |
| Skill | Purpose | |-------|---------| | kicad | Schematic analysis — extracts MPNs for part lookup | | bom | BOM management — orchestrates sourcing across distributors | | spice | Uses element14 parametric data for behavioral SPICE models |
One API covers three regional storefronts — same catalog, same datasheets, only pricing/stock vary by region:
| Storefront | Region | Store ID | |------------|--------|----------| | Newark | North America | www.newark.com | | Farnell | UK / Europe | uk.farnell.com | | element14 | Asia-Pacific | au.element14.com |
For BOM management and export workflows, see bom.
responseGroup=medium includes datasheets[].urlELEMENT14_API_KEY before running the scripts:bash export ELEMENT14_API_KEY=your_api_key_here If credentials are stored in a central secrets file (e.g., ~/.config/secrets.env), load them first: bash export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
Base URL: https://api.element14.com/catalog/products
All requests use GET with query parameters. Authentication is via callInfo.apiKey.
The term parameter supports three search types:
| Mode | Format | Example | |------|--------|---------| | Keyword | any:<keywords> | term=any:100nF 0402 X7R | | MPN | manuPartNum:<mpn> | term=manuPartNum:GRM155R71C104KA88D | | Distributor PN | 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| Group | Fields | |-------|--------| | small | SKU, displayName, brandName, MPN, attributes | | medium | + datasheets], prices], stock | | large | + images, related products, country of origin | | prices | Tiered pricing only | | inventory | Stock levels by warehouse/region |
With responseGroup=medium, the response looks like:
json{ "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" } ] } }
Key fields:
sku — Newark/Farnell/element14 part numbertranslatedManufacturerPartNumber — MPNbrandName — manufacturerdatasheets[].url — direct PDF URL (farnell.com CDN, no bot protection)datasheets[].type — usually TechnicalDataSheetprices[] — tiered pricing with from, to, coststock.level — quantity in stockstock.statusMessage — human-readable availabilityattributes[] — parametric specs (label, unit, value)rohsStatusCode — RoHS compliance (YES/NO)Common store IDs for the storeInfo.id parameter:
| Store ID | Region | |----------|--------| | www.newark.com | US (default) | | uk.farnell.com | UK | | www.farnell.com | EU | | au.element14.com | Australia | | sg.element14.com | Singapore | | in.element14.com | India |
No documented rate limits beyond the courtesy usage allowance. Be respectful — use 0.5s delays between calls.
Add to query parameters:
resultsSettings.refinements.filter=rohsCompliant — RoHS parts onlyresultsSettings.refinements.filter=inStock — in-stock onlyresultsSettings.offset — starting index (0-based)resultsSettings.numberOfResults — max 50 per pageelement14's farnell.com CDN serves datasheet PDFs directly — no bot protection, no special headers needed. Datasheet URLs come from the API response (datasheets[].url).
Use sync_datasheets_element14.py to maintain a datasheets/ directory alongside a KiCad project. Same workflow and manifest.json format as the DigiKey, Mouser, and LCSC skills.
bash# 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-list batch mode (KH-312) — when you have a list of MPNs but no KiCad project to point at. One MPN per line; blank lines and # comments (full-line and inline) are skipped; generic values are filtered via is_real_mpn() and de-duplicated. Output defaults to ./datasheets/ in the current working directory when --output is omitted. Note: ELEMENT14_API_KEY is checked unconditionally at startup, so --dry-run still requires the env var to be set even though no network calls are made.
The script:
manuPartNum:) for exact match — falls back to keyword searchmanifest.json manifest — same format as DigiKey/Mouser/LCSC skills--delay)Use fetch_datasheet_element14.py for one-off downloads.
bash# 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
The script:
requests → urllib → playwright fallback chainpip install requests (recommended; urllib fallback works fine for element14)pip install playwright && playwright install chromium (optional; rarely needed)If the API is unavailable, search by fetching product pages directly:
https://www.newark.com/search?st=<query>
https://uk.farnell.com/search?st=<query>responseGroup=medium — includes datasheets and pricing without the overhead of largemanuPartNum: prefix for exact MPN matches; any: for keyword searchtranslatedManufacturerPartNumber (MPN) across DigiKey/Mouser/LCSCOther measured skills in the registry, with their headline benchmark lift.