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.

ParameterDescription
pagePage number, default 1
per_page1 to 100, default 24
categoryCategory slug
tagTag slug
styleoutline, bold, duotone, color…
colormonochrome, multicolor, red, blue…
licensefree or premium
sortpopular, newest, downloads, az
include_svg1 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.

ParameterDescription
qSearch 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.