The API browser does not have to do much with xowiki. The API is providing a general interface, which is programming language agnostic [1].
In essence, the information is kept in an nsv, which can be filled with data from different providers. To explore what is the content of this data structure e.g. for the function "acs_user::get_by_username", use the following from ds/shell:
nsv_dict keys api_proc_doc acs_user::get_by_username
The command "ns_dict" was introduced recently in NaviServer, for older version, one can use:
dict keys [nsv_get api_proc_doc acs_user::get_by_username]
To get a certain dict entry, use
nsv_dict get api_proc_doc acs_user::get_by_username main
Pretty-printing of the source-code is performed through [2] based on the proc-name and introspection, so this will need some awareness of other languages (by e.g. adding as well a language identifier to the dict, etc.), but here the question arises, how much information will be provided. Currently, the API-browsers provides minimal support for e.g. SQL [3] (also XQL [3]), but it does not show the used .css files (there is just minimal support via the developer support, but often the CSS and/or JavaScript files are minified and nor really useful).
So, depending on the goals, one can go different direction, it really depends, what other languages one has in mind...
Hope this helps
-g
[1] https://openacs.org/api-doc/procs-file-view?version_id=5433171&path=packages/acs-api-browser/tcl/acs-api-documentation-procs.tcl
[2] https://openacs.org/api-doc/proc-view?proc=apidoc::tcl_to_html&source_p=1
[3] https://openacs.org/api-doc/package-view?version_id=5452089&public_p=0&about_package_key=&kind=sql_files
[4] https://openacs.org/api-doc/proc-view?source_p=1&proc=forum::get&version_id=5452089