WCAG contrast ratio
API · /color-api
Color API
A complete colour toolkit — convert between hex, RGB, HSL, HSV and CMYK with relative luminance, generate harmonious palettes (complementary, triadic, tetradic, analogous, monochromatic, shades), and compute WCAG contrast ratios with AA/AAA pass-fail for accessibility. Server-side, instant, no third-party services.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 79 ms
- Server probes · 24h
- Subscribers
- 4,415
- active
- Total calls
- 57
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 12,000 calls / month
- 3 requests / second
- Hard cap (429 above quota, no overage)
- 12,000 conversions/month at 3 rps
- Hex/RGB/HSL/HSV/CMYK conversion
- No credit card
Basic
€6.00 /month
- 150,000 calls / month
- 12 requests / second
- Hard cap (429 above quota, no overage)
- 150,000 calls/month at 12 rps
- Palette generation + luminance
- Commercial use allowed
Pro
€18.00 /month
- 750,000 calls / month
- 35 requests / second
- Hard cap (429 above quota, no overage)
- 750,000 calls/month at 35 rps
- WCAG AA/AAA contrast pass-fail
- Batch multi-color endpoint
- Email support
Mega
€44.00 /month
- 3,000,000 calls / month
- 90 requests / second
- Hard cap (429 above quota, no overage)
- 3,000,000 calls/month at 90 rps
- Priority support + 99.9% SLA
- All endpoints unlocked
- Bulk palette + contrast batching
Built by
Related APIs
Other APIs with overlapping tags.
Color Distance API
CIE colour science as an API: convert colours through the device-independent spaces and measure how different two colours really look. The convert endpoint takes a colour as hex, RGB or CIELAB and returns it in sRGB hex, RGB, CIE XYZ and CIELAB (D65 white point). The distance endpoint computes the perceptual difference between two colours with all three standard Delta-E formulas — CIE76 (plain Lab distance), CIE94, and CIEDE2000, the modern and most accurate metric — and tells you whether the difference is perceptible. The nearest endpoint finds the closest named colour to any colour by CIEDE2000. This is the maths behind colour matching, print and brand-colour QC, and tolerancing — distinct from simple hex/RGB/HSL conversion. Everything is computed locally and deterministically, so it is instant and private. Ideal for print and prepress, brand-colour compliance, textile and paint matching, image processing and computer vision, and design tooling. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This is CIE colour difference; for hex/RGB/HSL/CMYK conversion, palettes and WCAG contrast use a colour API.
api.oanor.com/colordelta-api
Color Temperature API
Turn physical light into RGB colours — entirely locally. The kelvin endpoint converts a colour temperature in Kelvin into the RGB colour of a black body at that temperature: warm candle and incandescent tones below 3000 K, neutral and daylight whites around 5000–6500 K, and cool bluish light above, using Tanner Helland's widely-used approximation and returning hex, an rgb() string and a plain-English description (candlelight, warm white, neutral, daylight, cool). The wavelength endpoint converts a wavelength of visible light in nanometres (380–780 nm) into the approximate RGB colour the human eye perceives, with the natural intensity fall-off at the violet and red edges of the spectrum, and names the band (violet, blue, cyan, green, yellow, orange, red). Everything is computed locally and deterministically, so it is instant and private. Ideal for lighting and smart-bulb apps, photography and white-balance tools, data-visualisation of temperature or spectra, theming and UI accents, and science and education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. These are perceptual approximations, not colorimetric CIE conversions; for hex/RGB/HSL conversion and palettes use a colour API.
api.oanor.com/colortemp-api
Color Name API
Name any colour. The nearest endpoint takes a colour as a hex, an rgb() value, an r,g,b triple or another name and returns the closest of the 140+ CSS named colours — matched perceptually with CIE76 Lab distance, not naive RGB, so the name actually looks right — along with the distance and whether it is an exact match. The name endpoint resolves a CSS colour keyword (e.g. rebeccapurple, cornflowerblue) to its hex and RGB, and list returns the whole named-colour set. Perfect for design tools and pickers, accessibility and theming, turning brand hex codes into human labels, and naming colours in generated palettes. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from colour conversion / palette / contrast tooling, which does not name colours.
api.oanor.com/colorname-api
Gradient API
Generate colour gradients and colour scales programmatically. Produce an evenly-spaced scale of N colours between two or more stops (interpolated in a perceptually smooth colour space — lab, lch, oklab, oklch — or plain rgb/hsl), get a single interpolated colour at any position between two colours, and build a ready-to-paste CSS gradient string (linear with any angle, or radial) from a list of stops. Colours accept hex (#f00, #ff0000) or CSS names (red, steelblue). Perfect for data-visualisation colour ramps, heatmaps, chart palettes, theme generation and UI backgrounds. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from colour conversion / harmonious palettes (one base colour) and image palette extraction.
api.oanor.com/gradient-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Color API?
What's the rate limit for Color API?
How much does Color API cost?
Can I cancel my subscription anytime?
Is Color API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/color-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/color-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/color-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/color-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.