The Color API

Hex to name, HSL, palettes

🎬 MediaUNMONITORED
AUTH NONECORS AGENT ?HTTPS COMMERCIAL ?

Color conversion and human-readable names. JSON, SVG or HTML output formats.

HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: — · unmonitored
ON PROBE SCHEDULE

We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗

Uptime historystarts after first probe

On our probe schedule. Uptime charts appear after the first check lands.

Example responsefrom provider docs — not verified by us
GET https://www.thecolorapi.com/id?hex=24B1E0

{
  "hex": {
    "value": "#24B1E0",
    "clean": "24B1E0"
  },
  "rgb": {
    "fraction": {
      "r": 0.1411764705882353,
      "g": 0.6941176470588235,
      "b": 0.8784313725490196
    },
    "r": 36,
    "g": 177,
    "b": 224,
    "value": "rgb(36, 177, 224)"
  },
  "hsl": {
    "fraction": {
      "h": 0.5416666666666666,
      "s": 0.752,
      "l": 0.5098039215686274
    },
    "h": 195,
    "s": 75,
    "l": 51,
    "value": "hsl(195, 75%, 51%)"
  },
  "hsv": {
    "fraction": {
      "h": 0.5416666666666666,
      "s": 0.8392857142857143,
      "v": 0.8784313725490196
    },
    "value": "hsv(195, 84%, 88%)",
    "h": 195,
    "s": 84,
    "v": 88
  },
  "name": {
    "value": "Cerulean",
    "closest_named_hex": "#1DACD6",
    "exact_match_name": false,
    "distance": 356
  },
  "cmyk": {
    "fraction": {
      "c": 0.8392857142857143,
      "m": 0.20982142857142858,
      "y": 0,
      "k": 0.1215686274509804
    },
    "value": "cmyk(84, 21, 0, 12)",
    "c": 84,
    "m": 21,
    "y": 0,
    "k": 12
  },
  "XYZ": {
    "fraction": {
      "X": 0.46499450980392154,
      "Y": 0.5898698039215686,
      "Z": 0.9204125490196079
    },
    "value": "XYZ(46, 59, 92)",
    "X": 46,
    "Y": 59,
    "Z": 92
  },
  "image": {
    "bare": "https://www.thecolorapi.com/id?format=svg&named=false&hex=24B1E0",
    "named": "https://www.thecolorapi.com/id?format=svg&hex=24B1E0"
  }
}
Call itcurl · fetch · python
curl "https://www.thecolorapi.com/id?hex=24B1E0"
const res = await fetch("https://www.thecolorapi.com/id?hex=24B1E0");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://www.thecolorapi.com/id?hex=24B1E0")
print(res.json())
Endpoints · 3On scheduleFULL DOCS ↗
On schedule — GET /id?hex=24B1E0 awaits first probe
GET/id?hex=24B1E0PROBED

Hex to name, HSL, palettes

GET/id?limit=5

Id — documented GET route.

GET/id?page=1

Id — documented GET route.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Not tracked yet. Shape-change history starts once this API joins our probe schedule.

The Color API: common questions

Is The Color API free to use?

Yes — The Color API is a free media API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.

Does The Color API need an API key?

No — The Color API needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).

Can I call The Color API from the browser?

Yes — The Color API returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is The Color API up right now?

The Color API is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.