Recherchez des icônes par programmation. Tous les points de terminaison renvoient du JSON. Aucune authentification requise.
/api/icons/search
Rechercher des icônes par nom dans toutes les collections. Prend en charge la recherche en texte intégral, la similarité par trigrammes et la correspondance de synonymes.
q
—
Requête de recherche (obligatoire)
set
—
Filtrer par code de collection d'icônes, ex. fluentui, material, phosphor, tabler, lucide, solar (répétable) — voir /api/icon-sets pour tous les codes
size
—
Filtrer par taille, ex. 16, 20, 24, 28, 32, 48 (la plupart des collections sont évolutives)
style
—
Filtrer par style : outline, filled, thin, light, regular, bold, rounded, sharp, duotone, line-duotone, broken, color, brands (varie selon la collection)
limit
—
Nombre maximal de résultats (par défaut : 50, max : 100)
format
—
Format de réponse : json (par défaut), compact, text
/api/icons/:id
Récupère une seule icône par son ID. Renvoie les métadonnées complètes, notamment les noms de fichiers, les identifiants de plateforme, les catégories, les expressions et les URL SVG pour toutes les tailles.
/api/icon-sets
Lister toutes les collections d'icônes disponibles avec leurs métadonnées : styles, tailles, licence, méthodes de couleur, nombre d'icônes, ainsi que la description et les notes de chaque collection (par exemple si les SVG servis sont normalisés par rapport à la source).
Le paramètre format sur /api/icons/search contrôle la forme de la réponse :
json
—
Réponse complète : id, icon_set, name, style, style_color_method, sizes, identifiants ios/android, svg_url
compact
—
JSON minimal : icon_set, name, style, url
text
—
Texte brut, une icône par ligne (le plus économe en jetons pour l'IA)
Champs clés de la réponse JSON :
style_color_method
—
Comment définir la couleur d'une icône via CSS : "fill", "stroke" ou "multicolor" (non recolorable)
svg_url
—
URL relative vers le fichier SVG (ex. /icons/fluentui/regular/ic_fluent_calendar_24_regular.svg)
ios
—
Identifiant iOS/Swift par taille (ex. {"24": "calendar24Solid"})
android
—
Identifiant Android/Kotlin par taille (ex. {"24": "ic_heroicons_calendar_24_solid"})
/api/health
Vérification de l'état. Renvoie le nombre d'icônes et le statut.
/icons/:icon_set/:style/:filename
Sert un fichier SVG d'icône. Mis en cache pendant 1 an avec un en-tête immutable.
Réponse : image/svg+xml/api/mcp/version
Contrat de version du client MCP : les versions acceptées latest et min_supported du serveur MCP, plus un message facultatif et l'URL du changelog. Le serveur MCP l'interroge au démarrage pour signaler une mise à jour disponible. Cet endpoint reste rétrocompatible afin que le signal survive aux changements ailleurs.
/api/maintenance/:task
Déclenche une tâche de maintenance. Nécessite l'en-tête X-API-Key. Limité à 5 requêtes par 5 minutes.
Utilisez POST /api/maintenance/sync/:icon_set pour synchroniser une collection spécifique (ex. fontawesome, fluentui).
task
—
Tâche à exécuter : sync, clean, cube
X-API-Key
—
Clé API (en-tête, obligatoire)
Chaque réponse porte également le contrat de version MCP actuel dans les en-têtes, afin que les clients soient informés des mises à jour même à partir d'une réponse d'erreur :
X-MCP-Latest
—
Version publiée la plus récente du MCP.
X-MCP-Min-Supported
—
Version la plus ancienne du MCP encore acceptée ; en dessous, un client devrait se mettre à jour.
Pour les assistants IA et les LLM, utilisez le format text pour une efficacité maximale en jetons. Nous fournissons également un serveur MCP pour une intégration directe avec Claude Desktop et 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'