Punycode to Unicode
API · /punycode-api
Punycode / IDN API
Convert internationalized domain names (IDNs) between their human-readable Unicode form and the ASCII Punycode form (xn--…) that DNS actually uses. Encode a Unicode domain like münchen.de or 例え.jp (or even an emoji label like ☕.example) to ASCII, decode an xn-- domain back to Unicode, and convert a whole URL's host in either direction. Handles accents, non-Latin scripts and emoji. Useful for IDN domain handling, email and URL validation, DNS tooling, and spotting homograph / look-alike domains. Pure local IDNA conversion — no key, no third-party service, instant. Live. 4 endpoints. Distinct from Public-Suffix-List domain parsing and from generic text encoders.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 80 ms
- Server probes · 24h
- Subscribers
- 3,697
- active
- Total calls
- 76
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 1,280 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 1,280 calls/month
- 2 req/sec
- Encode + decode + URL
- No credit card
Starter
€4.60 /month
- 17,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 17k calls/month
- 8 req/sec
- Emoji + non-Latin scripts
- Email support
Pro
€24.20 /month
- 160,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 160k calls/month
- 20 req/sec
- DNS / validation pipelines
- Priority support
Mega
€60.20 /month
- 820,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 820k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Crypto Phishing Check API
Tell whether a domain is a known crypto phishing or scam site before a wallet or user connects to it — using MetaMask's canonical eth-phishing-detect blocklist, the same list that protects millions of MetaMask users, read keyless and live. It runs the real detection logic: an exact and subdomain match against the blocklist and allowlist, plus a Levenshtein fuzzy match against high-value lookalike targets to catch typosquats like "myetherwaliet.com" or "app-wallet-uniswap.org". Check a domain or URL for a verdict (blocked, allowed, fuzzy or unknown) with the reason, search the 190,000-entry blocklist, or read its stats. The dApp-connection safety layer every wallet, browser extension, Telegram bot and security tool needs to warn users before they sign. Live, lightly cached.
api.oanor.com/phishingcheck-api
Domain Parser API
Parse any hostname or URL with the Public Suffix List. Split a domain into its subdomain, registrable domain (eTLD+1) and public suffix (eTLD), or fetch just the suffix or just the registrable domain. Handles full URLs, internationalized (punycode) domains, IP addresses, multi-level suffixes like co.uk and com.au, and — when you ask for it — private suffixes such as github.io and s3 buckets. Built on an always-current Public Suffix List and served entirely in-memory, so responses are instant and the service is always available. Ideal for cookie and domain scoping, analytics attribution, email and link validation, security and anti-abuse, and devops tooling.
api.oanor.com/domain-api
WHOIS API
Domain and IP registration lookups via RDAP — the modern, structured successor to WHOIS. Get the registrar, registration / update / expiry dates, status codes, nameservers, DNSSEC state, and IP network ownership (CIDR, organization, country).
api.oanor.com/whois-api
TLD (Top-Level Domain) API
Every top-level domain in the IANA root zone as an API — the authoritative list a registrar, domain validator or analytics tool needs. For each TLD: whether it is a country-code TLD (ccTLD), a generic TLD (gTLD) or an internationalized (IDN) domain, its A-label, its Unicode form (e.g. xn--p1ai resolves to .рф) and, for ccTLDs, the country it belongs to. Validate a TLD or whole domain, find a country's ccTLD, filter by type, search, or list the entire root zone. Sourced from IANA's official tlds-alpha-by-domain.txt and served from memory — always fast.
api.oanor.com/tld-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Punycode / IDN API?
What's the rate limit for Punycode / IDN API?
How much does Punycode / IDN API cost?
Can I cancel my subscription anytime?
Is Punycode / IDN API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/punycode-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/punycode-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/punycode-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/punycode-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.