# Lcsc

> Search LCSC Electronics for electronic components — find parts by LCSC number (Cxxxxx) or MPN, check stock/pricing, download datasheets, analyze specifications. Sister company to JLCPCB, same parts library. Sync and maintain a local datasheets directory for a KiCad project, or use batch MPN-list seeding (`--mpn-list`) for bulk workflows without a project. No API key needed — uses the free jlcsear…

- **Type:** Skill
- **Install:** `agentstack add skill-aklofas-kicad-happy-lcsc`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [aklofas](https://agentstack.voostack.com/s/aklofas)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [aklofas](https://github.com/aklofas)
- **Source:** https://github.com/aklofas/kicad-happy/tree/main/skills/lcsc
- **Website:** https://github.com/aklofas/kicad-happy

## Install

```sh
agentstack add skill-aklofas-kicad-happy-lcsc
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# LCSC Electronics — Component Search, Datasheets & Ordering

## Related Skills

| Skill | Purpose |
|-------|---------|
| `kicad` | Schematic analysis — extracts MPNs for part lookup |
| `bom` | BOM management — orchestrates sourcing across distributors |
| `jlcpcb` | PCB assembly — shares the same parts library |
| `spice` | Uses LCSC parametric data for behavioral SPICE models (no auth needed) |

LCSC is JLCPCB's sister company — they share the same parts library and `Cxxxxx` part numbers. Use LCSC for **production sourcing** (assembled boards from JLCPCB/PCBWay). DigiKey/Mouser are for prototyping. For BOM management and export workflows, see `bom`.

## Key Differences from DigiKey/Mouser

- **No API key needed** — jlcsearch community API is free and open
- **Lower prices** — especially for passives and Chinese-manufactured ICs
- **JLCPCB integration** — same LCSC part numbers used in JLCPCB assembly BOMs
- **Direct PDF downloads** — LCSC's CDN (wmsc.lcsc.com) serves datasheets without bot protection
- **Low MOQ** — many parts available in quantities as low as 1
- **Warehouses** — Shenzhen (JS), Zhuhai (ZH), Hong Kong (HK)
- **Website**: `https://www.lcsc.com`

## LCSC Part Numbers

Format: `Cxxxxx` (e.g., `C14663`). This is the universal identifier across both LCSC and JLCPCB. Use it for:
- Direct ordering on LCSC
- BOM matching in JLCPCB assembly (see `jlcpcb` skill)
- Cross-referencing between platforms

## jlcsearch API Reference

The jlcsearch community API is the recommended way to search LCSC. **No authentication required.**

**Base URL:** `https://jlcsearch.tscircuit.com`

### General Search

```
GET /api/search?q=&limit=20&full=true
```

Parameters:
- `q` — search query (matches MPN, LCSC code, or description keywords)
- `package` — optional footprint filter (e.g., `0402`)
- `limit` — max results (default 100)
- `full` — set to `true` to include all fields (datasheet URL, specs, stock per warehouse)

### Category-Specific Search

```
GET /resistors/list.json?search=10k+0402
GET /capacitors/list.json?search=100nF+0402
GET /microcontrollers/list.json?search=STM32
GET /voltage_regulators/list.json?search=3.3V
```

### Response Format

Results are returned as `{"components": [...]}`. With `full=true`, each component has:

```json
{
  "lcsc": 14663,
  "mfr": "GRM155R71C104KA88D",
  "package": "0402",
  "description": "",
  "datasheet": "https://www.lcsc.com/datasheet/...",
  "stock": 2751535,
  "price": [{"qFrom": 1, "qTo": 9, "price": 0.0069}, ...],
  "basic": 0,
  "extra": {
    "number": "C71629",
    "mpn": "GRM155R71C104KA88D",
    "manufacturer": {"id": 4, "name": "Murata Electronics"},
    "package": "0402",
    "description": "16V 100nF X7R ±10% 0402 ...",
    "quantity": 2751535,
    "whs-js": 1234567,
    "whs-zh": 567890,
    "whs-hk": 0,
    "moq": 100,
    "order_multiple": 100,
    "packaging": "Tape & Reel (TR)",
    "packaging_num": 10000,
    "datasheet": {"pdf": "https://wmsc.lcsc.com/wmsc/upload/file/pdf/v2/lcsc/...pdf"},
    "images": [{"96x96": "...", "224x224": "...", "900x900": "..."}],
    "rohs": true,
    "url": "https://www.lcsc.com/product-detail/...",
    "attributes": {
      "Capacitance": "100nF",
      "Voltage Rated": "16V",
      "Temperature Coefficient": "X7R",
      "Tolerance": "±10%"
    },
    "prices": [{"min_qty": 100, "max_qty": 499, "currency": "USD", "price": 0.0048}, ...]
  }
}
```

Key fields:
- `lcsc` — numeric LCSC ID (without "C" prefix)
- `extra.number` — full LCSC code with prefix (e.g., `C71629`)
- `extra.mpn` — manufacturer part number
- `extra.manufacturer.name` — manufacturer
- `extra.datasheet.pdf` — **direct PDF URL** (wmsc.lcsc.com CDN, downloads without auth)
- `extra.attributes` — parametric specs (capacitance, voltage, etc.)
- `extra.quantity` — total stock across all warehouses
- `extra.whs-js`, `extra.whs-zh`, `extra.whs-hk` — stock per warehouse
- `basic` — `1` if JLCPCB basic part (no setup fee), `0` if extended
- `extra.moq` — minimum order quantity
- `extra.order_multiple` — must order in multiples of this
- `extra.rohs` — RoHS compliance (boolean)

### Rate Limits

The jlcsearch API is community-run with no documented rate limits, but be respectful — use delays of 0.5s between calls.

## Datasheet Download & Sync

LCSC's CDN serves datasheet PDFs directly — no bot protection, no special headers needed. This makes LCSC a reliable datasheet source alongside DigiKey.

### Datasheet Directory Sync

Use `sync_datasheets_lcsc.py` to maintain a `datasheets/` directory alongside a KiCad project. Same workflow and `manifest.json` format as the DigiKey and Mouser skills. **No API key required.**

```bash
# Sync datasheets for a KiCad project
python3 /scripts/sync_datasheets_lcsc.py 

# Preview what would be downloaded
python3 /scripts/sync_datasheets_lcsc.py  --dry-run

# Retry previously failed downloads
python3 /scripts/sync_datasheets_lcsc.py  --force

# Custom output directory
python3 /scripts/sync_datasheets_lcsc.py  -o ./my-datasheets

# Parallel downloads (3 workers)
python3 /scripts/sync_datasheets_lcsc.py  --parallel 3

# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 /scripts/sync_datasheets_lcsc.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.

The script:
- **Runs the kicad schematic analyzer** to extract components, MPNs, and LCSC codes
- **Accepts any identifier** — MPN, LCSC code, or other distributor PNs from KiCad symbol properties
- **Prefers LCSC code** for search (exact match) — falls back to MPN keyword search
- **Falls back to wmsc.lcsc.com API** when jlcsearch has no results for an LCSC code (Cxxxxx)
- **Downloads from LCSC CDN** — direct PDF URLs, no bot protection
- **Writes `manifest.json` manifest** — same format as DigiKey/Mouser skills
- **Verifies PDF content** — checks MPN, manufacturer, and description keywords
- **Rate-limited** — 0.5s between API calls (configurable with `--delay`)
- **Saves progress incrementally** — safe to interrupt

### Single Datasheet Download

Use `fetch_datasheet_lcsc.py` for one-off downloads.

```bash
# Search by MPN
python3 /scripts/fetch_datasheet_lcsc.py --search "GRM155R71C104KA88D" -o datasheet.pdf

# Search by LCSC code
python3 /scripts/fetch_datasheet_lcsc.py --search "C14663" -o datasheet.pdf

# Direct URL download
python3 /scripts/fetch_datasheet_lcsc.py "https://wmsc.lcsc.com/..." -o datasheet.pdf

# JSON output
python3 /scripts/fetch_datasheet_lcsc.py --search "C14663" --json
```

The script:
- **OS-agnostic** — uses `requests` → `urllib` → `playwright` fallback chain (no wget/curl)
- **Validates PDF headers** — rejects HTML error pages
- **Falls back to alternative manufacturer sources** when LCSC URL fails
- **Exit codes**: 0 = success, 1 = download failed, 2 = search/API error
- **Dependencies**:
  - `pip install requests` (recommended; urllib fallback works fine for LCSC)
  - `pip install playwright && playwright install chromium` (optional; rarely needed for LCSC)

## LCSC Official API (Requires Approval)

**Base URL:** `https://ips.lcsc.com`. Requires API key + signature authentication. Contact `support@lcsc.com` for access. Rarely needed — jlcsearch covers most use cases.

## Web Search Fallback

If the jlcsearch API is unavailable, search LCSC by fetching the website directly:

```
https://www.lcsc.com/search?q=
```

## Cross-Referencing & Missing Equivalents

LCSC part numbers are specific to the LCSC/JLCPCB ecosystem. Use the `extra.mpn` field to cross-reference on DigiKey/Mouser.

When an MPN has no exact LCSC match:
1. Search by key parameters (e.g., "100nF 0402 X7R 16V")
2. Look for pin-compatible alternatives from Chinese manufacturers
3. Verify specs and footprint match — pad dimensions can vary even within the same package size
4. As a last resort, mark as "consigned" and source separately

## Tips

- `basic` field matters — JLCPCB basic parts have no setup fee; extended parts cost $3 each
- Check stock per warehouse (`whs-js`, `whs-zh`, `whs-hk`) — availability varies
- `moq` and `order_multiple` — many parts require minimum quantities or specific multiples
- Datasheet quality varies for Chinese manufacturers — cross-reference MPN on DigiKey for better docs

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [aklofas](https://github.com/aklofas)
- **Source:** [aklofas/kicad-happy](https://github.com/aklofas/kicad-happy)
- **License:** MIT
- **Homepage:** https://github.com/aklofas/kicad-happy

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-aklofas-kicad-happy-lcsc
- Seller: https://agentstack.voostack.com/s/aklofas
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
