Japanese text utilities: furigana, normalization, multi-reading names, classification. x402-enabled for AI agents.
Pay from $0.001 per request in USDC on Base / Polygon / Solana, settled onchain via the x402 protocol, no signup, no API key needed.
UPTIME 24H 100% │ 7D 100% │ 30D 100%
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET |
|---|---|---|---|---|---|
| POST | /batch | $0.0016 | Base/Polygon/Solana | USDC | |
| POST | /classify | $0.005 | Base/Polygon/Solana | USDC | |
| POST | /convert | $0.005 | Base/Polygon/Solana | USDC | |
| POST | /furigana | $0.005 | Base/Polygon/Solana | USDC | |
| POST | /name-readings | $0.005 | Base/Polygon/Solana | USDC | |
| POST | /normalize | $0.001 | Base/Polygon/Solana | USDC |
6 endpoints
REQUEST / RESPONSE EXAMPLE
An unpaid request to POST /batch returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
// request
curl -i -X POST 'https://furigana.agentic-jp.com/batch'
// 402 response (captured by monitor) · 6 payloads · click to expand
[
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/furigana"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/furigana"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/furigana"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "5000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/furigana",
"mimeType": "application/json",
"description": "Convert kanji-mixed Japanese (JP) text to hiragana, katakana, or romaji (Hepburn/Nippon/Passport), with a per-token breakdown of surface form, reading, and part-of-speech. Backed by the kuromoji morphological analyzer. Use to generate ruby readings, build search indexes, or preprocess text for speech synthesis."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"text": "東京都千代田区永田町",
"options": {
"to": "hiragana",
"mode": "normal",
"romaji_style": "hepburn"
}
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"input": "東京都千代田区永田町",
"result": "とうきょうとちよだくながたちょう",
"tokens": [
{
"pos": "名詞",
"reading": "とうきょう",
"surface": "東京"
}
]
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000,
"description": "Japanese kanji-mixed text to convert to a reading"
},
"options": {
"type": "object",
"properties": {
"to": {
"enum": [
"hiragana",
"katakana",
"romaji"
],
"type": "string"
},
"mode": {
"enum": [
"normal",
"furigana",
"okurigana"
],
"type": "string"
},
"romaji_style": {
"enum": [
"hepburn",
"nippon",
"passport"
],
"type": "string"
}
}
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/normalize"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "1000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/normalize"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "1000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/normalize"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "1000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/normalize",
"mimeType": "application/json",
"description": "Normalize Japanese (JP) text to a canonical form: fullwidth↔halfwidth conversion, halfwidth-katakana folding, invisible-character removal, and whitespace cleanup — each transformation toggleable. Returns a per-change log. Use to deduplicate or match text where '東京' and 'トウキョウ' must compare equal."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"text": "アイウ ABC 123"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"input": "アイウ ABC 123",
"changes": [
{
"type": "halfwidth_kana_to_fullwidth",
"count": 3
}
],
"normalized": "アイウ ABC 123"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000,
"description": "Japanese text to normalize (fullwidth/halfwidth, kana, invisibles)"
},
"options": {
"type": "object"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/name-readings"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/name-readings"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/name-readings"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "5000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/name-readings",
"mimeType": "application/json",
"description": "List the possible readings of a Japanese (JP) name — person, company, or place — each with a probability, since names like 山崎 (やまざき / やまさき) are ambiguous without context. Returns hiragana, katakana, and romaji per candidate. Use for CRM name-matching, furigana fields, and call-list preparation."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"name": "山崎太郎",
"name_type": "person"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"input": "山崎太郎",
"candidates": [
{
"probability": 0.68,
"reading_romaji": "Yamazaki Taro",
"reading_hiragana": "やまざきたろう"
},
{
"probability": 0.32,
"reading_romaji": "Yamasaki Taro",
"reading_hiragana": "やまさきたろう"
}
],
"confidence": 0.85
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"description": "A Japanese name (person/company/place)"
},
"name_type": {
"enum": [
"person",
"company",
"place"
],
"type": "string"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/classify"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/classify"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/classify"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "5000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/classify",
"mimeType": "application/json",
"description": "Classify a Japanese (JP) string as person_name / company_name / place_name / general / mixed, with a probability, ranked alternates, and a character-type breakdown (kanji/kana/ascii ratios). Use to route input to the right handler before further processing."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"text": "山田太郎"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"input": "山田太郎",
"classification": {
"primary": "person_name",
"probability": 0.92
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 5000,
"description": "Japanese text to classify"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/convert"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/convert"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "5000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/convert"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "5000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/convert",
"mimeType": "application/json",
"description": "Single-shot script conversion of Japanese (JP) text between hiragana, katakana, and romaji (Hepburn/Nippon/Passport styles). Lighter than /furigana — for text that is already kana, with no morphological analysis. Use for quick kana↔romaji transliteration."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"to": "katakana",
"text": "とうきょう"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"converted": "トウキョウ"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"text",
"to"
],
"properties": {
"to": {
"enum": [
"hiragana",
"katakana",
"romaji"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 5000,
"description": "Japanese text to convert between scripts"
},
"style": {
"enum": [
"hepburn",
"nippon",
"passport"
],
"type": "string"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/batch"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "1600",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://furigana.agentic-jp.com/batch"
},
"payTo": "0x38c9F689274E2fC3AE360744eF88ce212077a584",
"amount": "1600",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BFK9TLC3edb13K6v4YyH3DwPb5DSUpkWvb7XnqCL9b4F",
"resource": "https://furigana.agentic-jp.com/batch"
},
"payTo": "2BTzdCAcCLaNA2SSZ1YjJvTtscNCpUMUEjLY3LyBpNMk",
"amount": "1600",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://furigana.agentic-jp.com/batch",
"mimeType": "application/json",
"description": "Run furigana / normalize / classify / convert over up to 100 Japanese (JP) text items in one call, with per-item success/error reporting. Dynamic pricing: a small per-item fee. Use to process a whole text column or import file at once."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"items": [
{
"id": "1",
"text": "東京都"
}
],
"operation": "furigana"
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"count": 1,
"results": [
{
"id": "1",
"success": true
}
],
"operation": "furigana"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method",
"bodyType",
"body"
],
"properties": {
"body": {
"required": [
"operation",
"items"
],
"properties": {
"items": {
"type": "array",
"maxItems": 100
},
"options": {
"type": "object"
},
"operation": {
"enum": [
"furigana",
"normalize",
"classify",
"convert"
],
"type": "string"
}
}
},
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
}
] UPTIME
RESPONSE TIME
30d UPTIME 100%
UPTIME 30D 100%
AVG RESP 351ms
TOTAL CHECKS 10
RECENT CHECKS
TIME STATUS RESP
● OK 448ms
● OK 399ms
● OK 419ms
● OK 360ms
● OK 290ms
● OK 423ms
● OK 270ms
● OK 345ms
● OK 243ms
● OK 315ms
EMBED THIS BADGE
// HTML
<a href="https://x402-list.com/services/japan-furigana-api?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/japan-furigana-api.svg" alt="Japan Furigana API listed on x402-list" height="28"> </a>
// Markdown
[](https://x402-list.com/services/japan-furigana-api?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/japan-furigana-api?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/japan-furigana-api.svg?data=uptime" alt="Japan Furigana API uptime on x402-list" height="28"> </a>