API

Search icons programmatically. All endpoints return JSON. No authentication required.

Search

GET /api/icons/search

Search icons by name across all icon sets. Supports full-text search, trigram similarity, and synonym matching.

Parameters
q Search query (required)
set Filter by icon set: fluentui, lucide, tabler, heroicons
size Filter by size: 16, 20, 24, 28, 32, 48
style Filter by style: regular, filled, outline, solid, color, light
limit Max results (default: 50, max: 100)
format Response format: json (default), compact, text

Response Formats

json Full response with all metadata, platform identifiers, sizes, filenames
compact Minimal JSON: name, style, url
text Plain text, one icon per line (most token-efficient for AI/LLMs)

Other Endpoints

GET /api/health

Health check. Returns icon count and status.

GET /icons/:icon_set/:style/:filename

Serve an icon SVG file. Cached for 1 year with immutable header.

Response: image/svg+xml

AI / LLM Integration

For AI assistants and LLMs, use the text format for maximum token efficiency. We also provide an MCP server for direct integration with Claude Desktop and Claude Code.

MCP Server (Claude Desktop / Claude Code)

{
  "mcpServers": {
    "fluentui-icons": {
      "command": "npx",
      "args": ["-y", "@keenmate/fluentui-icons-mcp"]
    }
  }
}

LLM-friendly endpoint

curl 'https://icons.pureadmin.io/api/icons/search?q=calendar&format=text'

Machine-readable docs

/llms.txt · /.well-known/ai-plugin.json

Usage Examples

Search icons (cURL)

curl 'https://icons.pureadmin.io/api/icons/search?q=pen&size=24&limit=5'

Search icons (JavaScript)

const res = await fetch('https://icons.pureadmin.io/api/icons/search?q=calendar&format=compact');
const { icons } = await res.json();
console.log(icons.map(i => i.name));

Filter by icon set

curl 'https://icons.pureadmin.io/api/icons/search?q=arrow&set=heroicons&set=lucide'