A Free Paint Color Matching API and Embeddable Widget
If you build anything that touches paint — a design tool, a room visualizer, a retailer site, a home-improvement app — you have probably hit the same wall: a customer has a color from one brand and needs its equivalent in another. There has never been a clean, programmatic way to do that. We built the cross-brand matching engine behind Paint Color HQ, and we now expose it two ways: a one-line embeddable widget and a REST API. Both have a free tier, and the widget needs no signup and no key.
What It Does
Send a hex value and get back the closest paint colors across 13 brands — Sherwin-Williams, Benjamin Moore, Behr, PPG, Valspar, Farrow & Ball, Dunn-Edwards, and more — ranked by how close each match actually reads to the eye. Matches are scored with CIEDE2000 (Delta E 2000), the industry standard for perceptual color difference, over a database of 26,000+ colors. A Delta E under 1.0 is effectively indistinguishable; under 2.0 is a very close match; above 5 the difference is clearly visible.
The Free Widget: One Line of HTML
If you do not want to write code, drop the matcher straight into any page. Your visitors pick a color and instantly see the closest match in every brand — no key, no signup. Keep the small credit line and it is free.
<iframe src="https://www.paintcolorhq.com/embed/match"
width="100%" height="480" loading="lazy"
style="border:0;border-radius:12px;max-width:600px"
title="Cross-brand paint color matcher"></iframe>Grab it on the embeddable widget page.
The API: Free Endpoint
For programmatic use, call the endpoint directly. It is CORS-open and cached at the edge, so it is fast and works from the browser or your backend.
GET https://www.paintcolorhq.com/api/color-match?hex=7F9B8EA trimmed response:
{
"matches": [
{
"name": "Comfort Gray",
"hex": "#9C9B8E",
"brandName": "Sherwin-Williams",
"colorSlug": "comfort-gray-6205",
"colorNumber": "6205",
"deltaE": 1.84
}
]
}Parameters: hex (required, 6-digit, with or without #), brand (optional — restrict to one brand such as benjamin-moore), and limit (optional). Full reference and live examples are on the API docs page.
The Paid Tier, for Heavier Use
The free endpoint covers most needs. For production integrations, the paid tier on RapidAPI adds up to 50 results per call, batch lookups (several hex values at once), and per-match color-science fields — LAB, RGB, undertone, LRV, and color family — useful for palette engines and lighting-aware design tools. RapidAPI handles keys, rate limits, and billing, so you can start on the free plan and scale without touching our infrastructure. See the listing on RapidAPI.
Why Cross-Brand Matching Is the Hard Part
Plenty of color APIs generate palettes, convert hex to RGB, or name a single color. Almost none answer the question that actually comes up in paint workflows: what is the nearest equivalent to this exact color in a brand my store carries? That is a data problem, not a formula problem. CIEDE2000 is public math; the moat is a maintained, normalized catalog of 26,000+ colors across 13 brands, kept current as palettes change, with one canonical match per brand instead of a noisy list. The consumer match tools that exist are web pages, not endpoints.
How the Matching Works
Each color is converted to CIELAB, candidates within range are scored against your input with CIEDE2000, and the closest equivalent per brand is surfaced. The full pipeline, thresholds, and known limitations are documented on our methodology page. As with any color match, the honest advice is to confirm a final choice with a physical sample before buying gallons. You can also explore matches by hand in the color comparison tool, build a scheme in the palette generator, browse any brand color chart, or read how we map Sherwin-Williams alternatives to Benjamin Moore.