If you've ever shipped a product that touches Japanese — or just needed a QR code without pulling in a library — you keep hitting the same small-but-annoying jobs: adding reading hints (furigana) to kanji, autocompleting an address from a postal code, counting characters properly, tokenizing text for search, normalizing full/half-width input, or generating a QR code.
I turned these into 8 small APIs. All have a free tier and live on RapidAPI. Here's the lineup and a few copy-paste examples.
The lineup
| API | What it does | Typical use |
|---|---|---|
| Furigana | kanji → hiragana/katakana reading + POS | ruby display, e-learning, TTS preprocessing |
| Romaji | Japanese → Hepburn romaji | i18n, name conversion, search |
| Character Count | chars / char-types / words / reading time | CMS limits, SNS, proofreading |
| Word Segmentation | tokenize Japanese into words | full-text search, NLP preprocessing |
| Postal → Address | 7-digit postal code → prefecture/city/town | e-commerce checkout autofill |
| Calendar | Japanese holidays / business days / era | logistics, finance, scheduling |
| Text Normalizer | full/half-width, half-width kana→full, kana unify, whitespace | form-input cleaning, search keys, dedupe |
| QR Code Generator | text/URL → PNG or SVG, custom color/size/EC level | tickets, business cards, payments, inventory |
The Japanese-text ones share a morphological-analysis engine (kuromoji / IPADIC). Postal ships Japan Post's open data, Calendar ships the official holiday dataset, and QR is pure generation — so there's no external paid dependency anywhere.
Common usage
Subscribe on RapidAPI, get an X-RapidAPI-Key, then POST JSON. No SDK required.
curl -X POST https://<api-host>/v1/<name>/read \ -H "content-type: application/json" \ -H "x-rapidapi-host: <api-host>" \ -H "x-rapidapi-key: YOUR_KEY" \ -d '{ ... }' Example 1: Postal code → address
Probably the highest-demand one. Great for autofilling a shipping address on checkout.
curl -X POST https://japan-postal-code-to-address-zipcode-lookup.p.rapidapi.com/v1/postal/read \ -H "content-type: application/json" \ -H "x-rapidapi-host: japan-postal-code-to-address-zipcode-lookup.p.rapidapi.com" \ -H "x-rapidapi-key: YOUR_KEY" \ -d '{"zipcode":"100-0001"}' { "zipcode": "1000001", "count": 1, "results": [ { "prefecture": "東京都", "city": "千代田区", "town": "千代田" } ] } Hyphenated or full-width digits are accepted. Call it on blur and the address fills itself.
Example 2: Furigana
curl -X POST https://furigana-japanese-reading-converter.p.rapidapi.com/v1/furigana/read \ -H "content-type: application/json" \ -H "x-rapidapi-key: YOUR_KEY" \ -d '{"text":"日本語","mode":"hiragana"}' # => {"reading":"にほんご", ...} Because it's morphological-analysis based, context-dependent readings are handled.
Example 3: QR code (PNG or SVG)
Newest of the set. Returns a PNG data URL you can drop straight into an <img src>, raw base64, or a scalable SVG. Size, quiet-zone margin, error-correction level (L/M/Q/H) and colors are all options.
curl -X POST https://qr-code-generator-png-and-svg-custom-colors.p.rapidapi.com/v1/qr/read \ -H "content-type: application/json" \ -H "x-rapidapi-key: YOUR_KEY" \ -d '{"text":"https://example.com","size":300,"ecLevel":"H","dark":"#c2452a"}' # => { "format":"dataurl", "mimeType":"image/png", "dataUrl":"data:image/png;base64,..." } Ask for "format":"svg" when you want crisp print output.
Wrap-up
Offloading "small boring jobs" to APIs keeps both your frontend and backend lean. Address autofill, furigana, and one-call QR generation in particular pay off fast.
Full list with a live demo: https://claude.ai/artifact/JFqUDGK5PQ3nRYR9CFoTCB
Happy to answer anything about the engines under the hood — drop a comment.
