Открывать json файлы на дозапись - плохая идея. Просто получишь кашу из скобочек вместо валидного json файла.
В функции search_user(), второй вызов get_new_username() никуда не присваивается.
Сергей Афанасьев, возможно, но нужно либо смотреть на запросы во вкладке network и пытаться их повторять, либо зайти в гугл и найти библиотеку, которая сделала всё за вас.