Permission to reverse engineer the Bunpro API

I was reading through a topic called “Bunpro API when?” For information on the Bunpro API.

Found that it is not currently available by design, not because the team don’t want it but more because it is more effort when the team has other focuses.

This message indicates that the team is okay if members of the community want to reverse engineer the API.

This is me requesting permission to do so and to share the API methods I find in a GitHub public repository?

Looking forward to a response

7 Likes

Welcome to the forums~ :tada:

Thanks for asking!

Yeah you can, that’s fine.
Just note that they may change without warning :sweat_smile:

3 Likes

Hi @Sean :wave:,

Thank you for the update :arrow_up:. Glad to hear it​:ear:. I’ll make it a plan to keep the API as up to date as I can and make the necessary changes as and when the Bunpro team make updates :gear:.

Thank’s again for the confirmation :white_check_mark:, for the time being I will use a link to this post and a s screenshot of the post in the repository as a bit of an open permission for this and if that licence ever changes please feel free to let me know here :point_left:

3 Likes

(Can we get a link to the GitHub repo?)

2 Likes

Sorry, I only just got around to spinning up the Repository and I haven’t yet done much by way of documenting the API.

Here is the repository that I intend to use for this project:

4 Likes

Awesome work! I just want a way to sync my known words from other tools like Migaku or jiten.moe to Bunpro. And maybe back to those tools so they’re all in sync.

As it is now, I have to mark each vocab myself as mastered in Bunpro from a deck that has the vocab.

As I can see it, since I need the deck id and reviewable id + type to mark a word as known, I need to first fetch all the reviewables in a deck somehow. My plan then would be to match and mark each reviewable in the deck to a list of known words from another system. The marked words I would then run through the “mark as mastered” api endpoint.

If there is no way to use an api to fetch all the reviewables, the only choice would be to scrape the html for deck id + vocab data so I can create my own data structure and then go from there.

@Sean Is it still OK to scrape the site for data like this if there is no API available?

3 Likes

Hi there!
You don’t need the Deck ID to Mark something as Mastered.
Try “Mark as Mastered” directly from a Vocab page and check the payload.

If there is no way to use an api to fetch all the reviewables, the only choice would be to scrape the html for deck id + vocab data so I can create my own data structure and then go from there.

Would probs be easier to use the Search API (check the /search page)

Otherwise I can probs generate a CSV with all our Vocab IDs + slugs + titles + jmdict IDs

3 Likes

Hey @Sean,

Two question, first, would it be possible for the team to switch out the API token in the user settings (which currently does nothing for the available API) with the API token currently used by each user for the from end (the one that we currently have to get from the console to use the API).

The second ask is a little more involved, but would it be possible to add a frontend API endpoint that could retrieve this token from the profile using a kind of OAuth or something?

I’m currently building the documentation into an Open API documentation, and happy to have the note about how users can grab their token, but would be great if there was an API related way they could grab the token or update their token as needed

:vulcan_salute:t3: :v:t3: :metal:t3:

1 Like

Even if it’s only the api token in settings working with the api, that’s good enough.

Agreed, this would be fine, but the token currently doesn’t work.

1 Like

Forgive me bumping a super old topic… but I’m wondering if I have a list of known words (from another SRS system), if those can be imported into the BunPro ecosystem? I use BP just for Grammar…but I kind of want to use it for some vocabulary too. It would be really helpful to be able to import my known words. I didn’t think this was possible at this time, but is it? If it’s not–is this something the BP team is planning at some point in the future? Cheers.

3 Likes

I believe a temporary solution could be to put those words into a CSV file, import that as a custom deck, and then mark all of those items as mastered at once

2 Likes

Nice! I was very active with Bunpro ~2021–2022-ish. Been on a hiatus and came back again a month or so to resume my studies. I saw the ability for a custom deck…but had questions on that. One of those was I was worried that if I created one, it would be “published” to the whole community. BUT, if I can create a private deck and it’s just for me, then I may very well just do my vocab SRS through Bunpro. I had been using Kitsun.io for a while for that. But again, I’m sort of coming back from a hiatus, and want to make a clean start. Trying to think of what the best way or approach to my studying ‘infrastructure’. I just haven’t really tried Bunpro for vocab or SRS. I’ve just limited myself to linking my WaniKani API to mark those words as mastered/burned in Bunpro. BUT-- I love the idea of seeing the progress bars on things like Genki / N5 / N4 / etc. go up in the decks section. Or maybe I just stick with Kitsun…hmm…

One thing is that I had tried Anki years ago…but DID NOT like it. I’ll have to keep digging & reading other people’s thoughts on this. Thanks for the idea @Flutter !

1 Like

The Decks you create are private by default!

The pro of studying with Bunpro is that for the N-level and A1 to A-4 level Vocabs, you get sentences for each Vocab that is curated by natives.

I am sorry for a little flooding, but… do you have any nice reliable ways to edit Migaku cards with scripts? API or anything else?