REST API
Read-only JSON API for icons and categories. Base URL: https://iconfold.com/api
Authentication
Every request needs an API key. Create one on your profile page and send it in the X-API-Key header. Authorization: Bearer … works too.
curl -H "X-API-Key: iv_your_key_here" "https://iconfold.com/api/icons?per_page=5"
Rate limits
Each key can make 1,000 requests per hour. Anonymous requests share a lower limit per IP address. Every response includes X-RateLimit-Limit; going over returns HTTP 429.
Response format
Responses are JSON with a data field and, for lists, a meta field with pagination.
{
"data": [
{
"id": 109,
"name": "Home",
"slug": "fingerprint",
"category": "UI & UX",
"style": "outline",
"license": "Free for commercial use",
"premium": false,
"downloads": 1204,
"svg_url": "https://iconfold.com/svg/fingerprint.svg",
"url": "https://iconfold.com/icon/fingerprint"
}
],
"meta": { "page": 1, "per_page": 24, "total": 173, "total_pages": 8 }
}
GET /icons
List published icons. Supports the same filters as the website.
| Parameter | Description |
|---|---|
page | Page number, default 1 |
per_page | 1 to 100, default 24 |
category | Category slug |
tag | Tag slug |
style | outline, bold, duotone, color… |
color | monochrome, multicolor, red, blue… |
license | free or premium |
sort | popular, newest, downloads, az |
include_svg | 1 to embed SVG markup in each item (free icons only) |
GET https://iconfold.com/api/icons?category=weather&per_page=2
GET /icons/{id or slug}
One icon with tags, license and SVG markup (free icons, or premium icons your account owns).
GET https://iconfold.com/api/icons/fingerprint
GET /categories
All categories with icon counts.
GET https://iconfold.com/api/categories
GET /search?q=
Full-text search over names, tags, keywords and categories. Accepts the /icons filters too.
| Parameter | Description |
|---|---|
q | Search term, required |
GET https://iconfold.com/api/search?q=arrow
Errors
Errors use standard HTTP status codes with a body like {"error": {"code": 401, "message": "…"}}: 401 for a missing or invalid key, 403 for premium content you do not own, 404 when nothing matches and 429 when you exceed the limit.