The entry shape
Field by field. One shape for English and Japanese; what a language does not have is null or empty, never missing.
Identity and rank
An entry is one headword in one language. Homographs, words written the same with unrelated meanings, are one entry with a homograph number on every sense, inflection and pronunciation, so a client groups by it.
frequency_rank is the entry's position in its language by corpus frequency; 1 is the most frequent. Null is unranked. Ranking and paging has the bands immit draws from it.
Senses
A sense carries its part of speech in the entry's own language with translations of the label, a definition in that language, translations keyed by the other language with glosses and a qualifier, and parallel example pairs. An English entry's Japanese glosses carry kana readings, so a client can show furigana without a second lookup.
Inflections
Every form is a row with its text, the form's name and translation, a display sequence, and for Japanese a tone and a polarity and its own reading. A client never deinflects: look the surface up through search and the entry comes back with the table.
Pronunciations and audio
English rows carry IPA and a dialect; Japanese rows carry a kana reading and a pitch accent. Each row has sounds, playable mp3_urls with the voice and its gender. Audio says how to play them.
Spellings and relations
spellings are other written forms of the same word with a label, 喰べる for 食べる as rare kanji, and the texts that inflect them. relations are synonyms and antonyms hung on a sense and pointing at another entry of the same language.
A whole entry
The showcase on the overview renders 食べる beside its JSON, and the first request on Getting started fetches the same row. Two languages, one shape puts an English entry beside it field by field, and the reference lists every field with its type.