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.
Top comments (1)
Offloading text normalization and morphological analysis to pure, dependency-free microservices is such a textbook senior move. It keeps the main monolith lean and saves dozens of engineering hours down the line.
We’ve been experimenting with similar lightweight, decoupled architectures for our infra lately, and seeing someone actually ship this format at scale is pure validation. Absolutely stellar execution.