AgentSkillsCN

Apis

APIs

SKILL.md

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

APIDescription
Compile APICompile circuit designs
Autorouting APICloud autorouting service
Datasheet APIPart datasheet extraction
Datasheet SDKSDK for datasheet parsing
Image Generation APIGenerate component images
JLC Search APISearch JLCPCB parts
Ordering APIOrder PCBs
Registry APIPackage 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

SkillDescription
CLICLI commands
Guides: RunningProgrammatic usage
ComponentsComponent elements