COLOURlovers API
Free COLOURlovers API with no key: community-voted colour palettes, individual colours and patterns with hex values, view counts and popularity ranks. Tested example included.
Endpoint tested and returned HTTP 200 on 21 Aug 2026
What is the COLOURlovers API?
The COLOURlovers API is a free, key-free API exposing a large community-curated library of colour palettes, colours and patterns. Each palette returns its hex colour values along with social signals such as views, votes, hearts and an overall popularity rank.
COLOURlovers has been running since 2007 and its palette library is one of the oldest and most-referenced on the web — the "Giant Goldfish" palette that tops the API's own popularity ranking has been viewed over a million times and turns up in design tutorials to this day. The API turns that entire archive into something you can query.
What distinguishes it from a palette generator is the social data. Alongside the five hex values you get view counts, votes, comments and a rank, so "popular palette" is an actual measurable property rather than an algorithmic guess. Two practical notes: the API is old enough that `format=json` is required (XML is the default), and the `description` field contains raw user-submitted HTML — sanitise it before rendering.
Quick facts
- Base URL
https://www.colourlovers.com/api- Authentication
- No API key. COLOURlovers' terms require attribution and restrict commercial use of the content, so read them before shipping this into a product.
- Rate limit
- Documented as roughly 60 requests per minute per IP.
- Pricing
- Free to call. The palettes themselves are user-submitted under Creative Commons Attribution-NonCommercial-ShareAlike.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the COLOURlovers API
Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Fetch the single most popular colour palette
GET https://www.colourlovers.com/api/palettes/top?format=json&numResults=1
curl 'https://www.colourlovers.com/api/palettes/top?format=json&numResults=1'const res = await fetch("https://www.colourlovers.com/api/palettes/top?format=json&numResults=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.colourlovers.com/api/palettes/top?format=json&numResults=1", timeout=20)
res.raise_for_status()
print(res.json())[
{
"id": 92095,
"title": "Giant Goldfish",
"userName": "manekineko",
"numViews": 1154345,
"numVotes": 12268,
"numComments": 778,
"numHearts": 4.5,
"rank": 1,
"dateCreated": "2007-07-03 10:42:02",
"colors": [
"69D2E7",
"A7DBD8",
"E0E4CC",
"F38630",
"FA6900"
],
"description": "I-MOO\r\n<div style=\"width: 300px; text-align: center;\"><a href=\"http://www.colourlovers.com/contests/moo/minicard/2291466\" target=\"_blank\" style=\"display: block; margin-bottom: 5px; width: 300px; height: 120px; -moz-box-shadow: 0 1px 4px #d1d1d1; -webkit-box-shadow: 0 1px 4px #d1d1d1; box-shadow: 0 1px 4px #d1d1d1; filter: progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=180, Color=",
"url": "http://www.colourlovers.com/palette/92095/Giant_Goldfish",
"imageUrl": "http://www.colourlovers.com/paletteImg/69D2E7/A7DBD8/E0E4CC/F38630/FA6900/Giant_Goldfish.png",
"badgeUrl": "http://www.colourlovers.com/images/badges/p/92/92095_Giant_Goldfish.png",
"apiUrl": "http://www.colourlovers.com/api/palette/92095"
}
]Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
format | query | Required | Response format. XML is the default, so `json` must be requested explicitly. json |
numResults | query | Optional | How many results to return, up to 100. 1 |
resultOffset | query | Optional | Pagination offset. 0 |
orderCol | query | Optional | Sort column: `dateCreated`, `score`, `name`, `numVotes` or `numViews`. numViews |
keywords | query | Optional | Free-text search across palette titles and tags. sunset |
hueOption | query | Optional | Filter by hue family, such as `red`, `blue` or `green`. blue |
Response fields
idstring- Palette identifier, which also builds its page URL on colourlovers.com.
title / userNamestring- Palette name and the member who created it. Attribution requires both.
colorsarray- The palette's hex values as strings WITHOUT a leading `#` — prepend one before using them in CSS.
rankinteger- Position in the ranking implied by `orderCol`. Rank 1 on views is the all-time most-viewed palette.
numViews / numVotes / numComments / numHeartsnumber- Social signals. These are what make "popular" a real measurement here rather than a guess.
dateCreatedstring- When the palette was submitted. Many top palettes date from 2007-2010.
descriptionstring- User-submitted free text containing raw HTML. Sanitise it before rendering anywhere.
What you can build with the COLOURlovers API
- Seed a design tool with proven, community-vetted colour palettes
- Build a palette browser or colour inspiration gallery
- Pick an accessible-adjacent starting palette for a theme generator
- Analyse colour trends across a decade of user submissions
Common errors and how to fix them
XML instead of JSON
The `format` parameter was omitted.
Fix: COLOURlovers defaults to XML. Always pass `format=json` explicitly.
429
Rate limit of roughly 60 requests per minute exceeded.
Fix: Cache results. Palette data is effectively static, so a long cache costs nothing.
Colours missing the # prefix
Not an error — hex values are returned bare.
Fix: Prepend `#` before using them as CSS colour values.
COLOURlovers API — frequently asked questions
Is the COLOURlovers API free?
The API is free to call with no key. The content is a different matter: palettes are user-submitted under a Creative Commons Attribution-NonCommercial-ShareAlike licence, so commercial use needs care and attribution is required either way.
Why does COLOURlovers return XML?
XML is the default because the API predates JSON's dominance. Add `format=json` to the query string on every request and you get JSON instead.
Do the hex colours include a # prefix?
No. The `colors` array holds bare six-character hex strings such as `69D2E7`, so prepend a `#` before using them in CSS or anywhere else that expects a full hex colour.
How do I find the most popular palettes?
Request the `/palettes/top` resource, or sort with `orderCol=numViews`. The response includes view, vote and heart counts so you can rank by whichever signal fits your use case.
Tools that pair with this API
Random Color Generator
Generate a random color palette in one click. Lock the swatches you like, re-roll the rest, and copy the result as a HEX list or ready CSS variables.
Color Picker from Image
Pick colors from any image online. Click a photo to get exact HEX, RGB and HSL values with copy buttons and a history of recent picks — free and private.
Duotone Image
Create a duotone image by mapping shadows and highlights to two chosen colors. Free, private, browser-based duotone effect with live preview.
Alternatives to COLOURlovers API
If COLOURlovers does not fit, these photography & design apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| Metropolitan Museum of Art | Free Metropolitan Museum of Art API with no key: 470,000+ artworks with high-resolution public-domain images, artist data and full object metadata. Tested. | No key | No | 19 Aug 2026 |
| Art Institute of Chicago | Free Art Institute of Chicago API with no key: 130,000+ artworks with IIIF images, colour data, artist info and rich metadata. Well documented. Tested example. | No key | Yes | 19 Aug 2026 |
| Cleveland Museum of Art | Free Cleveland Museum of Art API with no key: 60,000+ artworks with open-access images, provenance, exhibition history and full metadata. Tested curl example. | No key | No | 19 Aug 2026 |
| DiceBear Avatars | Free avatar generator API with no key: deterministic SVG or PNG avatars from any seed, in 30+ styles with customisable colours. Tested curl example. | No key | Yes | 19 Aug 2026 |
| DummyImage | Free placeholder image API with no key: any size, custom background and text colours, custom caption, PNG, GIF or JPG — all from the URL. Tested example included. | No key | Yes | 21 Aug 2026 |
| Icon Horse | Free favicon API with no key: fetches the highest-quality icon for any domain and always returns something, generating a letter-mark fallback when a site has none. Tested example included. | No key | Yes | 21 Aug 2026 |
COLOURlovers is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.