Developer Resources

API Referenz – Programmatischer Zugriff

Premium Icons für moderne Interfaces

The IconSphere REST API provides programmatic access to our library of 42,000+ premium icons across 380 curated packs. Use it to search, preview, and license icons directly from your applications, design tools, or CI/CD pipelines. Base URL: https://api.iconsphere.io/v1

Getting Started

Authentication

All API requests require authentication via an API key. Generate your key from the Dashboard → API Settings panel. Include it in every request using the Authorization header:

Authorization: Bearer is_live_sk_8f3a9c2d1e7b4f6a0d5c8e2b9f1a3d7e

Two key scopes are available: is_test_sk_* for sandbox testing with mock responses, and is_live_sk_* for production access. Rotate keys quarterly; expired keys return HTTP 401 with {"error":"invalid_api_key"}. Never expose live keys in client-side code.

Core Resources

Endpoints

The API exposes four primary resource groups. All responses are JSON-encoded with charset=utf-8.

GET

/icons/search

Search the icon library by keyword, tag, or pack ID. Supports pagination (limit up to 100, offset). Returns icon metadata including slug, dimensions, format (SVG, PNG, WebP), and license tier.

GET

/icons/{slug}

Retrieve full details for a specific icon by its slug (e.g., arrow-north-east-bold). Includes color variants, stroke weight options, and associated pack information. Returns 404 if the slug is not found.

GET

/packs

List all available icon packs. Filter by category (ui, maps, finance, medical, social) or by author. Each pack entry includes icon count, license type, and preview URLs.

GET

/packs/{id}/icons

Fetch every icon within a specific pack. Useful for bulk imports into design systems. Returns a paginated array of icon objects with thumbnail URLs and download tokens.

POST

/licensing/checkout

Initiate a license checkout for one or more icons. Accepts an array of icon slugs and a target license tier (personal, commercial, enterprise). Returns a Stripe Checkout session URL.

GET

/me/licenses

List all active licenses tied to the authenticated API key. Returns license ID, associated icons, tier, activation date, and expiration. Enterprise licenses include seat count and domain restrictions.

Usage Policy

Rate Limits

Rate limits are enforced per API key and vary by subscription tier. Exceeding a limit returns HTTP 429 with a Retry-After header.

Free Tier

60 requests per minute. 1,000 requests per day. Access to public icon metadata only — no download tokens. Suitable for prototyping and evaluation.

Pro Tier

600 requests per minute. 50,000 requests per day. Full search, preview, and download access. Includes webhook support for license events.

Enterprise Tier

5,000 requests per minute. Unlimited daily requests. Dedicated rate-limit bucket with burst allowance of 12,000 req/min. Includes SLA guarantee and priority support via api-support@iconsphere.io.

Current usage is reported in every response via the X-RateLimit-Remaining and X-RateLimit-Reset headers. Monitor these to implement client-side backoff before hitting the ceiling.

Code Samples

Request & Response Examples

Concrete examples for the most common API workflows.

Search Icons

GET /icons/search?q=calendar&limit=3

Request:
GET https://api.iconsphere.io/v1/icons/search?q=calendar&limit=3

Response (200):

{
  "data": [
    {
      "slug": "calendar-month-outline",
      "pack_id": "pack_7f2a1c",
      "pack_name": "Horizon UI Essentials",
      "formats": ["svg", "png", "webp"],
      "license_tier": "commercial",
      "tags": ["date", "schedule", "event"]
    },
    {
      "slug": "calendar-check-bold",
      "pack_id": "pack_3e9d0f",
      "pack_name": "Nimbus Finance",
      "formats": ["svg", "png"],
      "license_tier": "commercial",
      "tags": ["confirmed", "booking", "appointment"]
    },
    {
      "slug": "calendar-plus-duotone",
      "pack_id": "pack_7f2a1c",
      "pack_name": "Horizon UI Essentials",
      "formats": ["svg", "png", "webp"],
      "license_tier": "personal",
      "tags": ["create", "new-event", "add"]
    }
  ],
  "meta": {
    "total_results": 184,
    "limit": 3,
    "offset": 0
  }
}

Retrieve Icon Details

GET /icons/calendar-month-outline

Request:
GET https://api.iconsphere.io/v1/icons/calendar-month-outline

Response (200):

{
  "slug": "calendar-month-outline",
  "pack_id": "pack_7f2a1c",
  "dimensions": { "width": 24, "height": 24 },
  "viewBox": "0 0 24 24",
  "stroke_weight": 1.5,
  "color_variants": ["monochrome", "duotone", "filled"],
  "formats": {
    "svg": "https://cdn.iconsphere.io/v1/svg/calendar-month-outline.svg",
    "png_24": "https://cdn.iconsphere.io/v1/png/calendar-month-outline-24.png",
    "png_48": "https://cdn.iconsphere.io/v1/png/calendar-month-outline-48.png",
    "webp": "https://cdn.iconsphere.io/v1/webp/calendar-month-outline.webp"
  },
  "download_token": "dt_9k3m2x7p4q1w"
}

License Checkout

POST /licensing/checkout

Request Body:

{
  "icons": [
    "calendar-month-outline",
    "calendar-check-bold",
    "arrow-north-east-bold"
  ],
  "license_tier": "commercial",
  "success_url": "https://myapp.io/checkout/success",
  "cancel_url": "https://myapp.io/checkout/cancel"
}

Response (200):
{
  "checkout_session_id": "cs_live_8f2a9d3e1b7c",
  "stripe_url": "https://checkout.stripe.com/pay/cs_live_8f2a9d3e1b7c",
  "expires_at": "2025-07-12T14:30:00Z",
  "total_usd": 29.00
}

Error Response

HTTP 429 – Rate Limit Exceeded

Headers:
Retry-After: 23
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1718157600

Body:

{
  "error": "rate_limit_exceeded",
  "message": "You have exceeded 60 requests per minute. Retry after 23 seconds.",
  "documentation_url": "https://docs.iconsphere.io/rate-limits"
}

SDKs & Integrations

Official client libraries are available for JavaScript/Node.js (@iconsphere/sdk), Python (pip install iconsphere), and Ruby (gem install iconsphere-ruby). All SDKs handle authentication, pagination, and automatic retry on 429 responses.

Read Full Documentation Generate API Key