Crypto Logos API Documentation
Introduction
The Crypto Logos API provides access to the major cryptocurrency and blockchain project logos. This RESTful API allows you to fetch logos, filter by category, search by name, and retrieve category information.
Base URL
TypeScript
You can use the following types for the API responses:
1type LogoFileFormat = 'svg'
2 | 'png'
3 | 'jpg'
4 | 'webp'
5 | 'unknown';
6
7enum LogosSortBy {
8 NameAsc = 'name-asc',
9 NameDesc = 'name-desc',
10}
11
12interface LogoAsset {
13 url: string;
14 format: LogoFileFormat;
15}
16
17interface LogoVariantGroup {
18 light: LogoAsset[];
19 dark?: LogoAsset[];
20}
21
22interface LogoDownloadableFiles {
23 icon: LogoVariantGroup;
24 text?: LogoVariantGroup;
25}
26
27interface LogoItem {
28 id: string;
29 name: string;
30 mainCategory: string;
31 secondaryCategories: string[];
32 logo: LogoDownloadableFiles;
33 websiteLink?: string;
34 brandKitLink?: string;
35}
36
37interface CategoryListItem {
38 id: string;
39 name: string;
40 count: number;
41}
42
43interface ListResponse<T> {
44 data: T[];
45 total: number;
46}Endpoints
/api/logos
Retrieve a paginated list of logos with optional filtering by category, search query, and pagination parameters.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category (case-insensitive). Matches both main and secondary categories. |
| search | string | Search logos by name (case-insensitive substring match). |
| sortBy | LogosSortBy | Sort logos by name in ascending or descending order. Default is 'name-asc'. |
| limit | number | Maximum number of items to return. If omitted, returns all items. |
| skip | number | Number of items to skip for pagination. Default is 0. |
Request
curl {{baseUrl}}/api/logosResponse
1{
2 "data": [
3 {
4 "id": "nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e",
5 "name": "Azuki Elementals",
6 "symbol": "ELEM",
7 "websiteLink": "https://www.azuki.com",
8 "logo": {
9 "icon": {
10 "light": [
11 {
12 "url": "/library/icon_light_nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e.png",
13 "format": "png"
14 }
15 ]
16 }
17 },
18 "mainCategory": {
19 "id": "nft",
20 "name": "NFT"
21 },
22 "secondaryCategories": [
23 {
24 "id": "tokens",
25 "name": "tokens"
26 }
27 ]
28 },
29 {
30 "id": "nft_solana_4d3f3ecf1ba60fb5bfe314afb5d3f8b5",
31 "name": "Doodle Devils Drip 2025",
32 "symbol": "",
33 "logo": {
34 "icon": {
35 "light": [
36 {
37 "url": "/library/icon_light_nft_solana_4d3f3ecf1ba60fb5bfe314afb5d3f8b5.png",
38 "format": "png"
39 }
40 ]
41 }
42 },
43 "mainCategory": {
44 "id": "nft",
45 "name": "NFT"
46 },
47 "secondaryCategories": [
48 {
49 "id": "tokens",
50 "name": "tokens"
51 }
52 ]
53 }
54 // ...other items
55 ],
56 "total": 14714
57}/api/logos?limit=10&skip=0
Get a limited number of logos with pagination. Use the limit parameter to control page size and skip for offset-based pagination.
Request
curl "{{baseUrl}}/api/logos?limit=10&skip=0"Response
1{
2 "data": [
3 {
4 "id": "nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e",
5 "name": "Azuki Elementals",
6 "symbol": "ELEM",
7 "websiteLink": "https://www.azuki.com",
8 "logo": {
9 "icon": {
10 "light": [
11 {
12 "url": "/library/icon_light_nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e.png",
13 "format": "png"
14 }
15 ]
16 }
17 },
18 "mainCategory": {
19 "id": "nft",
20 "name": "NFT"
21 },
22 "secondaryCategories": [
23 {
24 "id": "tokens",
25 "name": "tokens"
26 }
27 ]
28 }
29 // ... 9 more items
30 ],
31 "total": 14714
32}/api/logos?category=nft
Filter logos by a specific category. Category matching is case-insensitive and searches both main and secondary categories.
Request
curl "{{baseUrl}}/api/logos?category=nft"Response
1{
2 "data": [
3 {
4 "id": "nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e",
5 "name": "Azuki Elementals",
6 "symbol": "ELEM",
7 "websiteLink": "https://www.azuki.com",
8 "logo": {
9 "icon": {
10 "light": [
11 {
12 "url": "/library/icon_light_nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e.png",
13 "format": "png"
14 }
15 ]
16 }
17 },
18 "mainCategory": {
19 "id": "nft",
20 "name": "NFT"
21 },
22 "secondaryCategories": [
23 {
24 "id": "tokens",
25 "name": "tokens"
26 }
27 ]
28 },
29 {
30 "id": "nft_solana_4d3f3ecf1ba60fb5bfe314afb5d3f8b5",
31 "name": "Doodle Devils Drip 2025",
32 "symbol": "",
33 "logo": {
34 "icon": {
35 "light": [
36 {
37 "url": "/library/icon_light_nft_solana_4d3f3ecf1ba60fb5bfe314afb5d3f8b5.png",
38 "format": "png"
39 }
40 ]
41 }
42 },
43 "mainCategory": {
44 "id": "nft",
45 "name": "NFT"
46 },
47 "secondaryCategories": [
48 {
49 "id": "tokens",
50 "name": "tokens"
51 }
52 ]
53 }
54 // ...other items
55 ],
56 "total": 5163
57}/api/logos?search=Azuki
Search for logos by name. The search performs a case-insensitive substring match against logo names.
Request
curl "{{baseUrl}}/api/logos?search=Azuki"Response
1{
2 "data": [
3 {
4 "id": "nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e",
5 "name": "Azuki Elementals",
6 "symbol": "ELEM",
7 "websiteLink": "https://www.azuki.com",
8 "logo": {
9 "icon": {
10 "light": [
11 {
12 "url": "/library/icon_light_nft_eth_0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e.png",
13 "format": "png"
14 }
15 ]
16 }
17 },
18 "mainCategory": {
19 "id": "nft",
20 "name": "NFT"
21 },
22 "secondaryCategories": [
23 {
24 "id": "tokens",
25 "name": "tokens"
26 }
27 ]
28 }
29 ],
30 "total": 1
31}/api/categories
Retrieve a list of all available categories with their logo counts. Useful for building category filters or navigation.
Request
curl {{baseUrl}}/api/categoriesResponse
1[
2 {
3 "id": "nft",
4 "name": "NFT",
5 "count": 5163
6 },
7 {
8 "id": "tokens",
9 "name": "tokens",
10 "count": 13181
11 }
12]Notes
- All query parameters are optional unless specified otherwise
- Category and search filters can be combined for more specific results
- The API returns image URLs that can be directly used in your application
- Responses include both light and dark variants when available
- Some logos include wordmark/text variants in the logo field