Loading icons...

API

Recherchez des icônes par programmation. Tous les points de terminaison renvoient du JSON. Aucune authentification requise.

Icônes

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

Paramètres
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
GET /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.

Collections d'icônes

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

Formats de réponse

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 de réponse

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

Autres points de terminaison

GET /api/health

Vérification de l'état. Renvoie le nombre d'icônes et le statut.

Essayez : /api/health
GET /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
GET /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.

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

Paramètres
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.

Intégration IA / LLM

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.

Serveur MCP (Claude Desktop / Claude Code)

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

Point de terminaison adapté aux LLM

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

Documentation lisible par machine

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

Exemples d'utilisation

Rechercher des icônes

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

Filtrer par plusieurs collections d'icônes

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

Récupérer le détail d'une icône

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

Lister les collections d'icônes

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

Déclencher une synchronisation (authentifié)

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