Welcome to unsignia.io — a simple logo API for developers, designers, and creators. Access a curated collection of technology logos, ready to use in dashboards, apps, blogs, and tools.
-
Curated Collection: Official logos from programming languages, frameworks, cloud providers, and tech companies — standardized and production-ready.
-
Flexible Formats: Get logos in SVG, PNG, JPG, or WebP. Adjust colors, backgrounds, sizes, and quality with simple URL parameters.
-
Easy Integration: A clean, developer-friendly API and straightforward documentation make adding logos effortless.
-
Graceful Fallbacks: If a logo isn't available, a polished placeholder keeps your interface consistent.
-
Always Up-to-Date: Regular updates ensure your visuals stay fresh and accurate.
With unsignia.io, you can focus on what matters — we handle the logos.
Quick start
Getting started with unsignia.io is fast and easy. Our API is designed around a single, flexible endpoint that lets you fetch technology logos by name, variant, format, and more—right from the URL.
-
Fetch Vue JS logo
Fetch the official Vue JS logo in SVG format.
https://unsignia.io/logo/vuejs -
Get plain React logo
Fetch the plain React logo as WebP and black background.
https://unsignia.io/logo/react?variant=plain&background=black&format=webp -
Customize appearance of plain Circle CI logo
Change background, size, or color style using simple query parameters.
https://unsignia.io/logo/circleci?variant=plain&color=%23DE3163&width=64&background=%236495ED&format=webp&quality=100
Whether you need a single logo or want to power an entire gallery, unsignia.io has you covered. Read the docs for more advanced usage and integration tips!
Query parameters
Variant
Type: string
Default: original
Options: varies by logo (e.g., 'original' , 'plain' , 'line' , 'wordmark' , 'original-wordmark' , 'plain-wordmark' )
Specifies which variant of the logo to display. Different logos may have different available variants, including compound variants that combine multiple styles.
e.g., /logo/docker?variant=line
For logos with compound variants, you can use hyphenated values like original-wordmark
to request variants that combine multiple styles. For example:
e.g., /logo/arduino?variant=original-wordmark
When requesting a specific variant, the API attempts to find that variant in the logo's manifest. If the requested variant doesn't exist, it falls back to the default variant (when fallback is enabled).
Width
Type: number
Default: Original width
Range: Any positive number
Sets the width of the logo in pixels. The height will be adjusted proportionally if not specified.
e.g., /logo/docker?width=200
The width parameter allows you to resize logos to match your design requirements. For responsive designs, you might want to request different sizes based on viewport dimensions.
Height
Type: number
Default: Original height
Range: Any positive number
Sets the height of the logo in pixels. The width will be adjusted proportionally if not specified.
e.g., /logo/docker?height=150
You can use both width and height together to set specific dimensions, but be aware this might distort the logo's original aspect ratio.
Color
Type: string
Default: Original colors
Format: CSS color (hex, rgb, rgba, hsl, named colors)
Sets the primary color for the logo, replacing the original colors with the specified one.
e.g., /logo/docker?color=orange
This parameter is particularly useful for SVG logos or when you need to match
the logo to your website's color scheme. You can use any valid CSS color
value, including hex codes like #FF5733 or named colors like steelblue .
Background
Type: string
Default: transparent
Format: CSS color (hex, rgb, rgba, hsl, named colors)
Sets a background color behind the logo.
e.g., /logo/docker?background=lightgray
Adding a background color can help the logo stand out, especially when the logo itself has transparent areas or when placing it on a complex background. This is particularly useful when converting to bitmap formats like PNG or WEBP.
Format
Type: string
Default: svg
Options: 'png' , 'webp' , 'avif'
Converts the logo to the specified image format.
e.g., /logo/docker?format=png
By default, logos are served as SVG for optimal quality at any size. However, you can request bitmap formats for specific use cases. When converting to bitmap formats, you may want to specify the width, height, and quality parameters as well.
Quality
Type: number
Default: 80
Range: 10 to 100
Sets the quality level for bitmap image formats (png, webp, avif).
e.g., /logo/docker?format=webp&quality=90
This parameter is only applicable when the format parameter is also specified. Higher quality values result in better image quality but larger file sizes, while lower values reduce quality but optimize for smaller file sizes.
Fallback
Type: boolean
Default: false
When present, enables fallback to a default logo if the requested logo is not found.
e.g., /logo/nonexistent-logo?fallback
The fallback parameter ensures that your application always receives a valid logo, even when the requested logo doesn't exist in the system. This can be useful for error handling and ensuring consistent UI in your applications.
Meta parameters
The Meta API provides information about the available logos and their properties. These endpoints help you discover content without needing to know the exact details in advance.
Variants
Endpoint: /meta/variants?q=logoName
Method: GET
Query parameter: q (required) - The name of the logo to retrieve variants
for
The variants endpoint returns a list of all available variants for a specific logo. This is useful when you need to know which variants are available for a particular logo without having to parse the full manifest data.
Example request: /meta/variants?q=ansible
Example response:
{
"logo": "ansible",
"displayName": "Ansible",
"variants": [
"original-wordmark",
"original",
"plain-wordmark",
"plain"
]
}
The endpoint uses fuzzy matching on the logo name, so slight misspellings or partial names often still return the correct logo.
Categories
Endpoint: /meta/categories
Method: GET
No query parameters required
The categories endpoint returns a list of all logo categories in the system. This is useful for exploring the available logo collection or building category-based navigation in your application.
Example request: /meta/categories
Example response:
{
"count": 32,
"categories": [
"analytics",
"browser",
"cloud",
"container",
"database",
"design",
"devops",
"framework",
"game-engine",
"icon",
"language",
"library",
"mobile",
"monitoring",
"network",
"os",
"package-manager",
"platform",
"programming",
"search",
"security",
"server",
"social",
"stack",
"technology",
"testing",
"text-editor",
"tool",
"vcs",
"virtualization",
"web",
"webservice"
]
}
Categories help you organize and filter logos by their purpose, technology type, or industry. Many logos belong to multiple categories.
Find
Endpoint: /meta/find?q=logoName
Method: GET
Query parameter: q (required) - The name of the logo to find
The find endpoint uses fuzzy matching to locate a specific logo, returning its complete manifest data. This is useful when you need detailed information about a logo, including all its variants, file formats, and metadata.
Example request: /meta/find?q=docker
Example response (abbreviated):
{
"success": true,
"query": "docker",
"found": true,
"result": {
"name": "docker",
"aliases": ["docker-engine"],
"displayName": "Docker",
"category": ["technology", "container"],
"defaultVariant": "original",
"description": "Docker container platform",
"website": "https://www.docker.com/",
"colors": ["#2496ED"],
"license": "...",
"variants": {
"original": {
"label": "Original",
"type": ["original"],
"files": {
"svg": "docker-[original].svg"
}
},
"plain": {
"label": "Plain",
"type": ["plain"],
"files": {
"svg": "docker-[plain].svg"
}
}
// More variants...
}
}
}
This endpoint is particularly useful for developers who need to understand the full structure of a logo's manifest, or when building tools that work with the complete logo data.
Limitations
For preventing abusive usage, the service has associated a daily rate limit based on requests IP address.
You can verify for your rate limit state checking the following headers in the response:
-
x-rate-limit-limit: The maximum number of requests that the consumer is permitted to make per minute. -
x-rate-limit-remaining: The number of requests remaining in the current rate limit window. -
x-rate-limit-reset: The time at which the current rate limit window resets in UTC epoch seconds.
When you reach the API quota limit, you will experience HTTP 429 errors, meaning you need to wait until the API quota reset. If you need more quota, contact us .