Создайте в БД какой нибудь столбец (например hidden) и если профиль скрыт, то пусть стоит значение 1, а если нет, то 0. При обращении к профилю проверять скрыт ли профиль или нет и выводить информацию
Код openapi имеет размер 80 кб. 3 секунды тратится на загрузку скрипта. + грузятся еще наверняка какие-нибудь стили. Вот и ваши дополнительные секунды загрузи. Тут скорее всего ничего нельзя сделать.
AJAX - но тут надо разбирать все. Либо парсить без токена (чтобы не было 9 ошибки), либо парсить по 25 сразу (через execute, но с токеном). 1 запрос - 25 ответов. Но надо быть готовым, ибо капча может возникнуть даже в безобидгных ситуациях
Нужно, чтобы был объект а не массив. Т.е в json первым символом должен быть { а не [. Занесите все данные в какой-нибудь массив, например response, а потом кодирцйте в json. Тоже голову долго ломал.