Developers

An icon API you can build on

Everything the icon library does is available over plain JSON REST. Search and fetch without an account under per-minute IP limits, or generate a free key below for 1,000 calls a month.

Quick start

Your first call, in under a minute

curl - no key needed
curl "https://iconvault.site/api/iconify/search?query=shopping%20cart&limit=5"
curl - with your key
curl "https://iconvault.site/api/iconify/search?query=shopping%20cart&limit=20" \
  -H "x-api-key: ivk_live_YOUR_KEY_HERE"

# or: -H "Authorization: Bearer ivk_live_YOUR_KEY_HERE"

Keys

Your API keys

Reference

Endpoints

GET/api/iconify/searchFull-text search across every indexed set. Params: query, limit, start, prefix.
GET/api/icon/:prefix/:name.svgRaw SVG for one icon. Params: color, width, height.
POST/api/iconsBatch icon bodies. Body: { icons: ["mdi:cart", "lucide:heart"] }.
GET/api/iconify/collectionsList every icon set with totals and licences.
GET/api/iconify/collection/:prefixAll icon names in one set, with categories and aliases.

Platform

Built for production traffic

Keys that work

Generate a key above in one click. Read-only or read-write scope, revocable instantly, usage metered per key.

Honest rate limits

Keyless: 120 searches, 240 icon fetches and 120 batch calls per minute per IP. Keyed: 1,000 calls per key per month.

Cached at the edge

SVG responses are immutable and CDN-cached, so repeat fetches are fast and never touch your quota.

No SDK required

Plain JSON over HTTPS with CORS enabled. fetch and a key header is the whole integration.

Responses

Predictable shapes, predictable errors

200 search response
{
  "icons": ["mdi:cart", "mdi:cart-outline", "..."],
  "total": 412,
  "limit": 20,
  "start": 0,
  "collections": { "mdi": { "name": "Material Design Icons", "...": "..." } }
}
401 invalid key
HTTP/1.1 401 Unauthorized

{ "error": "Invalid API key." }

# Other key errors:
# "This API key has been revoked."
# 429: "Monthly API quota exhausted. Usage resets
#      30 days after the period started."

Questions

API FAQ

No. Every endpoint works keyless under per-minute IP limits (120 searches, 240 icon fetches, 120 batch calls). An account just gets you a key with 1,000 calls a month and no per-minute cap.

One JSON request with your key is one unit against that key's monthly quota. Repeat SVG fetches served from the edge cache are free.

Use a read-only key and keep it to low-traffic pages, or proxy through your own backend. Never ship a read-write key in client-side code.

It stops working immediately and cannot be restored. Generate a fresh one and update the places that used the old key.

Generate your first key

Sign in, pick a name, and your key is ready in seconds with a 1,000-call monthly quota.