Skip to main content
All catalog reads are public and served from data/symbols_index.json (no backend), except semantic search, which proxies to the backend vector index and falls back to local text search if the backend is unreachable.

List libraries — GET /api/libraries

category
string
Filter by category id.
page
number
default:"1"
limit
number
default:"50"
Capped at 100.
libraries
Library[]
Each: id, name, description, category, symbolCount, lastUpdated, contributor, source.
total / page / limit / totalPages
number

Library detail — GET /api/libraries/[name]

Returns the library plus its full symbols[] array (with pins). 404 if not found.

Text search — GET /api/search

q
string
Query string.
category
string
page
number
default:"1"
limit
number
default:"60"
Capped at 100.
Returns { symbols, total, page, limit, totalPages }. Scoring favors name matches, then keywords, then library name, then description.
curl "https://symbols.buildwithtrace.com/api/search?q=STM32&category=mcu&limit=20"

Semantic search — GET /api/search/semantic

q
string
required
Minimum 2 characters.
limit
number
default:"20"
Capped at 50.
Proxies to GET /api/v3/components/search?q=&limit=. Returns source: "vector" on success or source: "text_fallback" when the backend is unreachable. Result items use the backend’s snake_case (pin_count).
{ "results": [ { "name": "…", "library": "…", "description": "…",
  "pin_count": 64, "category": "mcu" } ], "query": "…", "total": 12, "source": "vector" }

Suggestions — GET /api/search/suggest

q
string
required
Minimum 2 characters.
Local prefix/substring search, max 8 results: [{ id, name, library, pinCount }].

Categories — GET /api/categories

Computed from the index: [{ id, count }]. power_symbol, graphical, and mechanical are merged into "other".

Thumbnails — GET /api/thumbnail?id=<symbolId>

Returns a pre-rendered image/svg+xml (cached 1 day, immutable) from data/symbol_thumbnails.json. 404 when missing — the UI then renders a generic MiniSchematic from pinCount. SVGs use currentColor, so they inherit hover color.