API Reference

REST API for accessing inspected design systems, historical snapshots, token diffs, and the icon archive. The web UI is always free — the API adds programmatic access for designers and studios who need volume.

Base URL

https://ui-archive.com/api/v1

All responses are JSON unless a format export is requested (CSS, TypeScript, etc.).

Authentication

Pass your API key in the Authorization header. Anonymous requests are rate-limited at 10 req/day. Free keys get 100 req/day.

Authorization: Bearer uia_your_api_key_here
# Generate a free key
curl -X POST https://ui-archive.com/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

Rate limits

TierReq/dayPrice
Anonymous10Free
Free key100Free (no account needed)
Pro5,000$24/mo annually · joining soon
Studio50,000$82/mo annually · joining soon

The X-RateLimit-Remaining header is included in every response.

100 req/day free covers most side projects. Need more? See Pro and Studio plans

Get a free key

Domains

GET/domains/:domain

Latest snapshot summary, token counts, and domain metadata.

curl https://ui-archive.com/api/v1/domains/example.com \
  -H "Authorization: Bearer <key>"
GET/domains/:domain/snapshots

Paginated list of all snapshots for a domain. Params: page, limit (max 100).

curl "https://ui-archive.com/api/v1/domains/example.com/snapshots?page=1&limit=20" \
  -H "Authorization: Bearer <key>"
GET/domains/:domain/snapshots/:id

Full token data for a specific snapshot.

curl https://ui-archive.com/api/v1/domains/example.com/snapshots/abc123xyz \
  -H "Authorization: Bearer <key>"
GET/domains/:domain/diff/:idA/:idB

Computed diff between two snapshots — added, removed, and unchanged tokens per category.

curl https://ui-archive.com/api/v1/domains/example.com/diff/snapA/snapB \
  -H "Authorization: Bearer <key>"

Token export

GET/tokens/:domain.:format

Export the latest tokens for a domain. Formats: json, css, tailwind, ts

# CSS custom properties
curl https://ui-archive.com/api/v1/tokens/example.com.css

# TypeScript as const
curl https://ui-archive.com/api/v1/tokens/example.com.ts

# Tailwind config
curl https://ui-archive.com/api/v1/tokens/example.com.tailwind

# W3C DTCG JSON
curl https://ui-archive.com/api/v1/tokens/example.com.json

Icons

GET/icons/search

Search the icon archive. Params: q, domain, style (outline|filled|duotone|logo), color (hex), page, limit.

curl "https://ui-archive.com/api/v1/icons/search?q=arrow&domain=example.com&style=outline" \
  -H "Authorization: Bearer <key>"

API keys

POST/keys

Generate a free API key. Email is optional. The key is shown once — save it immediately.

curl -X POST https://ui-archive.com/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com"}'

# Response:
{
  "key": "uia_9a54b470d1e9b857...",
  "tier": "free",
  "requestsPerDay": 100,
  "note": "Save this key — it is shown only once."
}

Errors

StatusMeaning
400Bad request — invalid params
404Domain or snapshot not found
429Rate limit exceeded
500Internal error — try again

Need higher volume?

Pro gives you 50× more headroom. Studio is for teams.

View pricing