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.