The data on Special:TrackingCategories should be available via the API, mostly the list of message keys and the default categories.
Probably create a TrackingCategories class that houses the code in SpecialTrackingCategories::prepareTrackingCategoriesData() and an API module that wraps around that.