Score Word
The Score Word API scores the pronunciation of a single lexical unit — whether that is a dictionary word, a letter name, a letter sound, a non-word, or a set of single-word choices. It applies scoring optimizations and model combinations tuned for utterances where the speaker produces just one item, so it is the recommended endpoint whenever your activity targets one word (or one target chosen from a few).
For scoring a phrase, sentence, or passage of connected speech, use Score Text instead.
What you can score
Everything Score Word handles is expressed through the word parameter — as plain text, as an arpa_mark phonetic string, or as \n-separated targets for multiple choice. There is no separate endpoint per input type; the table below maps each kind of target to how you pass it.
Dictionary word
Plain text
cat
Letter name (the letter's spoken name)
Plain text
B
Letter sound (the phoneme a letter makes)
arpa_mark
[b]{b ah0} with markup_language=arpa_mark
Non-word (nonsense / custom word)
arpa_mark
[shuz|zle]{sh ah1 | z ah0 l} with markup_language=arpa_mark
Multiple choice (several single-word targets)
\n-separated
cat\ndog
Request Format
The endpoint to use will depend on the region of your subscription. For example, for US West, the endpoint is https://api.speechace.co.
POST https://api.speechace.co/api/scoring/word/v9/json
Headers
Content-Type
application/json
Query Parameters
dialect
String
Optional default = en-us
Supported values are: en-us, en-gb, es-es, es-mx, fr-fr, fr-ca
user_id
String
Optional
A unique anonymized identifier (generated by your applications) for the end-user who submitted the response.
Request Body
word
String
Required. Max length: 300 characters.
Word to score. Can be expressed as one of:
text: (e.g. "cat")
arpa_mark: (e.g. "[cat]{k ah1 t}")
Multiple Choice with '\n' as separator: (e.g. "cat\ndog")
Multiple choice with arpa_mark: (e.g. "[cat]{k ah1 t}\n[dog]{d ao1 g})
Note: arpa_mark and Multiple Choice are supported for all dialects.
user_audio_file
File
Required. Max Duration: 30 seconds. File with user audio (wav, mp3, m4a, webm, ogg, aiff)
markup_language
String
Optional
Supported values are: arpa_mark
Pass this parameter when using markup language in the word parameter.
Note: arpa_mark is supported for all dialects, using each dialect's own phonetic notation.
include_interference_metrics
String
Optional
Use include_interference_metrics=1 to include interference metrics in the response. When set, the interference_ratio field is returned inside word_score.
See the Detecting Speech Interference guide for how to interpret and use this field.
Note: include_interference_metrics is only supported with en-us and en-gb dialects.
Request Examples
The below examples show different modes of calling the Score Word API with the responses:
A. Score a word
word="cat"
When scoring a single word and you just want to accept Speechace lexicon for inferring phonetic makeup of the word.
B. Score a word with markup
word="[read]{r iy1 d}"
markup_language="arpa_mark"
When you wish to pass the exact expected phonetic markup for the word. For example in this case you want the present tense of "read" rather than the possibility of present or past tense.
C. Score a word with MC
word="cat\ndog"
When you have multiple targets in your activity. For example, you show 2 pictures of a dog and a cat and the learner speaks their favorite.
D. Score a word with MC and markup
word="[cat]{k ah1 t}\n[dog]{d ao1 g}"
markup_language="arpa_mark"
When you have multiple targets but you also wish to explicitly pass the exact phonetic markup for each target.
Response Examples
Below are API response examples for each of the above cases: A, B, C, D.
Response fields
The response JSON contains the following scores.
word_score.word
The target word. If Multiple Choice was used, this is the closest target to what the user spoke.
word_score.quality_score
The pronunciation score for the word (scale 0..100). See this guide for interpreting the quality_score.
word_score.quality_class
pass | fail. The classification for the word based on its quality_score. The threshold applied for pass is quality_score ≥ 70.
word_score.syllable_score_list
An array of syllables within the word, each with its quality_score, stress, and extent information.
word_score.phone_score_list
An array of phonemes within the word, each with its quality_score, stress, and extent information.
Replacing Score Phone List
Score Word is the recommended way to score any single word built from a phoneme sequence, and is a complete replacement for the older Score Phone List endpoint — for both dictionary words and custom non-words.
Score Word uses arpa_mark to express an exact phonetic sequence, and (unlike Phone List) does not require stress notation or syllable boundaries — so converting an existing phone_list call is straightforward.
The word: gotcha
phone_list="g|ao|ch|ah"
word="[gotcha]{g ao ch ah}"
The word: photographer * no stress or syllable boundaries
phone_list="f|ah|t|aa|g|r|ah|f|er"
word="[photographer]{f ah t aa g r ah f er}"
The word: photographer * with stress and syllable boundaries
phone_list="f|ah|t|aa|g|r|ah|f|er"
word="[pho|tog|ra|pher]{f ah0|t aa1 g|r ah0|f er0}"
Last updated