Search engine for open-source SVG icons. Aggregates multiple icon libraries into a single searchable catalog with platform-specific identifiers for iOS, Android, React, Vue, and Svelte.
Live: icons.pureadmin.io
| Set | Icons | Styles | Sizes | License |
|---|---|---|---|---|
| FluentUI System Icons | ~5400 | regular, filled, color, light | 16, 20, 24, 28, 32, 48 | MIT |
| Font Awesome Free | ~2850 | solid, regular, brands | 24 | CC BY 4.0 / MIT |
| Heroicons | ~650 | outline, solid | 16, 20, 24 | MIT |
| Lucide | ~1500 | regular | 24 | ISC |
| Tabler Icons | ~5300 | outline, filled | 24 | MIT |
All endpoints return JSON. No authentication required (except maintenance).
# Search icons
curl 'https://icons.pureadmin.io/api/icons/search?q=calendar&limit=5'
# Filter by icon set and style
curl 'https://icons.pureadmin.io/api/icons/search?q=arrow&set=heroicons&style=outline'
# Get icon detail
curl 'https://icons.pureadmin.io/api/icons/5403'
# List all icon sets
curl 'https://icons.pureadmin.io/api/icon-sets'
# Plain text format (token-efficient for AI)
curl 'https://icons.pureadmin.io/api/icons/search?q=pen&format=text'
Endpoints:
GET /api/icons/search — search with filters (q, set, size, style, limit, format)GET /api/icons/:id — icon detail with filenames, identifiers, categories, phrasesGET /api/icon-sets — all sets with styles, sizes, color methods, icon countGET /api/health — health checkGET /icons/:set/:style/:filename — SVG file servingPOST /api/maintenance/:task — sync, clean, cube (requires X-API-Key)POST /api/maintenance/sync/:icon_set — sync a specific icon setDocs: icons.pureadmin.io/docs/api · llms.txt
{
"mcpServers": {
"icons": {
"command": "npx",
"args": ["-y", "@keenmate/pure-admin-icons-mcp"]
}
}
}
Provides 5 tools: get_usage_guide, search_icons, get_icon_detail, get_icon_svg, list_icon_sets. Source: ../pure-admin-icons-mcp.
lib/pure_admin_icons/sync/adapters/ — one module per icon set implementing the PureAdminIcons.Sync.Adapter behaviour (download, parse, move, cleanup)lib/pure_admin_icons/icon_sets/ — one module per icon set implementing the PureAdminIcons.IconSets.Formatter behaviour (React/Vue/Svelte/CSS class identifiers and packages)lib/database/ — auto-generated by db-gen from PostgreSQL stored procedures (run make db-gen to regenerate)priv/preview_presets.json — single source of truth for built-in color presets, loaded at compile time and shared between server and JSAdding a new icon set requires:
lib/pure_admin_icons/sync/adapters/lib/pure_admin_icons/icon_sets/@adapters / @formatters mapsconst.icon_set (see docs/ for details)See docs/ for internal documentation on presets, Copy/Import CSS, and per-set platform prefs.
mix setup # Install deps, build assets
iex -S mix phx.server # Start dev server at localhost:4020
mix test # Run tests
mix format # Format code
make db-gen # Regenerate DB context from stored procedures
docker build -t pure-admin-icons:latest .
docker run -p 8888:8888 \
-e SECRET_KEY_BASE=$(mix phx.gen.secret) \
-e DB_USERNAME=... -e DB_PASSWORD=... \
-e DB_HOSTNAME=... -e DB_DATABASE=pure_admin_icons \
-e PHX_HOST=icons.pureadmin.io \
pure-admin-icons:latest
Application code: MIT. Icon SVGs retain their original licenses (see icon set table above).
Built by KeenMate.