API Documentation¶
Blacklist¶
- GET /v2/client/blacklist¶
Displays current blacklist associated with client key
Note
Blacklist is cached for 10 minutes. If you recently made changes they will appear here within 10 minutes.
Request:
GET https://api.thenounproject.com/v2/client/blacklistResponse:
{ "blacklist": { "collection_ids": [ 1234 ], "icon_ids": [ 42, 143, 1337 ], "search_terms": [ "bad word here", "harry potter", "previous blacklist entry here", "ünîcōdę is šüppørtëd, along with phråses" ] }, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
- POST /v2/client/blacklist/id¶
Accepts array of blacklist ids
- Query Parameters:
type (string) – the blacklist type, values must be either “icon” or “collection” and is set to “icon” by default.
- Parameters:
json (json) – should include “blacklist” which is an array of icon ids or collection ids, and optionally “overwrite” which overwrites the old blacklist if true, and adds to it if false.
Important
Maximum array length of 1,000 per request (5 for free users)
Maximum icon & collection id blacklist length of 20,000 total (5 for free users)
Request:
POST https://api.thenounproject.com/v2/client/blacklist/id?type=iconData:
{ "blacklist": [ 42, 1337 ], "overwrite": false }Response:
{ "blacklist": { "collection_ids": [ 1234 ], "icon_ids": [ 42, 143, 1337 ], "search_terms": [ "bad word here", "harry potter", "previous blacklist entry here", "ünîcōdę is šüppørtëd, along with phråses" ] }, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
- POST /v2/client/blacklist/term¶
Accepts array of blacklist terms and phrases
- Parameters:
json (json) – should include “blacklist” which is an array of terms and phrases, and optionally “overwrite” which overwrites the old blacklist if true, and adds to it if false.
Important
Maximum array length of 1,000 per request (5 for free users)
Maximum search term blacklist length of 20,000 total (5 for free users)
Request:
POST https://api.thenounproject.com/v2/client/blacklist/termData:
{ "blacklist": [ "harry potter", "ünîcōdę is šüppørtëd, along with phråses" ], "overwrite": false }Response:
{ "blacklist": { "collection_ids": [ 1234 ], "icon_ids": [ 42, 143, 1337 ], "search_terms": [ "bad word here", "harry potter", "previous blacklist entry here", "ünîcōdę is šüppørtëd, along with phråses" ] }, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
Reporting¶
- POST /v2/client/report¶
Accepts array of icon ids for reporting icon usage
- Parameters:
json (json) – should include “icons” which is an array of icon ids, and optionally “test” which if true will not record the data supplied.
Important
Max array length of 1,000 per request
Request:
POST https://api.thenounproject.com/v2/client/reportData:
{ "icons": [ 42, 143, 1337 ], "test": true }Response:
{ "message": "You are in test mode.", "test": true, "total_icons_reported": 3, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
Usage¶
- GET /v2/client/usage¶
Returns current client key usage and limits
Request:
GET https://api.thenounproject.com/v2/client/usageResponse:
{ "monthly": { "limit": 5000, "usage": 440 } }
Icon¶
- GET /v2/icon/(int: icon_id)¶
Returns a single icon
- Parameters:
icon_id (int) – icon id
- Query Parameters:
thumbnail_size (int) – the thumbnail size to be returned (42, 84, 200)
blacklist (int) – removes any results matching terms or ids in blacklist
Note
Asset URLs are temporary and will expire within an hour after the call. Following that duration, a new call will be required to retrieve a new asset URL.
Request:
GET https://api.thenounproject.com/v2/icon/1234?thumbnail_size=200Response:
{ "generated_at": "2018-05-10 00:26:42.221427", "icon": { "attribution": "Telephone by John Caserta from Noun Project", "collections": [ { "creator": { "name": "John Caserta", "permalink": "/johncaserta", "username": "johncaserta" }, "id": "5", "name": "Modern Pictograms", "permalink": "/johncaserta/collection/modern-pictograms" } ], "creator": { "name": "John Caserta", "permalink": "/johncaserta", "username": "johncaserta" }, "icon_url": "https://static.thenounproject.com/svg_clean/1234.svg?Expires=1525915602&Signature=ZtepAdnb-RJ-nkKsy3P0f-4rz9zvE59F5z1tDUIOCo6frgKlw7q739zelNpNCgfPnQ4mQzTK1OG9x6DJaC8fkQRLu2zjK3IHQ4NO1sRNW8ZkrRTdM~gXXX2ZGmmOEc7QUPoUGdDd0iZO93CZPFUG-TQ3U2cdLMsS0z6EZuw~LLo_&Key-Pair-Id=APKAI5ZVHAXN65CHVU2Q", "id": "1234", "license_description": "creative-commons-attribution", "permalink": "/term/telephone/1234", "tags": [ "telephone", "communication", "phone", "talking", "tech", "technology" ], "term": "Telephone", "thumbnail_url": "https://static.thenounproject.com/png/1234-200.png" }, "total": 1, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
- GET /v2/icon/(int: icon_id)/download¶
Returns a single icon file of desired color and filetype
- Parameters:
icon_id (int) – icon id
- Query Parameters:
color (string) – hexadecimal color value
filetype (string) – svg or png filetype
size (int) – size of png (minimum of 20, maximum of 1200)
Note
filetype svg does not accept a size
free api access is limited to public domain icons
paid api access will allow you to edit any icon
Request:
GET https://api.thenounproject.com/v2/icon/1/download?color=A3A3A3&filetype=png&size=25Response:
{ "base64_encoded_file": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAEiUlEQVR4nJ1VS4gcZRD+6v/7MdOz47KJBBmIEcKuYkRUIl6UTAeUECSisoOS2UQRWU/G+ACNYG978OJFT5KwGubFwigeFrwEdAZPgZgImx1FEwgxgQjDZJiVeXRP919eutfZh0k2dfopqur7qqrra8JdGDMLIlLlcvktTdM+B+APh8PZmZmZ76rVqszlcuFoPN0FABERnz59+j5N0y5LKVNSSvi+f218fPyhQ4cO9ZkZRMRxjtgqyNzcHAGAruumlDJFRCAiANjWarUMZt6Qs+VOAKBWq2m2bQfFYvG4aZonAAw9z/vgyJEjFWYmAGs62TKI4zjCdV1VLpd3WZa1s9/vPxyG4TCRSFwiIrp58+bZ2dnZYVSbtwwSL7VQKLxkWVaBiMY8zwMRQdd1AIDv+xeUUs/n8/m/446027HOZrMCAJrNpmg0GsHCwsJOZv4mDMMx3/cDIpIAEAQBA8D27dufaLfb7xPRe7VaTQMQ3BLEdV3luq4a9ZXL5flUKjW+srLCQojVfCEEKaXavV5vnJmnImIMAJuCxJ9pqVR6MJlM7u/1ehIAE9FUOp1+rtPpXJBSdk3TfGYwGCgA0DRNDIfDb/v9/ptSyjX1NgWp1+uyWq2y7/tOJpN5tdPpQAgBZsbKygo0TXs9DMMTUkpwxCgixzHJ24LYth0AQLFYfOf69es/+r4PpRTGxsZEv9+/cvTo0aVSqbRNKbVZ+gbbAOI4jshkMjKdTn/KzMu5XO7rzWIAhOv9dwTiOI6WyWRoYmLCGg6HbyilzgCoVKtVo91u89TUlFxaWuJjx455pVIpPrb1Jx4CWNPiGhDXdYPo2SkWi48IIV4rFosvT09Pfx9d8HA0npkhpdRiKSEilUwmtX6/nxyNEyPto1KpvFIul98GgEQi8Q+Aj4joXQBUqVQmFxcXPykUCvfHybquIwzD35RSN5LJJAD86XnexwC+AIBGo8GrIPHBKaX2GYbx5cmTJ61cLtcfDAZ7LMt6kYhUGIYvaJrmSiljbVKmaQLAWSHEVcMwoJQKDx8+/NnMzMwP0WTUKki9Xo/JnTEMI7Qsa1ulUtm3Y8eOn3q93r1R0b3NZvNGPp+/Go2KI0k3mVmP3uQ4jra8vGxsGFe8KCHE7wAkMz/OzB0A14QQ8R72Sikvjq5kJHd1+a7rBs1mc+Pi5+bm2HVdTExMXGm1Wr4QYn8+nz8O4FkAmJ+fTwshHlBKLWCdRR2sd68xEY2CHccRBw8e9Jj5D2beC4BqtVoCAJmmOZlKpSQR/bK+wOh/45YgwH/LJ6LzzPxotVoV9Xrdj0bxWBiGIKKL/1fojkBG7JxlWfd0u92d2WxWRHL9VK/X62Yymb/W69KWQGJZFkL8ahgGhBC7bNsObNsOmPlJAA3btoNTp07FBxwvV8XC+H+jW7346elpBQC6rl/udrsDKeWHpVLpaWYmwzD2BEHwFQAMBoOYmCGEABHpAPRIpTcV3FVnzKLRaLR27959KZ1OH1BKHWBmCCE4CILzADA5ORmn/KyUygohFsMwXPE8b0pKeW50KrH9CxPIMKj1/EicAAAAAElFTkSuQmCC", "content_type": "image/png", "usage_limits": { "monthly": { "limit": 5000, "usage": 183 } } }
- GET /v2/icon¶
Returns a list of icons
- Query Parameters:
query (string) – search term
limit_to_public_domain (int) – limit results to public domain icons only
thumbnail_size (int) – the thumbnail size to be returned (42, 84, 200)
blacklist (int) – removes any results matching terms or ids in blacklist
include_svg (int) – include svgs in the results
limit (int) – maximum number of results
prev_page (string) – token for paging to the previous page
next_page (string) – token for paging to the next page
Important
By default, PNG urls are included. SVG sizes vary from a few hundred bytes to several megabytes. We recommend using PNGs for displaying large numbers of icons at once, and retrieving the SVG for a specific icon when a vector format is needed.
Note
Asset URLs are temporary and will expire within an hour after the call. Following that duration, a new call will be required to retrieve a new asset URL.
Request:
GET https://api.thenounproject.com/v2/icon?query=parking&limit=4&thumbnail_size=84&blacklist=1&next_page=31352E3739393633322C69636F6E2331333534303034Response:
{ "generated_at": "2018-05-15 20:14:50.615761", "icons": [ { "attribution": "Parking by I Like Bears from Noun Project", "collections": [ { "creator": { "name": "I Like Bears", "permalink": "/ilkebrs", "username": "ilkebrs" }, "id": "4459", "name": "Estate Amenities", "permalink": "/ilkebrs/collection/estate-amenities" } ], "creator": { "name": "I Like Bears", "permalink": "/ilkebrs", "username": "ilkebrs" }, "id": "148533", "license_description": "creative-commons-attribution", "permalink": "/term/parking/148533", "tags": [ "parking", "automobile", "car", "taxi", "transport", "transportation", "travel" ], "term": "Parking", "thumbnail_url": "https://static.thenounproject.com/png/148533-84.png" }, { "attribution": "Parking Sign by Vectors Market from Noun Project", "collections": [ { "creator": { "name": "Vectors Market", "permalink": "/vectorsmarket", "username": "vectorsmarket" }, "id": "37560", "name": "Parking Line Icon", "permalink": "/vectorsmarket/collection/parking-line-icon" } ], "creator": { "name": "Vectors Market", "permalink": "/vectorsmarket", "username": "vectorsmarket" }, "id": "1204672", "license_description": "creative-commons-attribution", "permalink": "/term/parking-sign/1204672", "tags": [ "parking-sign", "parking", "parking-area", "parking-space", "parking-zone" ], "term": "Parking Sign", "thumbnail_url": "https://static.thenounproject.com/png/1204672-84.png" }, { "attribution": "car parking by SBTS from Noun Project", "collections": [ { "creator": { "name": "SBTS", "permalink": "/sbts2018", "username": "sbts2018" }, "id": "50788", "name": "Car set1", "permalink": "/sbts2018/collection/car-set1" } ], "creator": { "name": "SBTS", "permalink": "/sbts2018", "username": "sbts2018" }, "id": "1694509", "license_description": "creative-commons-attribution", "permalink": "/term/car-parking/1694509", "tags": [ "car-parking", "no-parking", "parking-lot", "parking-sign", "vehicle-parking" ], "term": "car parking", "thumbnail_url": "https://static.thenounproject.com/png/1694509-84.png" }, { "attribution": "Parking by Pause08 from Noun Project", "collections": [ { "creator": { "name": "Pause08", "permalink": "/Pause08", "username": "Pause08" }, "id": "45832", "name": "Hotel Collection", "permalink": "/Pause08/collection/hotel-collection" } ], "creator": { "name": "Pause08", "permalink": "/Pause08", "username": "Pause08" }, "id": "1541332", "license_description": "creative-commons-attribution", "permalink": "/term/parking/1541332", "tags": [ "parking", "car-parking", "hotel", "service", "travel" ], "term": "Parking", "thumbnail_url": "https://static.thenounproject.com/png/1541332-84.png" } ], "next_page": "31332E3932333137352C69636F6E2331353431333332", "prev_page": "31352E3635353936352C69636F6E23313438353333", "total": 1009, "usage_limits": { "monthly": { "limit": 5000, "usage": 440 } } }
Collection¶
- GET /v2/collection¶
Returns a list of collections
- Query Parameters:
query (string) – search term
blacklist (int) – removes any results matching terms or ids in blacklist
limit (int) – maximum number of results
prev_page (string) – token for paging to the previous page
next_page (string) – token for paging to the next page
Request:
GET https://api.thenounproject.com/v2/collection?query=winter&limit=3&blacklist=1Response:
{ "collections": [ { "creator": { "name": "Tamiko Young", "permalink": "/tamikoy1", "username": "tamikoy1" }, "icon_count": 15, "id": "56", "name": "Winter Olympicons", "permalink": "/tamikoy1/collection/winter-olympicons", "tags": [ "athlete", "sport", "olympics", "sports", "winter" ] }, { "creator": { "name": "Matt Brooks", "permalink": "/Mattebrooks", "username": "Mattebrooks" }, "icon_count": 24, "id": "155", "name": "Christmas Icons", "permalink": "/Mattebrooks/collection/christmas-icons", "tags": [ "snow", "winter", "vacation", "christmas", "holiday" ] }, { "creator": { "name": "Factorio.us collective", "permalink": "/factorious", "username": "factorious" }, "icon_count": 16, "id": "51", "name": "Xmas Icons", "permalink": "/factorious/collection/xmas-icons", "tags": [ "christmas", "holiday", "winter", "decoration", "celebrate" ] } ], "generated_at": "2023-11-16 23:22:43.311288", "total": 3, "usage_limits": { "monthly": { "limit": 5000, "usage": 385 } } }
- GET /v2/collection/(int: collection_id)¶
Returns a single collection
- Parameters:
collection_id (int) – collection id
- Query Parameters:
blacklist (int) – removes any results matching terms or ids in blacklist
thumbnail_size (int) – the thumbnail size to be returned (42, 84, 200)
include_svg (int) – include svgs in the results
limit (int) – maximum number of icon results
prev_page (string) – token for paging to the previous page of icons
next_page (string) – token for paging to the next page of icons
Request:
GET https://api.thenounproject.com/v2/collection/10/?thumbnail_size=42&limit=2&blacklist=1Response:
{ "collection": { "creator": { "name": "Adam Whitcroft", "permalink": "/adamwhitcroft", "username": "adamwhitcroft" }, "icon_count": 72, "icons": [ { "attribution": "Wind by Adam Whitcroft from Noun Project", "collections": [ { "creator": { "name": "Adam Whitcroft", "permalink": "/adamwhitcroft", "username": "adamwhitcroft" }, "id": "10", "name": "Climacons", "permalink": "/adamwhitcroft/collection/climacons" } ], "creator": { "name": "Adam Whitcroft", "permalink": "/adamwhitcroft", "username": "adamwhitcroft" }, "id": "2708", "license_description": "creative-commons-attribution", "permalink": "/term/wind/2708", "tags": [ "wind", "gale", "weather", "climacons", "gust" ], "term": "Wind", "thumbnail_url": "https://static.test.thenounproject.com/png/2708-42.png" }, { "attribution": "Umbrella by Adam Whitcroft from Noun Project", "collections": [ { "creator": { "name": "Adam Whitcroft", "permalink": "/adamwhitcroft", "username": "adamwhitcroft" }, "id": "10", "name": "Climacons", "permalink": "/adamwhitcroft/collection/climacons" } ], "creator": { "name": "Adam Whitcroft", "permalink": "/adamwhitcroft", "username": "adamwhitcroft" }, "id": "2707", "license_description": "creative-commons-attribution", "permalink": "/term/umbrella/2707", "tags": [ "umbrella", "weather", "climacons", "rain", "brolly" ], "term": "Umbrella", "thumbnail_url": "https://static.test.thenounproject.com/png/2707-42.png" } ], "id": "10", "name": "Climacons", "next_page": "312E302C32373037", "permalink": "/adamwhitcroft/collection/climacons", "tags": [ "weather", "climacons", "cloud", "climate", "moon" ] }, "generated_at": "2024-01-09 11:20:21.886092", "total": 1, "usage_limits": { "monthly": { "limit": 5000, "usage": 130 } } }
Autocomplete¶
- GET /v2/icon/autocomplete¶
Returns a list of terms
- Query Parameters:
query (string) – term
blacklist (int) – removes any results matching terms in blacklist
limit (int) – maximum number of results
Note
Maximum limit of 10
Request:
GET https://api.thenounproject.com/v2/icon/autocomplete?query=engine&blacklist=1&limit=5Response:
{ "generated_at": "2023-01-31 23:59:49.045512", "suggestions": [ "engine coolant", "engine filter", "engine valves", "engineer", "engineering" ], "usage_limits": { "monthly": { "limit": 5000, "usage": 189 } } }