Website Color Palette Extractor - Hex Colors from URL
Pricing
from $0.64 / 1,000 scanned pages
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
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
6
Monthly active users
8 days ago
Last modified
Categories
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 it | You get back | You pay (Free plan) |
|---|---|---|
| One URL or a list of up to 25 | Up 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:
| Actor | Pricing | One 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.
maxUrlscapped at 100 per run.
FAQ
- Where do the colors come from?
<style>blocks, inlinestyle="...",theme-color/tile-color meta tags, and the external.cssfiles the page links or@imports. - Does it read external stylesheets? Yes, since 2026-09-24: same-site and CDN stylesheets, following
@importtwo levels deep.stylesheetsReadin 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
.cssfiles (stripe.com went from 0 colors to 262) now return a real palette. NewstylesheetsReadfield. 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.