Getting a list of all wanikani kanji - known and unknown

Hello, I’m going to try my hand at making a few API calls with wanikani so I can make some data visualizations around my learning. I have only done API calls a few times, so I will probably have questions about that when the time comes. For now, is it possible to get a list of all the kanji you’ve burned, are learning, or have yet to learn and have them be organized as such? Sorry if it’s such a basic question and thank you!

It’s been a while, so I’m a bit rusty, but it might be worth to check @seanblue’s SRS and leech breakdown script. In there, he has some code that counts all the kanji that are in a certain SRS category, and I’m pretty sure it’s possible to do this for the Lesson and Unlisted (or something) categories too.

I’m not clear whether your goal is to learn how to use the API, or whether you want to look at your kanji?

If the latter, it’s always worthwhile to check out which shows you all the gory details :wink:


I think you should skim the WK API reference:

Even without using it, you get a good idea of what data is exposed and how it’s accessible.

1 Like

For this kind of things you can use the export feature of Item Inspector.

Yes, you need to get the assignments data structure:
then you can use its fields to split to split into the categories you are asking for:

  • use subject_type attribute to filter by items type (kanji, radical, vocab)
  • burned items will have burned attribute set to a burn date (not yet burned have it set to null)
  • started_at will be null if you haven’t completed a lesson for this item, other wise it will have a timestamp of when you completed the lesson

You can query all assignments and categorize them locally or you can query only assignments you want by using relevant query params.
E.g. get only burned kanji (I think it should work but I haven’t tested it):


Don’t forget to handle pagination. WK API returns up to 500 items per page. Your code will need to automatically fetch the next page of results until next_url is null.

To see the actual item you’ll need to join the assignments with subjects using subject_id.

Send a few requests, check out the data and you’ll figure it out.

If you have more specific questions about querying the API later on it’d help if you share your code snippets.

1 Like