Integrate Icons & Graphics Into Your Applications

Access thousands of professionally designed icons, SVG vectors, and animated GIFs through our simple RESTful API.

39,000+ Graphics
99.9% Uptime
133+ Collections

Authentication

All requests to the IcoSix API require an API key. To obtain your API key, fill out the form below or contact our support team.

Important

Keep your API key secure and do not share it publicly. Each API key is tied to a specific account and rate limits.

Authentication Example

curl -X GET \
  "https://api.icosix.com/v1/graphics.php" \
  -H "X-API-Key: YOUR_API_KEY"

API Endpoints

The IcoSix API provides several endpoints to access icons, SVG vectors, and animated GIFs. All endpoints are accessible via HTTPS and return data in JSON format.

Get All Graphics

GET https://api.icosix.com/v1/graphics.php

Retrieve a paginated list of all available graphics. Results can be filtered by type, category, and other parameters.

Parameters

Name Type Required Description
page Integer No Page number for pagination (default: 1)
per_page Integer No Number of items per page (default: 10, max: 100)
type String No Filter by type (e.g., "svg", "icon", "gif")
sort String No Sort order (options: "newest", "oldest", "popular")

Search Graphics

GET https://api.icosix.com/v1/graphics.php?search

Search for graphics using keywords, tags, or specific criteria.

Parameters

Name Type Required Description
query String Yes Search term (e.g., "file icon")
page Integer No Page number for pagination (default: 1)
per_page Integer No Number of items per page (default: 10, max: 100)
filter String No Filter criteria (e.g., "latest", "trending", "featured")

Get Collections

GET https://api.icosix.com/v1/collections.php

Retrieve available graphic collections. Collections are curated sets of graphics organized by theme or topic.

Parameters

Name Type Required Description
page Integer No Page number for pagination (default: 1)
per_page Integer No Number of items per page (default: 10, max: 50)

Get Graphic

GET https://api.icosix.com/v1/graphics.php?{id}

Retrieve detailed information about a specific graphic by its ID.

Parameters

Name Type Required Description
id String Yes Unique identifier of the graphic

Response Format

All API responses are returned in JSON format. Each response includes a status field and a data field containing the requested information.

Example Response

{
  "status": "success",
  "data": {
    "graphic": {
      "id": "g1",
      "title": "File SVG Vector",
      "description": "A detailed file icon in SVG format",
      "category": "File Graphics",
      "type": "svg",
      "url": "https://api.icosix.com/v1/graphics.php?g1.svg",
      "thumbnail_url": "https://api.icosix.com/v1/graphics.php?g1.png",
      "created_at": "2025-03-12T10:30:00Z"
    }
  }
}

Error Responses

When an error occurs, the API returns a JSON response with a status field set to "error" and an error message explaining what went wrong.

Error Response Example

{
  "status": "error",
  "message": "Invalid API key",
  "code": 401
}

Rate Limiting

To ensure the stability and availability of the API, we enforce rate limits on the number of requests that can be made. Rate limits vary based on your subscription plan.

Plan Rate Limit Daily Quota
Free 60 requests/hour 500 requests/day
Basic 300 requests/hour 5,000 requests/day
Premium 1,000 requests/hour 25,000 requests/day
Enterprise Custom Custom

When you exceed your rate limit, the API will return a 429 Too Many Requests response with information about when you can resume making requests.

Rate Limit Headers

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1714521600

Pricing

Choose the plan that best fits your needs. All plans include access to our core API features with varying rate limits and additional features.

Free

$0

forever

  • 500 requests per day
  • Access to public graphics
  • Standard resolution
  • PNG format only
  • No commercial use
Get Started

Premium

$49

per month

  • 25,000 requests per day
  • Access to all graphics
  • 4K resolution
  • All formats (PNG, SVG, ICO, GIF)
  • Commercial use
  • Priority support
  • Custom webhooks
Subscribe Now

Enterprise

Need a custom solution? Contact us for a tailored plan that meets your specific requirements.

Contact Sales

Code Examples

Use our code examples to quickly integrate the IcoSix API into your application.

// Using fetch API
const apiKey = 'YOUR_API_KEY';
const apiUrl = 'https://api.icosix.com/v1/graphics.php';

fetch(apiUrl, {
  method: 'GET',
  headers: {
    'X-API-Key': apiKey,
    'Content-Type': 'application/json'
  }
})
.then(response => response.json())
.then(data => {
  console.log('Success:', data);
  // Process your data here
})
.catch(error => {
  console.error('Error:', error);
});
import requests

api_key = 'YOUR_API_KEY'
api_url = 'https://api.icosix.com/v1/graphics.php'

headers = {
    'X-API-Key': api_key,
    'Content-Type': 'application/json'
}

response = requests.get(api_url, headers=headers)

if response.status_code == 200:
    data = response.json()
    print('Success:', data)
    # Process your data here
else:
    print('Error:', response.status_code, response.text)
$api_key = 'YOUR_API_KEY';
$api_url = 'https://api.icosix.com/v1/graphics.php';

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => $api_url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-API-Key: ' . $api_key,
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo 'Error: ' . $err;
} else {
    $data = json_decode($response, true);
    echo 'Success: ';
    print_r($data);
    // Process your data here
}
require 'net/http'
require 'uri'
require 'json'

api_key = 'YOUR_API_KEY'
api_url = 'https://api.icosix.com/v1/graphics.php'

uri = URI(api_url)
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = api_key
request['Content-Type'] = 'application/json'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

if response.code == '200'
  data = JSON.parse(response.body)
  puts 'Success: ' + data.to_s
  # Process your data here
else
  puts 'Error: ' + response.code + ' ' + response.body
end