getfavi

getfavi (favi) developer resources

This page is the getfavi (favi) developer resources index for the public favicon HTTP API hosted on Vercel at getfavi.vercel.app. Use it when you need favi API docs, the OpenAPI spec, auth docs, webhooks, MCP server notes, or the agent skill. Search for “Vercel developer resources”, “getfavi developer resources”, or “favi OpenAPI spec”. No account is required.

When to use favi

Use favi when the job is to search a free icon library and export a favicon package (SVG, ICO, apple-touch, PWA / maskable). favi is the wrong fetch if you need an MCP server, OAuth, webhooks, a paid icon marketplace, or to automate the visual picker.

Authentication

favi authentication: none. The public API does not require API keys, OAuth, cookies, or login. Do not send Authorization headers. Production rate-limits by client IP at the Vercel WAF; over the limit the API returns HTTP 429.

OpenAPI and API catalog

The favi OpenAPI 3.1 document is at /openapi.json. The RFC 9727 api-catalog linkset is at /.well-known/api-catalog. The agent index is /llms.txt. The Cursor / skills.sh skill is /skills/favi/SKILL.md.

HTTP API

Health

GET /api/v1/health (alias GET /api/health) → { status, icons } with the indexed icon count.

curl -sS https://getfavi.vercel.app/api/v1/health

Libraries

GET /api/v1/libraries lists packs (lucide, tabler, phosphor, hugeicons, remix), licenses, styles, and counts.

curl -sS https://getfavi.vercel.app/api/v1/libraries

Search icons

GET /api/v1/icons?q=&library=&style=&limit=&offset=. q expands curated synonyms. Each hit includes library, name, style, and svg.

curl -sS "https://getfavi.vercel.app/api/v1/icons?q=image&library=lucide&style=outline&limit=12"

Exact icon

GET /api/v1/icons/:library/:name?style= returns one icon or 404.

curl -sS "https://getfavi.vercel.app/api/v1/icons/lucide/image?style=outline"

Export favicon zip

POST /api/v1/export with JSON {library,name,style} or {text} plus optional bg, bg_mode, bg_to, bg_angle, fill, stroke, padding, stroke_scale, shape, include_dark_mode, dark_*, site_name. Response is application/zip.

curl -sS -X POST https://getfavi.vercel.app/api/v1/export \
  -H 'Content-Type: application/json' \
  -d '{"library":"lucide","name":"image","style":"outline","bg":"#075985","stroke":"#ffffff"}' \
  -o favicon.zip

Rate limits

Production only. POST /api/v1/export: 20 / 60s / IP. GET /api/v1/icons: 120 / 60s / IP. GET /api/v1/health and /api/v1/libraries: 40 / 60s / IP. Responses include RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, RateLimit, RateLimit-Policy, and Retry-After on 429. See /docs/rate-limits.

Webhooks and MCP

favi does not publish webhooks and does not run an MCP server. Dedicated pages: /docs/webhooks and /docs/mcp. Agents should call the HTTP API and read this page, /llms.txt, /openapi.json, and /skills/favi/SKILL.md.