Skip to main content
The Osintly Logo Service returns logo images for any domain — PNG, SVG, or ICO — served directly from the edge with CORS enabled. Base URL: https://logos.osint.ly/{domain}

No API key

No authentication required. Just a GET request.

CORS enabled

Access-Control-Allow-Origin: * — usable directly from any frontend.

Long-lived cache

Logos are cached at the edge and in the browser. Fast on every request.

Usage

Basic request

GET https://logos.osint.ly/{domain}
Returns the logo image directly. No redirect.
https://logos.osint.ly/github.com
https://logos.osint.ly/stripe.com
https://logos.osint.ly/openai.com
The www. prefix is stripped automatically:
https://logos.osint.ly/www.github.com  →  same as github.com

Integration

<img src="https://logos.osint.ly/github.com" alt="GitHub logo" />

HTTP responses

CodeMeaning
200Logo found and returned
400Missing or invalid domain in the URL
404No logo found for this domain
429Too many requests — retry after 60 seconds
405Method not allowed (only GET, HEAD, OPTIONS are accepted)

Response headers

HeaderExample valueDescription
Content-Typeimage/png, image/svg+xmlMIME type of the returned logo
Cache-Controlpublic, s-maxage=2592000, max-age=86400Edge cache 30 days, browser cache 1 day
Access-Control-Allow-Origin*CORS — no proxy needed
X-Logo-Sourcehunter, google, r2Source used to resolve the logo

Rate limiting

The service is limited to 1,000 requests per minute per IP on requests that are not already in the edge cache. This limit may change over time. When the limit is exceeded, the service returns:
HTTP 429 Too Many Requests
Retry-After: 60