The API cannot create UI elements, it does not exist in the client's browser, but on the API server in the cloud. It can only change the state of the game. It does that by creating, manipulating, and removing game objects. The closest you could come to a traditional UI would be creating a specifically formatted Handout object. However, you wouldn't be able to take advantage of any of the things you would need to make it work for gathering data. This is why we use chat menus with buttons and Roll Queries for user interface generally. That aside, the API runs in a sandbox and does not have access to anything other than the game state via game objects. It cannot connect to external services, or use external resources. The closest you could get to something like that would be to create an API script that acts as the backend interface to a browser-based extension that handles connecting to external services and channeling data back and forth. That's not something that can be supported by Roll20, though there are examples of community members doing just this for things like updating Twitch streams and such.