Busca iconos mediante programación. Todos los endpoints devuelven JSON. No se requiere autenticación.
/api/icons/search
Busca iconos por nombre en todos los conjuntos de iconos. Admite búsqueda de texto completo, similitud por trigramas y coincidencia de sinónimos.
q
—
Consulta de búsqueda (obligatoria)
set
—
Filtrar por código de conjunto de iconos, p. ej. fluentui, material, phosphor, tabler, lucide, solar (repetible) — consulta /api/icon-sets para ver todos los códigos
size
—
Filtrar por tamaño, p. ej. 16, 20, 24, 28, 32, 48 (la mayoría de los conjuntos son escalables)
style
—
Filtrar por estilo: outline, filled, thin, light, regular, bold, rounded, sharp, duotone, line-duotone, broken, color, brands (varía según el conjunto)
limit
—
Máximo de resultados (por defecto: 50, máx.: 100)
format
—
Formato de respuesta: json (por defecto), compact, text
/api/icons/:id
Obtén un único icono por ID. Devuelve todos los metadatos, incluidos nombres de archivo, identificadores de plataforma, categorías, frases y las URL de los SVG para todos los tamaños.
/api/icon-sets
Lista todos los conjuntos de iconos disponibles con metadatos: estilos, tamaños, licencia, métodos de color, cantidad de iconos, además de la descripción y las notas de cada conjunto (p. ej., si sus SVG servidos están normalizados respecto al origen).
El parámetro format en /api/icons/search controla la forma de la respuesta:
json
—
Respuesta completa: id, icon_set, name, style, style_color_method, sizes, identificadores ios/android, svg_url
compact
—
JSON mínimo: icon_set, name, style, url
text
—
Texto plano, un icono por línea (el más eficiente en tokens para IA)
Campos clave de la respuesta JSON:
style_color_method
—
Cómo establecer el color del icono mediante CSS: "fill", "stroke" o "multicolor" (no recoloreable)
svg_url
—
URL relativa al archivo SVG (p. ej., /icons/fluentui/regular/ic_fluent_calendar_24_regular.svg)
ios
—
Identificador de iOS/Swift por tamaño (p. ej., {"24": "calendar24Solid"})
android
—
Identificador de Android/Kotlin por tamaño (p. ej., {"24": "ic_heroicons_calendar_24_solid"})
/api/health
Comprobación de estado. Devuelve la cantidad de iconos y el estado.
/icons/:icon_set/:style/:filename
Sirve un archivo SVG de un icono. Almacenado en caché durante 1 año con cabecera immutable.
Respuesta: image/svg+xml/api/mcp/version
Contrato de versión del cliente MCP: las versiones aceptadas latest y min_supported del servidor MCP, más un mensaje opcional y la URL del changelog. El servidor MCP lo consulta al iniciarse para avisar cuando hay una actualización disponible. Este endpoint se mantiene retrocompatible para que la señal sobreviva a cambios en otros lugares.
/api/maintenance/:task
Desencadena una tarea de mantenimiento. Requiere la cabecera X-API-Key. Limitada a 5 solicitudes cada 5 minutos.
Usa POST /api/maintenance/sync/:icon_set para sincronizar un conjunto concreto (p. ej., fontawesome, fluentui).
task
—
Tarea a ejecutar: sync, clean, cube
X-API-Key
—
Clave de API (cabecera, obligatoria)
Cada respuesta también incluye el contrato de versión MCP actual en las cabeceras, de modo que los clientes se enteran de las actualizaciones incluso desde una respuesta de error:
X-MCP-Latest
—
Versión más reciente publicada del MCP.
X-MCP-Min-Supported
—
Versión más antigua del MCP aún aceptada; por debajo de ella el cliente debería actualizarse.
Para asistentes de IA y LLM, usa el formato text para lograr la máxima eficiencia de tokens. También ofrecemos un servidor MCP para la integración directa con Claude Desktop y Claude Code.
{
"mcpServers": {
"pure-admin-icons": {
"command": "npx",
"args": ["-y", "-p", "@keenmate/pure-admin-icons-mcp", "pure-admin-icons-mcp"]
}
}
}
curl 'https://icons.pureadmin.io/api/icons/search?q=calendar&format=text'
curl 'https://icons.pureadmin.io/api/icons/search?q=pen&size=24&limit=5'
curl 'https://icons.pureadmin.io/api/icons/search?q=arrow&set=heroicons&set=lucide&set=fontawesome'
curl 'https://icons.pureadmin.io/api/icons/5403'
curl 'https://icons.pureadmin.io/api/icon-sets'
const res = await fetch('https://icons.pureadmin.io/api/icons/search?q=calendar&format=compact');
const { results } = await res.json();
console.log(results.map(i => `${i.icon_set}/${i.name}`));
curl -X POST -H "X-API-Key: your-key" 'https://icons.pureadmin.io/api/maintenance/sync/fontawesome'