Styleguide
Company Styleguide
Extract colors, typography, spacing, shadows and component tokens.
/v1/web/styleguide
What you get
Developer-ready output for Company Styleguide
How it works
Four steps from request to usable JSON
Render the target page
Read computed styles
Score repeated visual patterns
Return design tokens
API response
Fields developers usually wire first
Retrieve full website styleguides with colors, typography, spacing, shadows and component tokens.
curl.exe -H "X-API-Key: mh-localhost-dev-key" "http://127.0.0.1:8013/v1/web/styleguide"
Developer FAQ
Common questions about Company Styleguide
How is styleguide different from colors?
Colors gives a palette. Styleguide also includes typography, spacing, shadows, component styles and CSS snippets for real UI theming.
Can I apply the output to a white-label dashboard?
Yes. Use it as a starting theme and let users preview or override before applying it globally.
Does it detect Google Font files?
When font CSS is discoverable, fontLinks include downloadable file URLs and metadata for supported families.
What endpoint should I call for Company Styleguide?
Use GET /v1/web/styleguide. Local development accepts the X-API-Key header with mh-localhost-dev-key, and production clients can use the same shape with their own key.
Can I call it from CLI, SDK, MCP and no-code tools?
Yes. The same endpoint can be called with curl, the TypeScript SDK, Python SDK, MCP server, Zapier, Make, n8n, Google Sheets or Excel workflows where appropriate.
How does caching with maxAgeMs work?
When maxAgeMs is supported, a cached response can be reused if it is younger than the requested freshness window. Set maxAgeMs to 0 when you need a fresh scrape or extraction.
What happens when a page is blocked or requires login?
The API returns clear states such as blocked, verification_required, login_required, robots_disallowed or permission_required. It does not promise to bypass access controls.
Which response fields should I store?
Most integrations store colors.accent, typography.headings.h1, components.button.primary, fontLinks, plus source URL, status, confidence and timestamp fields when present. Keep source metadata so users can audit values later.
Can I batch this endpoint?
For local or small workflows, loop over a list of URLs or domains. For larger jobs, use crawl, batch workflow endpoints or a queue so failures and retries are tracked cleanly.
How should I handle errors in production?
Check success, HTTP status, error.type and retryable flags. Retry timeouts and temporary network failures, but do not retry robots, login or permission errors without changing input or authorization.
Does the API work with JavaScript-heavy sites?
The engine router starts with fast fetching and escalates when content quality is low. Browser-style rendering is used where available, while access-control barriers are reported explicitly.
Is this safe to use with customer data?
Send only domains, URLs or fields your workflow needs. Use retention controls for generated artifacts and avoid storing unnecessary raw HTML, screenshots or extracted personal data.
Related data APIs
Build the next step in the workflow
POST /v1/web/crawl
Scrape HTML
Extract HTML from any accessible URL, including page frames when requested.
GET /v1/web/scrape/html
Scrape Markdown
Convert webpages to clean, LLM-ready Markdown with links, images and freshness controls.
GET /v1/web/scrape/markdown
Meta Title and Description
Extract title tags, meta descriptions, Open Graph, Twitter card, canonical URL and language metadata from a URL.
GET /v1/web/meta
Scrape Images
Extract images, responsive sources, CSS backgrounds, inline SVGs and video posters from any URL.
GET /v1/web/scrape/images
Royalty-Free Image Finder
Find attribution-free stock image links from curated providers for website heroes, sections and design mockups.
POST /v1/royalty-free-images/search
Image OCR
Extract text from image uploads, image URLs or base64 payloads with a Paddle-first OCR fallback chain.
POST /v1/ocr/json
YouTube Transcript
Fetch timestamped YouTube transcripts with a three-step fallback chain and minute-second labels.
POST /v1/youtube/transcript