Use Case -- Developers

Brand extraction API
built for developers who ship.

Developers use the ExtractVibe API to programmatically extract brand data from any website. Build brand-aware features, automate design-to-code workflows, and create AI tools that understand visual identity. REST API with API key auth, WebSocket progress streaming, and structured JSON output.

01 / Use Case -- Developers

Simple REST API with structured output

Start an extraction with a single POST request and get back structured JSON with colors, typography, logos, voice traits, and design tokens. The API uses standard REST conventions with API key authentication via the x-api-key header. Responses include typed fields with consistent naming, making it easy to integrate into TypeScript applications, Python scripts, or any language that handles JSON.

02 / Use Case -- Developers

Real-time WebSocket progress

Connect via WebSocket to get real-time progress updates as the extraction pipeline processes each step. The WebSocket sends structured events with step identifiers and percentage progress, so you can build responsive UIs that show users exactly what is happening. If WebSocket is unavailable, fall back to polling the job status endpoint.

03 / Use Case -- Developers

Open source and self-hostable

ExtractVibe is open source under the MIT license. Clone the repository, configure your Cloudflare bindings, and deploy your own instance. The entire stack runs on Cloudflare Workers, D1, KV, R2, and Browser Rendering, so there are no external dependencies to manage. Self-hosting gives you full control over rate limits, data retention, and AI model selection.

04 / Use Case -- Developers

Design token export for CI/CD

Integrate brand extraction into your CI/CD pipeline. Extract tokens on every deploy to ensure your implementation stays in sync with the target brand. Export as CSS custom properties for web projects, Tailwind config for utility-first workflows, or Style Dictionary format for multi-platform token distribution across web, iOS, and Android.

How it works

01

Get your API key

Sign up for a free account and generate an API key from the dashboard. Keys use the ev_ prefix and support up to 50 extractions per month on the free tier.

02

Start an extraction

POST a URL to /api/extract with your API key. The endpoint returns a jobId immediately (202 response) while the extraction runs asynchronously in a durable Workflow.

03

Get structured results

Poll /api/extract/:jobId/result or connect via WebSocket for real-time progress. When complete, receive a full brand kit as structured JSON ready for programmatic use.

Code Example

Quick start with the API

Quick start with the API
const response = await fetch("https://extractvibe.com/api/extract", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": "ev_your_api_key_here"
  },
  body: JSON.stringify({ url: "https://stripe.com" })
});

const { jobId } = await response.json();

// Poll for results (or use WebSocket for real-time updates)
const result = await fetch(
  `https://extractvibe.com/api/extract/${jobId}/result`,
  { headers: { "x-api-key": "ev_your_api_key_here" } }
);

const brandKit = await result.json();

// Access structured brand data
console.log(brandKit.colors);      // { primary, secondary, accent, ... }
console.log(brandKit.typography);   // { families, scale, weights, ... }
console.log(brandKit.voice);        // { tone, personality, patterns, ... }
console.log(brandKit.logos);        // { primary, favicon, ogImage, ... }
console.log(brandKit.buttons);      // { primary, outline, ghost, ... }

Frequently Asked Questions

Is the API free to use?+

Free accounts get 50 API calls per month with no credit card required. This is enough for development, testing, and light production use. Paid plans start at $19/month for 500 extractions, with Pro plans offering unlimited calls for high-volume integrations.

How long does an extraction take?+

Most extractions complete in 15-25 seconds. The pipeline renders the page in a real browser (~3s), parses visual assets (~4s), analyzes brand voice with AI (~5s), synthesizes the vibe (~4s), and packages the results (~2s). Complex sites with heavy JavaScript may take up to 60 seconds.

Can I self-host ExtractVibe?+

Yes. ExtractVibe is open source under the MIT license and designed to run entirely on Cloudflare Workers. Clone the repository, create D1/KV/R2 resources, configure your wrangler.jsonc bindings, and deploy with wrangler deploy. The self-hosted version has no functional limitations.

What rate limits apply to the API?+

Free accounts are limited to 50 extractions per month and 3 anonymous extractions per day per IP address. Paid plans have higher monthly limits and support concurrent extractions. API keys include rate limit headers (X-RateLimit-Remaining) so you can implement client-side throttling.

Is there a Python SDK or CLI?+

The API is language-agnostic REST, so any HTTP client works. Community-maintained SDKs for Python, Go, and Ruby are in development. A CLI tool is on the roadmap for extracting brands directly from the terminal and piping results into other tools.

Get your API key

Start building with the ExtractVibe API. 50 free extractions per month, no credit card required.

Get started free