I'm sure the team is starting to think about an external-facing public API for DNDBeyond content (considering the revelations in this thread and the recent upgrades to Avrae). I believe I heard something like this in one of the recent dev updates, with a call to make threads here discussing what any API desires would be.
I am a front-end web developer by trade so I figured I'd put my thoughts for what I'd like to see out of an official D&D Beyond API and get that conversation going. These asks are my personal pipe-dream for paving the way for a technology-centric golden-age of D&D tooling.
The Dream
I want to live in a world where all D&D tools can share a data structure and where none of them have to worry about securing a coveted license agreement with WotC to allow the use of paywalled content. Instead, a single entity has a centralized marketplace where users can purchase content digitally, and then legally use that content in any number of third-party applications that ask that single entity what content their user is allowed to have access to.
In this world, any developer can sit down and create a cool tool without having to worry about the dreaded problem of either asking users to buy the official content yet again, or forcing users to painstakingly input data themselves.
I believe D&D Beyond is the single best hope for this pipe-dream at the moment. Here's some specific desires:
1. Create and Maintain a publicly visible standard data format for 5e content. Encourage third party tools to adopt it.
This is a gargantuan task but I believe it is a space that D&D Beyond is uniquely in a position to accomplish. There are a lot of third-party tools in the wild that involve D&D 5e rules, content, etc. but there is no single standardized data structure that they share, as far as I know. I believe that there have existed several open source initiatives like this in the past, but I can't for the life of me find any right now.
Off the top of my head, sites like these would benefit from having a single common data structure to use to talk about D&D:
Improved Initiative
Kobold Fight Club
Any of the several mobile apps scattered around
Ideally there's a predictable data structure for:
Monsters (NPCs)
Player Characters (and all their creation options, feats, backgrounds, etc.)
Items (Equipment and Magic)
Vehicles
Encounters
Bonus points if Adventure Modules and Rulebooks have a predictable data structure as well, as this would pave the way for content creators to publish content in a way that can be displayed by external tools.
2. Allow access to unlocked content based on user API tokens.
This springboards off of #1, which is essential for it to actually work. Similar to the recent changes to Avrae, I want to be able to add an access token to my API requests in order to gain access to the content I've unlocked on D&D Beyond.
Things get a little weird I'm sure with content sharing campaigns on this front. I would obviously prefer the team to err on the side of "if it's unlocked for any of my profile's characters, allow its access via API," but I understand that's probably not going to happen.
3. API Versioning
This piggybacks off of #3. If a third-party tool makes a request to the API but receives an unexpected data structure, things break and headaches are made. API Versioning will mitigate this, and allow unmaintained third-party tools to continue working with D&D Beyond data requests.
4. D&DBeyond Content manipulation API
As a developer, if I create an applet or integration with say FoundryVTT, I would like to be allow users to make changes to their D&D Beyond created content.
In other words:
A Character Sheet API that is capable of manipulating everything you can manipulate from the current Character Sheet view: health, ac, conditions, spell slots, equipment, magic item charges, etc.
Homebrew content API that would allow for changes to be made to DNDBeyond hosted homebrew content: Magic Items, Monsters, Feats, etc.
5. Real-time character API
This is a pipe dream, but it would be really useful to have a socket-type api that will keep any connected clients up to date with key character statuses: Spell Slots, Health, AC, etc. Bonus points if this API allows the manipulation of said things as well.
This would be useful to create a sort of "Dashboard UI" akin to the Twitch integration, just not exclusive to Twitch.
EDIT: A short addendum to head off the question of "Why would the D&D Beyond team put this much effort into allowing other tools to use their data?"
The simple answer is to drive sales. If D&D Beyond can position themselves as the gatekeepers of official content that can be used anywhere, more people will be inclined to buy official content here.
The Dream
1. Create and Maintain a publicly visible standard data format for 5e content. Encourage third party tools to adopt it.
Off the top of my head, sites like these would benefit from having a single common data structure to use to talk about D&D:
Bonus points if Adventure Modules and Rulebooks have a predictable data structure as well, as this would pave the way for content creators to publish content in a way that can be displayed by external tools.
2. Allow access to unlocked content based on user API tokens.
3. API Versioning
4. D&DBeyond Content manipulation API
5. Real-time character API
EDIT: A short addendum to head off the question of "Why would the D&D Beyond team put this much effort into allowing other tools to use their data?"
The simple answer is to drive sales. If D&D Beyond can position themselves as the gatekeepers of official content that can be used anywhere, more people will be inclined to buy official content here.