Skip to main content
Catalog reads are public and served from data/footprints_index.json (no backend), except semantic search, which proxies to the backend vector index with a local text fallback. Footprints are browsed by library, not category.

Search / list — GET /api/footprints

string
Case-insensitive match over name, description, tags, library.
number
default:"1"
number
default:"60"
Capped at 100.
Footprint[]
number
/api/footprints is search/list only (q, page, limit). The footprint detail page is a Server Component that reads the index directly via getFootprintById() — it does not call this route.

Browse by library

There is no library-list API route — libraries come from the index via the data layer:
Each returns { id, name, footprintCount } (libraries) or a paginated FootprintSearchResult (footprints in a library).

Semantic search — GET /api/search/semantic

string
required
Minimum 2 characters.
number
default:"20"
Capped at 50.
Proxies to GET /api/v3/components/search?q=&limit=&type=footprint. Returns source: "vector" on success or source: "text_fallback" when the backend is unreachable. Result items use the backend’s snake_case (pad_count).