List supported layouts
API · /keyboardlayout-api
Keyboard Layout API
Re-map text between keyboard layouts — the fix for text typed with the keyboard set to the wrong layout. The remap endpoint takes text, a source layout and a target layout, and rewrites each character to the one produced by the same physical key on the other layout. So text accidentally typed on a Dvorak-configured keyboard while you meant QWERTY (or the reverse) is recovered exactly, and because the mapping is position-preserving it round-trips perfectly. It supports QWERTY (US), Dvorak and Colemak, including the shifted symbols, and leaves characters that are not on a remappable key (spaces and accents) untouched. The layouts endpoint returns the full key map for each layout. Everything is computed locally and deterministically, so it is instant and private. Ideal for fixing wrong-layout typing, building text editors and IME tools, layout-learning aids, and cross-layout search. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This remaps between keyboard layouts; for classical ciphers (Caesar, ROT13, Morse) use a cipher API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 88 ms
- Server probes · 24h
- Subscribers
- 4,338
- active
- Total calls
- 36
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 6,435 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 6,435 calls/month
- 2 req/sec
- QWERTY / Dvorak / Colemak
- No credit card
Starter
€7.95 /month
- 15,950 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 15.95k calls/month
- 8 req/sec
- Shifted symbols + round-trip
- Email support
Pro
€27.85 /month
- 210,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 210.5k calls/month
- 20 req/sec
- Editor / IME pipelines
- Priority support
Mega
€65.85 /month
- 1,095,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 1.095M calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Aspect Ratio API
Aspect-ratio and resize maths on plain dimensions — no image upload needed. The ratio endpoint reduces a width×height to its simplest integer ratio (1920×1080 → 16:9), its decimal value and a common name. The resize endpoint scales a dimension while preserving the ratio: give a new width or a new height and get the other side. The fit endpoint fits a source size into a target box using contain (letterbox) or cover (crop), returning the resulting size, the scale factor and the centering offset. Perfect for responsive layouts and CSS aspect-ratio, video and thumbnail framing, image-grid planning and print sizing. Pure local computation — it works on numbers only and never touches image files. Live, nothing stored. 4 endpoints. Distinct from image processing/resizing (which operates on actual files) and from geometry of shapes.
api.oanor.com/aspectratio-api
Entropy API
Measure the information content of text. The analyze endpoint computes the Shannon entropy in bits per symbol, the total information in bits and bytes, the maximum possible entropy for the alphabet that was actually used, and a normalized 0–1 score that says how uniform (random-looking) the distribution is — over Unicode code points or raw UTF-8 bytes. The frequency endpoint returns the full character-frequency distribution, most common symbol first, with counts and percentages, showing control characters escaped and bytes as hex. It is exact, deterministic and runs entirely locally with no network calls, so it is instant and private. Ideal for randomness and password-quality checks, estimating how compressible data is, language and classical-cipher analysis, spotting low-variety or repetitive input, and feature extraction for text classification. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This measures information content; for password-strength scoring use a password API, for number statistics use a statistics API, and for grapheme/character counts use a text-segmentation API.
api.oanor.com/entropy-api
N-gram API
Generate n-grams from text, with frequency counts — entirely locally. The ngrams endpoint breaks text into contiguous sequences of n tokens and returns each distinct n-gram with how often it occurs, ranked by frequency: word n-grams (unigrams, bigrams, trigrams and beyond) for phrase and collocation analysis, or character n-grams (shingles) for fuzzy matching, language detection and indexing. The range endpoint produces every size from a minimum to a maximum in a single call (for example 1–3 grams), which is exactly what you need to build feature vectors. Choose word or character mode, whether to lower-case first, and a top-N limit to keep only the most frequent. Word tokenization is Unicode-aware and keeps internal apostrophes and hyphens (don't, well-known) as single tokens. Everything runs locally and deterministically, so it is fast and private. Ideal for text mining and NLP feature extraction, language modelling and autocomplete, search indexing and shingling, plagiarism and similarity detection, and keyword and collocation analysis. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This produces n-grams and counts; for extractive summaries and keywords use a summarize API and for grapheme/character counting use a text-segmentation API.
api.oanor.com/ngram-api
Emoji Strip API
Strip, extract and count emoji in any text. The strip endpoint removes every emoji from a string — or replaces each one with a marker you choose — and gets multi-code-point emoji right: ZWJ sequences like the family 👩👩👧👦, skin-tone modifiers (👍🏽), country flags (🇩🇪), keycaps (1️⃣) and variation selectors all count as a single emoji, so nothing is left half-deleted. The extract endpoint lists every emoji it finds with its position in the text and returns per-emoji and unique counts, ideal for analytics and moderation. A bare ©, ® or ™ is deliberately left alone unless it carries an emoji variation selector, and plain digits are never touched. Perfect for cleaning user input before search indexing or storage, sanitising usernames and display names, moderation and analytics, and preparing text for systems that choke on emoji. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This cleans and extracts emoji from text; to look an emoji up by name or shortcode use an emoji database API, and to count graphemes use a text-segmentation API.
api.oanor.com/emojistrip-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Keyboard Layout API?
What's the rate limit for Keyboard Layout API?
How much does Keyboard Layout API cost?
Can I cancel my subscription anytime?
Is Keyboard Layout 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/keyboardlayout-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/keyboardlayout-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/keyboardlayout-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/keyboardlayout-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.