Всем привет! Это не вопрос, а просто желание поделиться тем, что я искал довольно часто, но в итоге разобрался сам.
В общем, если вы хотите получить какие-либо данные о сайте на стороне клиента, их можно извлечь из объекта container.
Например, код для получения категорий выглядит так:
const container = Discourse.__container__;
const categories = container.lookup("controller:navigation/categories").site.categories;
Эти функции нигде не задокументированы, но их можно выявить методом проб и ошибок.
Если вам нужно что-то более сложное, вы также можете ознакомиться с этой темой: Reverse engineer the Discourse API