{"openapi":"3.1.0","info":{"title":"Text Segmentation API","version":"1.0.0","description":"Count and split text the way people actually read it, using Unicode-correct segmentation. The count endpoint returns the number of grapheme clusters — the real, user-perceived characters, so a family emoji counts as 1 (not 7) and an accented letter as 1 — alongside words, sentences, code points, UTF-16 code units (the naive string length that over-counts) and UTF-8 byte length. This is exactly what character-limit fields, tweet/SMS counters and validation need so the count agrees with what the user sees. The segment endpoint splits text into grapheme, word or sentence segments (word segments are flagged word-like versus punctuation and spaces) and is locale-aware, so Japanese, Chinese and Thai word boundaries come out right. Everything is computed locally with no network calls. A Unicode text segmenter — distinct from the Unicode codepoint database (unicode), the case/text-utilities toolkit (text) and string similarity (similarity). No upstream key, no cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/segmenter-api","description":"oanor gateway"}],"tags":[{"name":"Segmentation"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/count":{"get":{"operationId":"get_v1_count","tags":["Segmentation"],"summary":"Emoji-safe character/word/sentence counts","description":"","parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"Hello 👋 café"},{"name":"locale","in":"query","required":false,"description":"BCP 47 locale (for word/sentence)","schema":{"type":"string"},"example":"en"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/segment":{"get":{"operationId":"get_v1_segment","tags":["Segmentation"],"summary":"Split into segments","description":"","parameters":[{"name":"text","in":"query","required":true,"description":"The text","schema":{"type":"string"},"example":"The quick brown fox."},{"name":"granularity","in":"query","required":false,"description":"grapheme, word, sentence","schema":{"type":"string"},"example":"word"},{"name":"locale","in":"query","required":false,"description":"BCP 47 locale","schema":{"type":"string"},"example":"en"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Granularities","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2020,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":595,"monthly_call_quota":38000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1980,"monthly_call_quota":204000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5180,"monthly_call_quota":790000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/segmenter-api"}