Ordinal of a whole number (short + words)
API · /numberwords-api
Number Words API
Format numbers in human-readable forms as an API. Spell any number in English words — handling thousands through quintillions, negatives and decimals (e.g. 1,234,567 → "one million two hundred thirty-four thousand five hundred sixty-seven", 12.56 → "twelve point five six"). Turn a whole number into its ordinal, both short (21 → 21st, 113 → 113th) and written out (twenty-first, one hundred thirteenth). And convert any whole number from 1 to 3999 to Roman numerals and back (2024 ⇄ MMXXIV), with strict validation. Everything runs locally, so it is fast and always available. Ideal for invoices, cheques and accounting, legal documents, internationalisation, accessibility (screen readers), education and any UI that turns digits into words.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 93 ms
- Server probes · 24h
- Subscribers
- 4,406
- active
- Total calls
- 92
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 14,500 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 14,500 calls/month
- 2 req/sec
- Words, ordinals & Roman
- No credit card
Starter
€2.30 /month
- 225,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 225k calls/month
- 8 req/sec
- Decimals & negatives
- Email support
Pro
€8.10 /month
- 880,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 880k calls/month
- 20 req/sec
- Invoices & accounting
- Priority support
Mega
€27.40 /month
- 3,600,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 3.6M calls/month
- 50 req/sec
- High-traffic apps
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Roman Numeral API
Roman numeral conversion as an API, computed locally and deterministically. The encode endpoint turns an integer from 1 to 3999 into its Roman numeral using standard subtractive notation, so 1994 becomes MCMXCIV and 2024 becomes MMXXIV. The decode endpoint turns a Roman numeral back into an integer with strict validation — it rejects malformed forms such as IIII or VV and also returns the canonical way to write the same value, accepting any letter case. The arithmetic endpoint adds, subtracts or multiplies two values given as either integers or Roman numerals and returns the result as a Roman numeral and as an integer, provided the result stays within the classic 1–3999 range. The standard subtractive pairs are IV, IX, XL, XC, CD and CM. Everything is computed locally and deterministically, so it is instant and private. Ideal for typesetting, publishing, education, clock-face, game and document-processing app developers, numbering and chapter tools, and history teaching. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is Roman numeral conversion; for binary, octal and hexadecimal number-base conversion use a base-conversion API.
api.oanor.com/roman-api
Number API
A fast, fully-local number toolkit: spell numbers out in English words (great for amount-in-words on invoices and cheques), format ordinals (1st, 2nd, 112th), convert integers to and from Roman numerals (1 to 3999), convert numbers between any bases from 2 to 36, and format numbers locale-aware as decimal, currency or percent. Every endpoint accepts input via the query string or the request body. Pure server-side compute, no third-party upstream, so responses are instant and always available. Ideal for invoicing and billing, localization, education and developer formatting tooling.
api.oanor.com/number-api
Truncate API
Truncate text cleanly. Cut a string to a maximum number of characters — at the end, the start or the middle — breaking on word boundaries so words are never chopped in half, and adding an ellipsis (which counts toward the limit). Middle truncation keeps the start and end and elides the centre, ideal for long file paths and IDs. A words endpoint trims to a number of whole words instead. Everything is emoji- and Unicode-safe (it counts code points, not bytes), so multi-byte characters and emoji are never split. Perfect for previews and teasers, table cells and cards, meta descriptions, breadcrumbs and CLI output. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. Distinct from word wrapping, case conversion and text statistics.
api.oanor.com/truncate-api
Title Case API
Convert a heading to proper headline (title) case the way editors do — not a naive capitalise-every-word. It capitalises the first and last words and all the major words, while keeping articles (a, an, the), coordinating conjunctions (and, but, or…) and prepositions lowercase, and always capitalises the word right after a colon. Choose AP style (lowercases short prepositions, capitalises longer ones) or Chicago style (lowercases prepositions of any length). Hyphenated compounds such as well-known and state-of-the-art are handled correctly. Perfect for article and blog titles, headings, SEO meta titles, product and section names, and CMS tooling. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. Distinct from a plain title/sentence case converter, which capitalises every word.
api.oanor.com/titlecase-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Number Words API?
What's the rate limit for Number Words API?
How much does Number Words API cost?
Can I cancel my subscription anytime?
Is Number Words 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/numberwords-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/numberwords-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/numberwords-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/numberwords-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.