Authentication
Publishable keys, domain restrictions, and security best practices
API Key Basics
The Logo API uses publishable keys that start with pk_. These are safe for client-side use and required on every request as a query parameter.
pk_live_1234567890abcdefClient-Safe
Designed for browsers and mobile apps.
CORS Friendly
Works cross-origin; Origin is validated when domain restrictions are enabled.
Rate Limited
Per-minute limits vary by tier.
Attribution-Aware
Free tier requires attribution and is enforced at the edge.
Getting a Key
- Sign in to the customer portal.
- Open API Keys.
- Create or copy a publishable key (
pk_*). - (Optional) Add domain restrictions.
Keys can be rotated or revoked in the portal. There is no public secret-key API for key management.
Using Your Key
Always pass the key as a token query parameter.
<img
src="https://logos.getquikturn.io/apple.com?token=pk_your_key"
alt="Apple logo"
/>Server-side fetches use the same pattern; the service does not accept Authorization headers.
const apiKey = process.env.LOGO_API_KEY;
const domain = 'apple.com';
const res = await fetch(`https://logos.getquikturn.io/${domain}?token=${apiKey}`);import os, requests
api_key = os.getenv("LOGO_API_KEY")
domain = "apple.com"
res = requests.get(f"https://logos.getquikturn.io/{domain}?token={api_key}")
res.raise_for_status()Domain Restrictions
You can bind a key to specific domains. When enabled, the worker validates Origin (preferred) or Referer against your allowlist.
Adding Allowed Domains
- In API Keys, edit the key and add allowed domains (one per line):
example.com app.example.com *.example.com - Save changes and redeploy your app with the same key.
Requests without a matching Origin/Referer will receive 403 Domain not allowed.
Matching Rules
- Exact hostnames are matched (e.g.,
example.com). - Wildcards (
*.example.com) match any subdomain on that root. - Local development should include the host and port (e.g.,
localhost:3000).
Security Best Practices
- Store keys in environment variables; never hardcode production keys.
- Rotate keys periodically; update your app before revoking the old key.
- Keep separate keys per environment (dev, staging, production).
- Monitor usage and attribution status in the portal; Free keys must maintain attribution to avoid 403s.
Troubleshooting
- 401 Unauthorized: Missing
token, token not starting withpk_, or revoked key. - 403 Forbidden: Domain restrictions failed or attribution required for Free tier.
- 429 Too Many Requests: Per-minute rate limit reached; respect
Retry-After.
Need more? Check Rate Limits and Errors.