Your source for technology logos.
High-quality logos, flexible formats, no hassle.

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.
    Vue JS logo

    https://unsignia.io/logo/vuejs

  • Get plain React logo

    Fetch the plain React logo as WebP and black background.
    React logo

    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.
    Circle CI logo

    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 .