Website Color Palette Extractor - Hex Colors from URL avatar

Website Color Palette Extractor - Hex Colors from URL

Pricing

from $0.64 / 1,000 scanned pages

Go to Apify Store
Website Color Palette Extractor - Hex Colors from URL

Website Color Palette Extractor - Hex Colors from URL

Extract a website's color palette - hex/rgb/hsl from styles and theme-color meta - normalized and ranked by frequency. Single or bulk. $0.0008 per page no start fee, cheaper than paid palette actors; failed fetches free.

Pricing

from $0.64 / 1,000 scanned pages

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

6

Monthly active users

8 days ago

Last modified

Share

Website Color Palette Extractor — hex colors from any URL

Send a website URL, get its color palette as hex and rgb, ranked by how often each color appears in the page and the stylesheets it loads.

You give itYou get backYou pay (Free plan)
One URL or a list of up to 25Up to 20 colors, each {hex, rgb, count}, most used first$0.0008 per page

Pay per result only: no subscription, no start fee. Pages that fail to load are not charged. Paid Apify plans get Store discounts on the price above.

Try it in one click

The input form is already filled in with this example. Press Start and you get the output below.

{
"url": "https://stripe.com"
}

Real output from that exact input (run on 2026-09-24; long arrays shortened to a few entries and long text cut for display):

[
{
"ok": true,
"url": "https://stripe.com/",
"status": 200,
"colorCount": 262,
"stylesheetsRead": 5,
"palette": [
{
"hex": "#ffffff",
"rgb": "rgb(255, 255, 255)",
"count": 62
},
{
"hex": "#000000",
"rgb": "rgb(0, 0, 0)",
"count": 46
},
{
"hex": "#32325d",
"rgb": "rgb(50, 50, 93)",
"count": 22
},
{
"hex": "#533afd",
"rgb": "rgb(83, 58, 253)",
"count": 17
}
]
}
]

Extract a website's color palette: every color found in its <style> blocks, inline style attributes, theme-color/msapplication-TileColor meta tags and the external stylesheets the page loads (<link rel="stylesheet"> files on the same site or a CDN, plus @import chains), normalized to hex, converted to rgb, and ranked by frequency. Handles hex, rgb/rgba, and hsl/hsla. Built for brand-kit building, design research, and competitive analysis. Single URL or bulk.

$0.0008 per page, no start fee — cheaper than the paid palette actors measured on the Store. Failed fetches are recorded free.

What you get

  • palette — up to 20 colors, each { hex, rgb, count }, most frequent first.
  • colorCount — distinct colors found.
  • stylesheetsRead — how many external CSS files were read for this page.
  • Colors normalized: #rgb→#rrggbb, rgb()/hsl()→hex, alpha dropped.
  • Fail-soft: an unreachable URL returns {ok:false, error} and is never charged.

Input

{ "url": "https://github.com", "urls": ["https://stripe.com"], "maxUrls": 25 }

Output (real run, 2026-09-24)

{
"ok": true,
"url": "https://github.com/",
"status": 200,
"colorCount": 1010,
"stylesheetsRead": 15,
"palette": [
{ "hex": "#000000", "rgb": "rgb(0, 0, 0)", "count": 479 },
{ "hex": "#ffffff", "rgb": "rgb(255, 255, 255)", "count": 433 },
{ "hex": "#010409", "rgb": "rgb(1, 4, 9)", "count": 142 }
]
}

Measured 2026-09-24 on the same three pages, before and after external stylesheets were read: stripe.com 0 → 262 colors, github.com 3 → 1,010, wordpress.org 87 → 131.

Pricing — $0.0008 per page, no start fee

Prices below checked via the Apify Store API on 2026-08-07:

ActorPricingOne page
This actor$0.0008 per page$0.0008
rainminer/site-palette-extractor$0.0025 start + $0.00099 per item$0.0035
velvety_bedbug/color-api-scraper$0.05 start + $0.003 per item$0.053

Limits (honest ones)

  • Reads the served HTML and up to 15 linked/imported stylesheets per page (2 MB each, 10 s timeout each). Colors computed by JavaScript at runtime, or in stylesheets injected by JavaScript, are not counted.
  • Counts cover the whole stylesheet, so colors for dark mode, hover states and other pages that share the CSS are included.
  • Frequency is a count of textual occurrences, not a pixel-area analysis of the rendered page.
  • maxUrls capped at 100 per run.

FAQ

  • Where do the colors come from? <style> blocks, inline style="...", theme-color/tile-color meta tags, and the external .css files the page links or @imports.
  • Does it read external stylesheets? Yes, since 2026-09-24: same-site and CDN stylesheets, following @import two levels deep. stylesheetsRead in each record says how many were read.
  • Which color formats are supported? Hex (3/4/6/8 digit), rgb/rgba, and hsl/hsla, all normalized to hex.
  • What about a dead URL? You get an {ok:false, error} record, uncharged.

Use from code or AI agents

curl -X POST "https://api.apify.com/v2/acts/EliAI~webpage-color-palette/runs?token=YOUR_APIFY_TOKEN" \
-H 'content-type: application/json' \
-d '{"url":"https://github.com"}'

Callable as an agent tool through the Apify MCP server (mcp.apify.com).

Who uses it

  • Designers pulling a competitor's hex palette ranked by frequency for a brand brief
  • Brand managers checking that a microsite uses the approved colors and no stray ones
  • Developers building a theme file from an existing site's most-used colors
  • Agencies comparing the palettes of every site in a client's category
  • Accessibility reviewers collecting a page's colors to test contrast pairs

Changelog

  • 2026-09-24: Now reads the external stylesheets a page loads, not just its HTML. Sites that keep their CSS in .css files (stripe.com went from 0 colors to 262) now return a real palette. New stylesheetsRead field. Price unchanged.
  • 2026-09-24: New summary at the top of this page: what you send, what you get, the price, and a real output from the prefilled example.