Web API Reference
Programmatic APIs for compilation, autorouting, datasheets, and more
Overview
tscircuit provides several web APIs for programmatic access to compilation, autorouting, datasheets, and ordering services.
API Index
| API | Description |
|---|---|
| Compile API | Compile circuit designs |
| Autorouting API | Cloud autorouting service |
| Datasheet API | Part datasheet extraction |
| Datasheet SDK | SDK for datasheet parsing |
| Image Generation API | Generate component images |
| JLC Search API | Search JLCPCB parts |
| Ordering API | Order PCBs |
| Registry API | Package registry |
Compile API
Compile tscircuit TSX files into Circuit JSON programmatically.
typescript
import { compileTscircuit } from "@tscircuit/api"
const result = await compileTscircuit(`
export default () => (
<board width="10mm" height="10mm">
<resistor resistance="1k" footprint="0402" name="R1" />
</board>
)
`)
console.log(result.circuitJson)
Autorouting API
Submit boards for cloud autorouting.
typescript
import { autoroute } from "@tscircuit/api"
const result = await autoroute({
circuitJson: boardCircuit,
strategy: "cloud",
})
console.log(result.routedBoard)
Datasheet API
Extract component data from PDF datasheets.
typescript
import { extractFromDatasheet } from "@tscircuit/api"
const data = await extractFromDatasheet(pdfBuffer, {
extract: ["package", "pinout", "specifications"]
})
console.log(data.package) // "SOIC-8"
console.log(data.pinout) // Pin mapping
JLC Search API
Search JLCPCB parts inventory.
typescript
import { searchJLC } from "@tscircuit/api"
const results = await searchJLC({
query: "10uF capacitor",
category: "Capacitors",
inStock: true,
})
console.log(results.parts)
Ordering API
Order fabricated PCBs.
typescript
import { orderBoard } from "@tscircuit/api"
const order = await orderBoard({
circuitJson: boardCircuit,
quantity: 5,
finish: "HASL",
copperWeight: "1oz",
})
console.log(order.quote) // Pricing quote
Registry API
Query and manage registry packages.
typescript
import { registry } from "@tscircuit/api"
// Search packages
const packages = await registry.search("usb-c")
// Get package info
const info = await registry.getPackage("seveibar.PICO_W")
// Publish package
await registry.publish(packageData, { token })
Using npm Registry
Add to .npmrc:
code
@tscircuit:registry=https://registry.tscircuit.com
Image Generation API
Generate images of components for documentation.
typescript
import { generateImage } from "@tscircuit/api"
const image = await generateImage({
component: "resistor_0805",
format: "png",
size: 256,
})
Related Skills
| Skill | Description |
|---|---|
| CLI | CLI commands |
| Guides: Running | Programmatic usage |
| Components | Component elements |