API · /punycode-api

Punycode / IDN API

healthy 3,697 Subscribers

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.oanor.com/punycode-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/punycode-api/openapi.json
/api/punycode-api/llms.txt

Discovery: GET /api/index.json lists every API.

Punycode / IDN API — live data on the oanor API marketplace

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
status Full status page → · 8 probes/24h

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
Sign in to subscribe

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
Sign in to subscribe

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
Sign in to subscribe

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
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Crypto Phishing Check API — oanor API marketplace

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 — oanor API marketplace

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 — oanor API marketplace

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 — oanor API marketplace

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?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Punycode / IDN API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Punycode / IDN API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Punycode / IDN API cost?
Punycode / IDN API has a free tier with 100 calls / month. Paid plans start at €4.60 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Punycode / IDN API GDPR-compliant?
All requests to Punycode / IDN API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

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 in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 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 in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.