GET https://api.iconscout.com/v3/items/{item}
Retrieve full metadata for a single asset by its UUID.
The UUID can be obtained from search results (response.items.data[].uuid).
Get icon details before download:
GET /v3/items/a1b2c3d4-e5f6-7890-abcd-ef1234567890
Get Lottie animation with additional technical info:
GET /v3/items/a1b2c3d4-e5f6-7890-abcd-ef1234567890?additional_informations=true
| Name | In | Type | Notes |
|---|---|---|---|
item | path | string | required UUID of the asset. Obtain from search results ( response.items.data[].uuid). |
additional_informations | query | boolean | optional; default falseSet to true to include extra technical metadata such as animation duration (Lottie), dimensions, and asset-specific details. |
| Status | Meaning |
|---|---|
200 | Asset detail object |
401 | Unauthorized — missing or invalid Client-ID. data.reason is invalid_credentials. |
404 | No asset with that UUID. data.reason is item_not_found. |
429 | Rate limit exceeded for this client. data.reason is rate_limit_exceeded.
Limits are per client, per product family and per method, and are set by your plan — support can raise them for an individual client. This operation needs only Client-ID, but the plan limit applies only when the request also carries your Client-Secret. With Client-ID alone the caller cannot be verified, so it gets the unverified limit (60 reads a minute), counted per client id and address. Read the X-RateLimit-* headers, which are returned on every response the limiter admits and not only this one, rather than hard-coding a number; back off on Retry-After. They are absent only where the call is refused before the limiter runs — a 401 on invalid credentials.
Distinct from the credit allowance, which refuses with quota_exhausted and is not cleared by waiting. |
curl -X GET 'https://api.iconscout.com/v3/items/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
-H 'Client-ID: your-client-id'curl -X GET 'https://api.iconscout.com/v3/items/a1b2c3d4-e5f6-7890-abcd-ef1234567890?additional_informations=true' \
-H 'Client-ID: your-client-id'const uuid = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890';
const res = await fetch(
`https://api.iconscout.com/v3/items/${uuid}`,
{ headers: { 'Client-ID': 'your-client-id' } }
);
const { response } = await res.json();
console.log(response.item.name, response.item.urls);import requests
uuid = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
resp = requests.get(
f'https://api.iconscout.com/v3/items/{uuid}',
headers={'Client-ID': 'your-client-id'},
)
item = resp.json()['response']['item']
print(item['name'], item['urls'])
Try it in the interactive reference →