Discord uses battle.net integration and displays player status such as "Playing Overwatch 2". I looked through battle.net API documentation and couldn't find an API that would provide such data.
Is it using some private APIs?
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.
Sign up to join this communityDiscord uses battle.net integration and displays player status such as "Playing Overwatch 2". I looked through battle.net API documentation and couldn't find an API that would provide such data.
Is it using some private APIs?
First, as indicated in the comments, the "Playing [game name]" status is not unique to Overwatch 2. Discord can look at the client side processes, match them against a database & update the reported status accordingly.
Second, it is possible for an application to integrate with Discord. They provide a dedicated GameSDK in their developer documentation.
So it isn't that Discord is using the various APIs of various games, but that games are able to use the Discord API to make use of Discord's features.