Back to Home

About

Icon Index is a index of icons from web icon packs. The goal is to make it easier to find packs containing the icons you want in the styles you want. This type of icon are completely un-indexed (apart from on their creators' website) so it's hopefully a useful tool. Feedback and comments are more than welcome.

Please note that I have no affiliation with any of the icon packs I index.


Search

Icon Index currently supports searching icons by keyword and/or framework. Additionally, it offers two advanced options powered by fuse.js: extended search, which uses simple regex-like syntax for more advanced queries (see examples on the fuse.js website), and fuzzy match which matches icons containing substrings of the search term.


API


/icons

Endpoint for searching icons. Supports GET requests. Returns JSON. All options are intended to be in the query string. Available at https://tmtvan5cd2.execute-api.eu-west-2.amazonaws.com/prod/icons currently. CORS is enabled.

Options

  • keywords - Keywords to search for. Interpreted as plain text
  • extendedSearch - Enable/disable extended search. Expects JS style boolean value. Default is disabled.
  • frameworkIDs - Comma separated list of valid framework IDs (from the icon pack list)
  • fuzzyMatch - Enable/disable fuzzy match. Expects JS style boolean value. Default is disabled.
  • startNum - Starting number, used as a primitive form of pagination.

Success Return object

{
    "items": [
               {
                   "item": {
                               "className": "fab fa-accessible-icon",
                               "charName": "\\f368", 
                               "frameworkID": 0, 
                               "id": "accessible icon", 
                               "prefix": "fa"
                           }
               }
               ... // Upto 99 more icon records
           ],
    "frameworkURLs": [ // URLs for every icon pack in the returned results
        ""
    ],
    "totalResults": 100, // The amount of results in total
    "remainingResults": 10, // Results that haven't been returned yet
    "startNum": 0 // the same startNum provided in the query
}

Errors
Errors always return status code 500 and a error message.

{"error": "Invalid framework ID supplied"}
The frameworkIDs param didn't consist of purely numbers and commas as expected
{"error": "No search filters supplied"}
The backend expects either the frameworkIDs or keywords to be supplied. Both of these were missing.