Every color in Coloripedia is available as static JSON and CSV under an open licence. No sign-up, no API key, no rate limits — it's a set of files on a CDN.
One request, no setup.
curl https://coloripedia.com/api/v1/colors/sage.json Response:
{
"color": {
"name": "Sage",
"slug": "sage",
"family": "green",
"hex": "#B2AC88",
"rgb": { "r": 178, "g": 172, "b": 136 },
"hsl": { "h": 51, "s": 21, "l": 62 },
"cmyk": { "c": 0, "m": 3, "y": 24, "k": 30 },
"temperature": "warm",
"saturation": "muted",
"lightness": "medium",
"tags": ["muted", "earthy", "calming", "subtle", "natural"],
"complementary": ["ultramarine", "egyptian-blue", "royal-blue"],
"url": "https://coloripedia.com/colors/sage/"
},
"license": "CC-BY-4.0",
"attribution": "Color data by Coloripedia — https://coloripedia.com"
} Our own research use.
The WCAG 2.2 accessibility index tests all 312 colors as backgrounds against white and black text — contrast ratios, AA and AAA verdicts, and the text color that actually works on each one.
If you'd rather not call anything.
npm install coloripedia const { colors, getColor, nearestColorName } = require("coloripedia");
colors.length; // 312
getColor("sage").hex; // "#B2AC88"
nearestColorName("#B4AE8A"); // "Sage" The whole dataset ships with the package, so it works offline and adds no network calls. Zero dependencies, TypeScript types included.
All GET, all static.
Every color in the database (312 entries) in a single request.
One color by slug — e.g. sage, terracotta, navy-blue.
All 10 color families with entry counts.
Every color in one family — e.g. green, blue, brown.
The whole dataset as CSV, for spreadsheets and data analysis.
Discovery document listing every endpoint above.
Browser, Node, anything.
const res = await fetch(
"https://coloripedia.com/api/v1/colors.json"
);
const { colors } = await res.json();
// nearest named colour to an arbitrary hex
const nearest = (hex) => {
const [r, g, b] = hex.match(/\w\w/g).map((h) => parseInt(h, 16));
return colors.reduce((best, c) => {
const d =
(c.rgb.r - r) ** 2 + (c.rgb.g - g) ** 2 + (c.rgb.b - b) ** 2;
return d < best.d ? { d, c } : best;
}, { d: Infinity }).c;
};
nearest("#B4AE8A").name; // "Sage"
CORS is open (Access-Control-Allow-Origin: *), so you can call it
straight from the browser. Responses are cached on the CDN for a day.
Free, including commercially.
The dataset is published under Creative Commons Attribution 4.0 International (CC-BY-4.0). Use it in commercial products, modify it, redistribute it — the only condition is attribution.
Attribution snippet:
<a href="https://coloripedia.com">Color data by Coloripedia</a> Hex, RGB, HSL and CMYK values are factual and not copyrightable anywhere we know of. The licence covers the compilation, the descriptions and the curated relations. The long-form editorial content on individual color pages is not part of the dataset.
What you can rely on.
Additive changes only within /api/v1/. New fields may appear;
existing fields will not be renamed or removed. Anything breaking gets a /api/v2/ prefix,
and v1 stays up.
There is no server to fall over — every endpoint is a file built at deploy time and served from a CDN. There are no keys to rotate and no quota to exceed. If you need the data offline, take the CSV or the full JSON and vendor it.
Found a wrong value or a missing color? Open an issue or get in touch — corrections ship fast.