Skip to content

Search the covered vocabulary

GET/v1/words

Lists catalogue words with the number of clips indexed for each. Use it to check coverage before integrating, or to power an autocomplete over words that will actually return clips.

Parameters

NameInTypeDefaultRequiredDescription
qquerystringnoPrefix or substring to search for. Omit to list by coverage.
languagequerystringennoLanguage of the clips, as a two-letter code. Only languages listed by /corpus return results.
glossqueryen | es | ja | pt | ru | tr | zhennoLanguage for word meanings in the response. Falls back to English when a meaning is missing in the requested language.
levelquerystringnoRestrict to these CEFR levels, comma separated. Omit for all levels.
hasClipsquerybooleantruenoRestrict to words with at least one clip.
limitqueryinteger20noItems per page.
cursorquerystringnoThe nextCursor of the previous page. Opaque; do not construct it yourself.

Response

FieldTypeDescription
wordsobject[]
words[].wordstring
words[].wordIdinteger
words[].levelA1 | A2 | B1 | B2 | C1 | C2CEFR level assigned during screening.
words[].meaningstringMeaning in the requested gloss language.
words[].clipCountinteger
totalCountinteger
nextCursorstring

Errors

StatusCodeWhen
401invalid_keyThe key is missing, unknown or disabled.
429rate_limitedToo many requests, or the plan quota is spent. Retry-After carries the wait in seconds.

Example

bash
curl https://clips.vocaflare.com/v1/words \
  -H "Authorization: Bearer $VOCAFLARE_API_KEY"
json
{
  "words": [
    {
      "word": "receive",
      "wordId": 4127,
      "level": "B1",
      "meaning": "almak",
      "clipCount": 9
    },
    {
      "word": "recipe",
      "wordId": 4130,
      "level": "A2",
      "meaning": "tarif",
      "clipCount": 4
    }
  ],
  "totalCount": 2758,
  "nextCursor": "eyJvIjoyMH0"
}

Metadata only. Playback runs on YouTube, through your own embed.