Skip to main content

Kaomojis 公共 API

最大規模的日本顏文字 JSON API(55,000+ 條、12 種語言),免費、開放 CORS、OpenAPI 3.0。

55,000+ 條 · 涵蓋全面的日本顏文字資料庫 12 種語言 · keywords / usage / note 全量在地化 OpenAPI 3.0 · 相容 Swagger UI / Redoc / Postman 免費且開放 CORS · 免驗證、瀏覽器可直接呼叫

快速入門(30 秒)

无需鉴权或 API key。直接把以下命令粘贴到终端。

# random kaomoji
curl "https://kaomojis.jp/api/v1/kaomojis/random?locale=en"

# search
curl "https://kaomojis.jp/api/v1/kaomojis/search?q=love&locale=en"

# paginated list of cute kaomojis
curl "https://kaomojis.jp/api/v1/kaomojis?category=cute&page=1&limit=20&locale=en"

# full category catalog
curl "https://kaomojis.jp/api/v1/categories?type=emotion&locale=en"

JavaScript / TypeScript SDK

@kaomojis/client 支持 Node.js 18+ 与现代浏览器,零依赖、完整 TS 类型。

// Available now — Node.js 18+ and modern browsers, no package required
const response = await fetch(
  'https://kaomojis.jp/api/v1/kaomojis/random?count=3&locale=en'
);
const { data } = await response.json();
console.log(data[0].text); // e.g. "(*´ω`*)"

// Typed SDK (pre-release; not yet available on npm)
// npm install @kaomojis/client

Source: sdk/javascript/ · SDK code license: MIT (the kaomoji data is covered separately — see the FAQ)

Chrome Extension (PoC)
Prefer a no-code client? The Kaomojis extension uses the same public API in a one-click popup.
Use the Chrome Extension →
Discord Bot (PoC)
Drop the same API into any Discord server via slash commands — self-hostable in five minutes.
Self-host the bot →

示範應用

三个可立即运行的最小示例,复制后即可使用。

端點列表

所有端点均为 GET + JSON + CORS(*)。

Method Path Description
GET /api/v1/kaomojis List kaomojis (paginated, filterable)
GET /api/v1/kaomojis/:id Get a kaomoji by numeric id
GET /api/v1/kaomojis/random Random kaomoji(s) (up to 10)
GET /api/v1/kaomojis/search Keyword search ranked by relevance
GET /api/v1/random Shorthand alias for /kaomojis/random
GET /api/v1/search Shorthand alias for /kaomojis/search
GET /api/v1/categories List categories with kaomoji counts
GET /api/v1/openapi.json OpenAPI 3.0 specification

更新紀錄

  • 2026-09-05 — 明確標示了入口的限制(單一 IP 每秒 10 次請求,另有約 20 次的短時突發額度)。該限制先前即已存在,只是沒有寫明。如有疑問請聯絡 [email protected]
  • 2026-08-25 — 明確了使用條件。本站不對顏文字字串本身主張獨占權利(於本站擁有權利的範圍內以 CC0 1.0 提供)。說明文字、範例句與關鍵字須標示出處,且不得大量再散布。本條件適用於 2026-08-25 起取得的內容,不溯及此前依舊條款已取得的內容。洽詢:[email protected]
  • 2026-08-25 — 不相容變更:列表端點 (/api/v1/kaomojis) 與隨機端點 (/api/v1/random、/api/v1/kaomojis/random) 回傳的項目已移除 note 與 usage 欄位。需要說明文字與範例句時,請使用單筆取得 (/api/v1/kaomojis/{id}) 或搜尋 (/api/v1/search、/api/v1/kaomojis/search)。此變更用於防止編輯內容被大量擷取。
  • 2026-08-25 — 文件中標示的公平使用限制(每 IP 每分鐘 60 次)已實際生效,超過時回傳 429 與 Retry-After。

速率限制與快取

每個 IP 每分鐘 60 次請求,且每分鐘最多回傳 1,000 筆。超過任一限制會回傳 429 與 Retry-After。搜尋每次最多 25 筆。 此外在入口處,單一 IP 的持續上限為每秒 10 次請求,另可直接通過約 20 次的短時突發。超出部分會在抵達應用前回傳 429。請依上面每分鐘 60 次這一更嚴格的上限控制節奏,依序呼叫,不要並發。歡迎商用,請尊重 Cache-Control。偵測到濫用會依 IP 封鎖。 註:請求次數限制與筆數預算均以應用程式行程為單位計數。由於服務以多行程運作,回傳 429 的確切時點可能有所浮動。請以標示值為上限設計用戶端,收到 429 時請遵循 Retry-After。超出標示值的用量並非可用量的保證。

OpenAPI 3.0 規範

完整規範位於 /api/v1/openapi.json,可直接匯入 Swagger UI / Redoc / Stoplight / Postman。

→ /api/v1/openapi.json

常見問題

可以商用嗎?

我們認為顏文字是大家一起養成的共有財產。本站不對單一顏文字字串本身主張獨占權利。在本站擁有權利的範圍內,以 CC0 1.0 提供(毋須標示出處)。但本站不保證特定字串不存在第三方權利。相對地,說明文字、範例句與關鍵字是本站逐條撰寫的作品:使用時須以連結標示來源 kaomojis.jp,且不得大量複製或作為資料集再散布。

說明文字與範例句可以在哪些端點取得?

單筆取得 (/api/v1/kaomojis/:id) 與搜尋 (/api/v1/search) 會回傳。列表端點 (/api/v1/kaomojis) 只回傳顏文字、分類與關鍵字,以免翻頁就能把手寫說明整批取走。

需要 API key 嗎?

不需要,目前 API 公開且無需驗證。

資料多久更新?

每日到每週更新。請遵循 Cache-Control 以高效快取。

SDK 發布到 npm 了嗎?

目前為預發布版,正式發布後將作為 @kaomojis/client 提供。

貢獻與回饋

歡迎至 GitHub 開 Issue 或寄信至 [email protected]。期待看到你的作品。

最後更新:2026-04-15