Migration Guide
Complete migration guide from Clearbit Logo API and Logo.dev to Quikturn. Simple URL replacement with enhanced features, transparent pricing, and enterprise-grade reliability.
Clearbit Logo API is shutting down December 8, 2025. If your app uses logo.clearbit.com, it will stop working. Quikturn provides a seamless migration path with enhanced features.
This guide helps you migrate from Clearbit Logo API or Logo.dev to Quikturn Logo API. Most migrations take just a few minutes—simply update your base URL and add your Quikturn publishable key.
Why Quikturn?
Edge-Based CDN
Global edge network ensures fast logo delivery worldwide with automatic caching.
Drop-In Replacement
Compatible parameters mean minimal code changes—just update the URL.
Zero SDKs Required
Simple URL-based API works in any language, framework, or platform.
Transparent Pricing
Clear, predictable pricing with a generous free tier. No surprises.
Quikturn serves millions of logo requests daily with enterprise-grade reliability. Our edge-based architecture delivers logos in milliseconds, and our API is designed for production workloads from day one.
Migrating from Clearbit
If you're currently using logo.clearbit.com, follow these steps:
Update Your Base URL
Replace the Clearbit base URL with Quikturn's logo endpoint. All your existing parameters will continue to work.
Clearbit Base URL (deprecated)
https://logo.clearbit.com/Quikturn Base URL
https://logos.getquikturn.io/Create an Account and Get Your Key
Sign up at the Quikturn customer portal to get your publishable key (pk_*). No credit card is required for the free tier.
Your Publishable Key Format
pk_live_xxxxxxxxxxxxxxxxxxxxAdd Authentication
Unlike Clearbit's unauthenticated endpoint, Quikturn requires a token parameter for all requests. This ensures reliable performance and usage tracking.
Authenticated URL Pattern
https://logos.getquikturn.io/:domain?token=YOUR_PUBLISHABLE_KEYTest and Deploy
Before deploying, verify:
- Logos display correctly for your target domains
- No remaining references to
logo.clearbit.com - Error handling for 404 responses works as expected
Clearbit Migration Examples
Before (Clearbit)
<img src="https://logo.clearbit.com/stripe.com" alt="Stripe logo" />After (Quikturn)
<img
src="https://logos.getquikturn.io/stripe.com?token=pk_live_your_key"
alt="Stripe logo"
/>Before (Clearbit)
function Logo({ domain }) {
return (
<img
src={`https://logo.clearbit.com/${domain}`}
alt={`${domain} logo`}
/>
);
}After (Quikturn)
const QUIKTURN_KEY = process.env.REACT_APP_QUIKTURN_KEY;
function Logo({ domain }) {
return (
<img
src={`https://logos.getquikturn.io/${domain}?token=${QUIKTURN_KEY}`}
alt={`${domain} logo`}
/>
);
}Before (Clearbit)
<template>
<img :src="`https://logo.clearbit.com/${domain}`" :alt="`${domain} logo`" />
</template>After (Quikturn)
<template>
<img
:src="`https://logos.getquikturn.io/${domain}?token=${apiKey}`"
:alt="`${domain} logo`"
/>
</template>
<script setup>
const apiKey = import.meta.env.VITE_QUIKTURN_KEY;
defineProps(['domain']);
</script>Before (Clearbit)
logo_url = f"https://logo.clearbit.com/{domain}"After (Quikturn)
import os
QUIKTURN_KEY = os.getenv("QUIKTURN_API_KEY")
logo_url = f"https://logos.getquikturn.io/{domain}?token={QUIKTURN_KEY}"Migrating from Logo.dev
If you're using Logo.dev (img.logo.dev), the migration is straightforward as both APIs share similar parameter conventions.
Update Your Base URL
Replace Logo.dev's base URL with Quikturn's endpoint.
Logo.dev Base URL
https://img.logo.dev/Quikturn Base URL
https://logos.getquikturn.io/Swap Your API Key
Replace your Logo.dev token with your Quikturn publishable key. The token parameter name remains the same.
Logo.dev
?token=pk_xxxxxx (Logo.dev key)Quikturn
?token=pk_live_xxxxxx (Quikturn key)Update Any Logo.dev-Specific Parameters
Most parameters work identically. Review the parameter mapping below for any adjustments.
Logo.dev Migration Examples
Before (Logo.dev)
<img
src="https://img.logo.dev/nike.com?token=pk_logo_dev_key&size=128"
alt="Nike logo"
/>After (Quikturn)
<img
src="https://logos.getquikturn.io/nike.com?token=pk_live_quikturn_key&size=128"
alt="Nike logo"
/>Before (Logo.dev)
const LOGO_DEV_KEY = 'pk_logo_dev_key';
function CompanyLogo({ domain }) {
return (
<img
src={`https://img.logo.dev/${domain}?token=${LOGO_DEV_KEY}`}
alt={`${domain} logo`}
/>
);
}After (Quikturn)
const QUIKTURN_KEY = process.env.REACT_APP_QUIKTURN_KEY;
function CompanyLogo({ domain }) {
return (
<img
src={`https://logos.getquikturn.io/${domain}?token=${QUIKTURN_KEY}`}
alt={`${domain} logo`}
/>
);
}Before (Logo.dev)
const logoUrl = `https://img.logo.dev/${domain}?token=${process.env.NEXT_PUBLIC_LOGO_DEV_KEY}`;After (Quikturn)
const logoUrl = `https://logos.getquikturn.io/${domain}?token=${process.env.NEXT_PUBLIC_QUIKTURN_KEY}`;Parameter Compatibility
Quikturn supports parameters from both Clearbit and Logo.dev with some enhancements:
| Parameter | Clearbit | Logo.dev | Quikturn | Notes |
|---|---|---|---|---|
token | N/A | Required | Required | Your publishable key (pk_*) |
size | Supported | Supported | Supported | Integer value in pixels (default: 128) |
format | N/A | jpg, png, webp | jpg, png, webp | Image format (default: jpg) |
greyscale | Supported | Supported | Supported | Boolean for B&W logos |
theme | N/A | light, dark, auto | light, dark | Optimizes for background color |
fallback | N/A | monogram, 404 | 404 only | Returns 404 if logo not found |
Parameter Examples
Control the logo dimensions:
<!-- 64px logo -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&size=64" />
<!-- 256px logo -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&size=256" />Choose the image format:
<!-- PNG with transparency -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&format=png" />
<!-- WebP for optimal compression -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&format=webp" />Desaturate logos for uniform appearance:
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&greyscale=true" />Optimize logos for your background:
<!-- For dark backgrounds -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&theme=dark" />
<!-- For light backgrounds -->
<img src="https://logos.getquikturn.io/apple.com?token=pk_your_key&theme=light" />URL Comparison Reference
Quick reference for updating your codebase:
| Service | URL Pattern |
|---|---|
| Clearbit | https://logo.clearbit.com/{domain} |
| Logo.dev | https://img.logo.dev/{domain}?token=pk_xxx |
| Quikturn | https://logos.getquikturn.io/{domain}?token=pk_live_xxx |
Find and Replace
Use these patterns to search and replace in your codebase:
# Replace Clearbit URLs
Find: logo.clearbit.com/
Replace: logos.getquikturn.io/
# Replace Logo.dev URLs
Find: img.logo.dev/
Replace: logos.getquikturn.io/
# Don't forget to update API keys!After replacing URLs, search your codebase for the old domain patterns to ensure no references remain.
Attribution Requirements
The free tier requires attribution where logos are displayed. To remove attribution requirements, upgrade to any paid plan.
Required Attribution Link
<a href="https://getquikturn.io" title="Logo API">Logos by Quikturn</a>Attribution must be:
- On a production site
- Publicly accessible
- Followable by search engines (no
rel="nofollow")
See Attribution for complete requirements.
Testing Your Migration
Before deploying to production:
- Test multiple domains — Verify logos load for your most common companies
- Check all sizes — Ensure logos render correctly at different dimensions
- Verify fallbacks — Handle 404 responses gracefully for unknown domains
- Monitor rate limits — Check the portal for usage statistics
- Remove old references — Search for
logo.clearbit.comandimg.logo.dev
Sample Test Script
const QUIKTURN_KEY = 'pk_live_your_key';
const testDomains = ['apple.com', 'google.com', 'microsoft.com', 'stripe.com'];
async function testMigration() {
for (const domain of testDomains) {
const url = `https://logos.getquikturn.io/${domain}?token=${QUIKTURN_KEY}`;
const res = await fetch(url, { method: 'HEAD' });
console.log(`${domain}: ${res.status} ${res.ok ? '[OK]' : '[FAIL]'}`);
}
}
testMigration();FAQs
Will my existing parameters still work?
Yes. Parameters like size, format, and greyscale work the same way. The main change is adding the token parameter for authentication.
Do I need to create a new account?
Yes. You'll need a Quikturn account to get your publishable key. Sign up at the customer portal—no credit card required for the free tier.
How long does migration typically take?
Most migrations complete in under an hour. The main tasks are updating base URLs and adding your API key.
Can I run both services during migration?
Yes. You can test Quikturn alongside your existing provider to verify everything works before switching completely.
What if a logo isn't available?
Quikturn returns a 404 response for unknown domains. Implement fallback handling in your application to show a placeholder or company initials.
Are there rate limits?
Yes. Each tier has defined limits. Free accounts include generous limits for development and small projects. Check Rate Limits for details.
Does Quikturn support high-DPI/Retina displays?
Yes. Request larger sizes (e.g., size=256 displayed at 128px) for sharp rendering on high-density screens.
Can I use Quikturn in commercial applications?
Yes. Quikturn can be used in both internal tools and customer-facing apps. Paid plans remove attribution requirements.
How do I get support?
Check this documentation first. For additional help, contact support through the customer portal.
What happens to Clearbit logos after December 2025?
After Clearbit shuts down, any code using logo.clearbit.com will fail. Migrate before the deadline to avoid disruption.
Next Steps
Getting Started
Complete setup guide with framework examples
Authentication
API keys, domain restrictions, and security
Endpoints
Full API reference and parameters
Rate Limits
Usage limits and tier information
Need help with your migration? Contact support through the customer portal for personalized assistance.