Quikturnv1.0
API Endpoints

API Endpoints

Reference for the logo lookup endpoint

Base URL

All API requests use the following base URL and format:

GET https://logos.getquikturn.io/{domain}?token=pk_xxx

Available Endpoints

The REST API exposes the logo lookup endpoint. For batch operations, streaming, and higher-resolution logos, use the server SDK with a secret key (sk_*).

Logo Lookup (302 Redirect)

GET /{domain}?token=pk_your_key
      &size=128
      &greyscale=true
      &theme=dark

Example:

curl -I "https://logos.getquikturn.io/apple.com?token=pk_your_key"

Typical response:

HTTP/1.1 302 Found
Location: https://cdn.quikturn.io/logos/apple.com.png
Cache-Control: public, max-age=86400
X-RateLimit-Remaining: 482
X-RateLimit-Reset: 1706745600

If a logo cannot be found, the service returns 404 with a plain-text message.

Errors

StatusWhen it happensBody
400Missing/invalid domainPlain text
401Missing or malformed tokenPlain text
403Domain restriction or attribution failurePlain text
404Logo not foundPlain text
429Rate limit exceededPlain text + Retry-After

CORS

  • If no domain restrictions are set on your key, responses include Access-Control-Allow-Origin: *.
  • If domain restrictions are enabled, the Origin/Referer must match your allowlist and CORS reflects the allowed origin.

Transformations

  • size (optional): pixel width. Default 128. Max 800. Aspect ratio preserved.
  • greyscale (optional): true|1|yes to desaturate the logo.
  • theme (optional): light or dark to invert for contrast on light/dark backgrounds.
  • All transformations are applied at the edge via Cloudflare Image Resizing on top of the stored logo.

Server SDK Operations

The REST API serves single logo lookups. For advanced use cases, the server SDK provides:

OperationMethodDescription
Single fetchclient.get(domain)Returns Buffer + metadata, up to 1200px
Batch fetchclient.getMany(domains)AsyncGenerator over multiple domains
Streamingclient.getStream(domain)ReadableStream for large logos

All server SDK operations use secret key authentication via the Authorization: Bearer header.

import { QuikturnLogos } from "@quikturn/logos/server";

const client = new QuikturnLogos({ secretKey: process.env.QT_SECRET_KEY! });

// Batch fetch
for await (const result of client.getMany(["apple.com", "google.com"])) {
  console.log(result.domain, result.success);
}

Next Steps

On this page