Vocabulary and reviews with the API

Check whether you already study a word before adding it again, and read how much is waiting in your review queue.

By Peder HellandUpdated October 1, 2026

Both endpoints here need a key with the vocabulary:read scope. They are read-only: nothing on this page changes your vocabulary or your review schedule.

If you created your API key before these endpoints existed, it does not have the new scope. Create a new key to use them - an existing key cannot have scopes added to it.

Look a word up

curl "https://yalango.com/api/v1/vocabulary?language=es&word=el%20perro" \
  -H "Authorization: Bearer yal_your_key_here"
{
  "language": "es",
  "word": "el perro",
  "items": [
    {
      "item_id": "Vx8QmRt2YsKdLp4n",
      "source": "the dog",
      "target": "el perro",
      "status": "active",
      "spaced_repetition_level": 4,
      "next_review": "2026-04-02T03:00:00.000Z",
      "deck_doc_ids": ["8sKd92mfPqR1xLvBn4Tz"]
    }
  ]
}

An empty items array means you are not studying that word yet. That is what makes this useful before a write: check first, and you avoid ending up with the same word in three decks.

deck_doc_ids lists every deck the word appears in, because vocabulary is shared across all your decks and tables rather than owned by one of them.

Matching is exact

word is matched against both source and target, exactly, ignoring case. There is no prefix, partial or fuzzy matching - searching for perro will not find el perro. Both language and word are required, and language is the target language of the vocabulary you want to search.

Statuses

StatusMeaning
activeBeing studied normally. Most words.
pausedTaken out of rotation by you. Not served by a study session.
learntMarked as known. Not served by a study session.
deletedRemoved from your vocabulary.

spaced_repetition_level is the word's position on the review ladder, and next_review is null for a word you have never reviewed.

See what is due for review

curl "https://yalango.com/api/v1/review?language=es" \
  -H "Authorization: Bearer yal_your_key_here"
{
  "languages": ["es"],
  "overdue": 7,
  "due_today": 12,
  "unstarted": 40,
  "forecast": [
    { "date": "2026-04-03", "due": 5 },
    { "date": "2026-04-04", "due": 18 }
  ],
  "timezone_offset": -120
}
FieldWhat it counts
overdueScheduled before today and still not reviewed.
due_todayScheduled for today.
unstartedNever reviewed - new material a session can draw on.
forecastThe days after today, oldest first.

Leave language out to total every language you study. languages in the response always tells you which ones the numbers cover.

The first three numbers match what a session serves

overdue, due_today and unstarted exclude words you have paused, marked as learnt, or deleted - exactly as a real study session does. So overdue + due_today is the number of reviews actually waiting for you, not a count of rows in a table.

forecast is a projection of the stored schedule and does not apply that filter, so a day further out may read slightly high. It is a forecast either way: a word you pause tomorrow will not be due next week regardless of what today's number says.

Days and timezones

A Yalango study day starts at 04:00 in your local time, not at midnight, so a late-night session still counts toward the right day. The dates in forecast are study days in your timezone.

The API uses the timezone saved in your account, which the web app keeps up to date. If you need a different one for a single request, pass timezone_offset in minutes, following JavaScript's getTimezoneOffset - so UTC+2 is -120:

curl "https://yalango.com/api/v1/review?language=es&timezone_offset=-120" \
  -H "Authorization: Bearer yal_your_key_here"

This applies to that request only. It never overwrites the timezone your account uses everywhere else.

You cannot review through the API

There is no endpoint for answering a card or advancing the schedule. Reviews have to happen in a game in the app, where the answer and the time taken are recorded together. These endpoints tell you what is waiting; the studying still happens in Yalango.

Was this article helpful?
0

Comments

Sign in to join the conversation.