API Documentation

Complete reference for the LogoAPI logo endpoint. Authenticate and retrieve airline logos.

Authentication

Include your API key as a Bearer token in every request, or use the X-API-Key header. Keys are delivered after subscribing to a plan.

# Bearer token (recommended)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/AAL/s/200x200.png -o aal-logo.png

# Alternative: X-API-Key header
curl -H "X-API-Key: YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/AAL/s/200x200.png -o aal-logo.png
Base URL: https://logoapi.cc/v1
GET /logos/:code/:type/:size.:format

Retrieve an airline logo image. Returns binary image data with the appropriate Content-Type header. Supports square, tail, and rectangular variants in multiple formats.

Parameters
NameInRequiredDescription
code path ✓ ICAO 3-letter (preferred) or IATA 2-letter airline code (e.g. AAL or AA)
type path ✓ Logo type: s (square), t (tail), or r (rectangular). All types available on all plans.
size path ✓ Dimensions as WxH in pixels (e.g. 200x200). Maximum depends on plan: Starter up to 200×200, Pro up to 500×500, Business up to 1000×1000. SVG scales to any display size; the WxH URL parameter must still contain positive dimensions within your plan limit, but does not determine the vector resolution.
format path ✓ Output format: png and jpg on all plans. gif and svg available on Pro and Business.
theme query — Logo theme: light (default) or dark. Dark theme requires Pro or Business plan — Starter receives 403.
Response: Binary image data with Content-Type set to the requested format (e.g. image/png, image/svg+xml). Not a JSON response.
Caching: Responses include Cache-Control: max-age=86400 (24 hours). Cache logos locally to minimize API calls.
Response Details

Plan limits

FeatureTypePlanDetails
Max resolution — All Raster output: Starter 200×200 px, Pro 500×500 px, Business 1000×1000 px. SVG is scalable; request dimensions must still pass plan validation.
Formats — All Starter: png, jpg. Pro & Business: png, jpg, gif, svg
Dark theme — All Pro and Business only. Starter receives 403.
Rate limit — All Starter: 25 req/s, Pro: 500 req/s, Business: 2500 req/s
Response
(binary image data — Content-Type: image/png, image/svg+xml, etc.)

Examples

Square logo — American Airlines

Retrieve a 200×200 square logo using ICAO code AAL.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/AAL/s/200x200.png?theme=dark
Response: American Airlines logo
Tail logo — Emirates

Fetch the tail fin artwork for Emirates at 200×200.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/UAE/t/200x200.png?theme=dark
Response: Emirates logo
Rectangular logo — Lufthansa

Get a rectangular 350×100 banner for Lufthansa via ICAO code DLH.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/DLH/r/350x100.png?theme=dark
Response: Lufthansa logo
SVG vector logo (Pro+)

Download a scalable vector square logo for Qatar Airways. The SVG can be displayed at any size. Use positive dimensions within your plan limit in the request URL.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://logoapi.cc/v1/logos/QTR/s/200x200.svg -o qatar-logo.svg

Error Codes

CodeDescription
400Invalid request parameters — malformed dimensions, dimensions below 1×1, or an invalid theme. Dimensions above your plan limit return 403.
401Missing or invalid API key. Check your Authorization or X-API-Key header.
403Plan does not permit this resource — resolution exceeds plan limit, format not allowed, or dark theme on Starter
404Airline code not found in the database
429Per-second rate limit exceeded. Back off and retry. Standard rate headers included in response.
502Upstream logo service temporarily unavailable — retry after a short delay

Rate Limits

Rate limits are enforced per second based on your plan. Starter: 25 requests/second, Pro: 500 requests/second, Business: 2500 requests/second. Standard rate headers (RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset) are included in every response. Cache logos locally to stay well within limits.