https://github.com/tscircuit/jlcsearch
Find parts from JLCPCB matching design constraints (resistance values, capacitance, tolerance etc.)
https://github.com/tscircuit/jlcsearch
electronics jlcpcb kicad pcb pcb-manufacturing tscircuit
Last synced: 10 days ago
JSON representation
Find parts from JLCPCB matching design constraints (resistance values, capacitance, tolerance etc.)
- Host: GitHub
- URL: https://github.com/tscircuit/jlcsearch
- Owner: tscircuit
- License: mit
- Created: 2024-11-01T18:45:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-11T05:30:28.000Z (28 days ago)
- Last Synced: 2025-09-16T04:50:31.369Z (23 days ago)
- Topics: electronics, jlcpcb, kicad, pcb, pcb-manufacturing, tscircuit
- Language: TypeScript
- Homepage: https://jlcsearch.tscircuit.com
- Size: 3.36 MB
- Stars: 14
- Watchers: 2
- Forks: 14
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jlcsearch (in-stock jlcpcb search engine and API)
[Search for Parts](https://jlcsearch.tscircuit.com) ⋅ [tscircuit](https://github.com/tscircuit/tscircuit) ⋅ [discord](https://tscircuit.com/join)
This is an in-stock parts search engine for JLCPCB parts. It also
features an easy-to-use API (just add ".json")Play with it at [jlcsearch.tscircuit.com](https://jlcsearch.tscircuit.com)

## API Usage
You can go on any page and click "json" in the top right corner to automatically convert whatever filter you've made to a JSON query.
```bash
curl https://jlcsearch.tscircuit.com/resistors/list.json?package=&resistance=1k# {
# "resistors": [
# {
# "lcsc": 21190,
# "mfr": "0603WAF1001T5E",
# "package": "0603",
# "resistance": 1000,
# "tolerance_fraction": 0.01,
# "power_watts": 100,
# "stock": 31485061,
# "price1": 0.000814286
# },
# {
# "lcsc": 11702,
# "mfr": "0402WGF1001TCE",
# "package": "0402",
# "resistance": 1000,
# ...
```## Development
Run `bun i` then `bun run setup` to download the necessary dependencies and vendor data,
you can then run `bun run start` to start the server.All the routes are in the `routes` folder. If you want to add a new page/table,
you can do the following:1. Create a new "derived table" inside `lib/db/derivedtables`, reference `docs`
to understand the structure and available properties for different components
2. Run `bun run scripts/setup-derived-tables.ts --reset led_driver` (if `led_driver` is the name of the table you're adding)
3. Run `bun run generate:db-types` to generate the new table types
4. Create a new route inside `routes` to represent the page
5. Add the new route to the `routes/index.ts` file
6. Make sure to run `bun run format`AI is incredibly good at performing every step in the process above, end to end.
I recommend using [aider](https://www.aider.chat/) and adding docs, lib, routes
and scripts folders to the context.## Acknowledgements
None of this would be possible without [JLCPCB](https://jlcpcb.com) and the work
[jlcparts](https://github.com/yaqwsx/jlcparts) project.