Loading icons...

API

Busca iconos mediante programación. Todos los endpoints devuelven JSON. No se requiere autenticación.

Iconos

GET /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.

Parámetros
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
GET /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.

Conjuntos de iconos

GET /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).

Formatos de respuesta

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 de respuesta

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"})

Otros endpoints

GET /api/health

Comprobación de estado. Devuelve la cantidad de iconos y el estado.

GET /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
GET /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.

POST /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).

Parámetros
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.

Integración con IA / LLM

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.

Servidor MCP (Claude Desktop / Claude Code)

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

Endpoint compatible con LLM

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

Documentación legible por máquina

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

Ejemplos de uso

Buscar iconos

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

Filtrar por varios conjuntos de iconos

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

Obtener detalle de un icono

curl 'https://icons.pureadmin.io/api/icons/5403'

Listar conjuntos de iconos

curl 'https://icons.pureadmin.io/api/icon-sets'

JavaScript

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}`));

Desencadenar sincronización (autenticado)

curl -X POST -H "X-API-Key: your-key" 'https://icons.pureadmin.io/api/maintenance/sync/fontawesome'