Public Development API

Planned

Comments

81 comments

  • Avatar
    Benjamin Miramontes

    Very excited to use this API to link with all the various VTTs out there. If this becomes available, D&D Beyond will basically be the only place I need to go for any D&D source material!

    0
    Comment actions Permalink
  • Avatar
    Daniel Thorp

    @Andargor I think that's because they don't actually plan on implementing it.

    0
    Comment actions Permalink
  • Avatar
    Jay Stevens

    +1 for this request. My party is using Tabletop Simulator to run our campaign, and as a DM I have to have multiple monitors -- one with Tabletop Simulator to see where the party is moving, and one with D&D Beyond so I can see the rolls the party is making.

    If there was a way I could get Avrae data in Tabletop Simulator, it would be great. But unfortunately, it doesn't seem like there's an easy way to do that.

    0
    Comment actions Permalink
  • Avatar
    Kyse Ghashim

    As a side note, though it's a ToS violation and discouraged at the risk of being banned, the character sheet's JSON is plainly visible as a get request in your developer tools network tab.

    If you want something programmatically, you can intercept the request to the player API with a few tweaks to the window objects XHR, and parse the resulting JSON. Alternatively, you can just send a request to their auth API with your cookies for an auth token and forward that to the character API with the character id, and receive the JSON back. All those things work so long as you're on that site, or falsifying headers in the request.

    A few things DND Beyond can do to limit that access to the API would be restructuring the site into subdomains to invoke CORS for the browsers that respect such policies. For the request for data that don't respect these policies, they can implement obfuscating/encrypting the data (decent idea) or instating a data quota/throttling (horrible idea).

    0
    Comment actions Permalink
  • Avatar
    jastreich

    Kyse Ghashim Ghashim - Yes, for personal use, you can curl the JSON, because the cookies are yours. And we've talked on page 2 how a chrome extension can be used to get around the simple CORS problem, because it isn't on another site.  The reluctance is all about TOS, legality and risk(s) of losing access to your "purchased" (I say it with quotes because it is really license, not purchase if you read the fine print. Like "buying" digital content from Amazon) content if you get banned.

    There is a ratelimit on the JSON for character sheets.  That said, when I get a spare minute I think I might write my own answer to DM notes that uses the chrome extension approach, as it is the least likely to killed by Fandom and WotC -- and if it is useful enough they might aquire it like they did the Discord bot (Really wishful thinking -- i know).

    0
    Comment actions Permalink
  • Avatar
    Kyse Ghashim

    You truly don't even need to develop an extension, you can simply use a userscript. Unless you plan to have the extensions dev loaded, I don't imagine any marketplace will keep it up after a DMCA is filed against it, if they do. With a userscript, you can simply upload it to any text host. If you want a more robust app, you can always use a bundler.

    You have an interesting idea. I don't DM, but purchased Master sub and almost all the books for my DMs and players to use, so I don't truly grasp the benefits that would bring.

    In any case, good luck!

    0
    Comment actions Permalink
  • Avatar
    Devin Birtciel

    Not sure if this is a good place for this:
    Some webhooks so dm's can monitor changes on character sheets especially with new players?

    The ability to post to homebrew so I could build monsters and items using custom tools?

    Some published events to display the log messages to online boards for those trapped in Roll20 etc?

    0
    Comment actions Permalink
  • Avatar
    Matthew Strasiotto

    @andrew sounds cool, would love to help

    0
    Comment actions Permalink
  • Avatar
    Andrew Obrigewitsch

    @matthew, how do I get in contact with you? You can find me on LinkedIn if you google my name.

    0
    Comment actions Permalink
  • Avatar
    Matthew Strasiotto

    @andrew check your twitter dms

    0
    Comment actions Permalink
  • Avatar
    Josh Cash

    Andrew Obrigewitsch If you are still working on that project, I am interested

    0
    Comment actions Permalink
  • Avatar
    Andrew Obrigewitsch

    I am working on it.

    0
    Comment actions Permalink
  • Avatar
    Andrew Obrigewitsch

    I’m pretty easy to find on LinkedIn if you want to reach out.

    0
    Comment actions Permalink
  • Avatar
    Shawn Tabai

    I agree, Lionel. This is a very well-established industry pattern, the only serious obstacle is business backing.

    I have moved to using simpler RPG systems that are not as data-centric. This wasn't necessarily driven by the lack of an API, but that certainly might have helped me stay interested.

    0
    Comment actions Permalink
  • Avatar
    Andrew Obrigewitsch

    I agree with everyone here as well. The lack of openness as well all know in the tech world can undo a company. If something easier to use comes along that integrates with many other services, DND Beyond may start reduce its market share. 

    0
    Comment actions Permalink
  • Avatar
    Jens Murer

    Tghere's an old post about the possibility to get the character-sheet data by JSON, which doesn't work for me. That alone would be a great read-only way for me to simplify my combat action. By now I have a paper sheet and marker telling me, what my charater can do. Is there still a way to get the json?

    0
    Comment actions Permalink
  • Avatar
    Dömötör Péter

    I don't think we will erver get an API that will let us actually move to a different platform the content we payed for... That is simply not a viable buisness strategy, even putting asside the fact that WoC is really strict about the content. The way it works is that DDB payes WoC for the license and than we pay DDB for the sub license... So they can't allow us to basically export a perfectly structured dataset, as that would for sure violate the contract they have and be a huge money loss.

    The best API we cna hope for is one where they only expose the data needed for a table top system, and some plugins already exist for that where they read the HP and some other stats (contitions i think) and put them into a TTS.

    -1
    Comment actions Permalink
  • Avatar
    Ory Walker

    Such a shame that this is the way things have developed. I'll be cancelling my DM sub. I just can't justify subscribing to content that I can't then use with my own tools. Whats the point of having access to content if the interface is so garbage that it makes it a hassle to use?

    -1
    Comment actions Permalink
  • Avatar
    Lionel Di Giacomo

    API patterns are so standard at this point, virtually no design needs to go into auth.

    • Users generate an API key from their account. 
    • The key could be rate-limited based on your subscription plan.
    • For security, you could view usage and rotate the key whenever you want.

    The hardest part of the issue is that they'd have to settle on and document an API, but even if they change it all the time they could version it with /v1/, /v2/, etc. to accommodate apps on an older API.

    At this point, I believe that early in DDB's success the devs at the time were excited to offer this feature and promised it to us, but quickly business reasons to not offer the feature outweighed any internal enthusiasm. The reasons I speculate are:

    • Costs; DDB will have to spend money developing the API, maintaining hardware and software to handle all those additional API requests, and suddenly their support load increases.
    • Limited ROI; DDB is already popular. They may feel that the API is a niche product that won't attract many subscribers, and could even damage them in the market.
    • Competition; Enabling third party apps introduces competition against DDB's own products using their own database. Imagine some examples:
      - An app that can more efficiently manage your DDB content might gain popularity over DDB's app, losing them eyeballs on all their promotional links (ads) to their own paid content.
      - MapTool or foundry could suddenly sync perfectly with DDB characters / campaigns. There is little chance any group will bother with any far less mature first party Virtual Tabletop from DDB.
      - Imagine a site that you can sync your characters to, but organizes them into campaigns in a way smarter / easier way than DDB does without any of the restrictions that are unlocked by subscribing to DDB.

    The benefits to the community are obvious - a thriving marketplace of innovative, fun tools and cool integrations. There are  a variety of ways to limit others profiting off the API, and I personally think that the benefits outweigh the risks - a great API would make DDB even more massively popular and greatly strengthen the whole community.

    Right now, I'm pretty sure they're thinking of all the risks instead of how great it would be for everyone. Right now I subscribe so my players can make characters for my games, but we manually sync back and forth with our tabletop software.

    Since the promise of an API for all intents and purposes has been broken, I've lost enthusiasm for buying new sources on DDB; rather we just homebrew in anything we're missing we need from the physical books. 

    -1
    Comment actions Permalink
  • Avatar
    Ory Walker

    The lack of an API after all this time is depressing. There are so many solo developers and content creators that would love to be able to develop toolkits and systems that leverage the content that DND beyond has. I mean I'm trying to develop AI based systems for DND and have been waiting for an API for as long as beyond has existed. The wasted effort is insane. Instead of building your own toolkits the team at beyond should have first focused on providing a robust and supported API so that the community could have done the groundwork for them. The community would have exploded in size. But instead they use what little resources they seem to have to drip feed us features we might not even want.
    Instead of letting us use the content we are subscribed to in our own custom systems.

    -2
    Comment actions Permalink
  • Avatar
    Craig

    They will not do that. Then you can develop stuff and don't need them. This isn't like other pnp systems or video games that provide these things for the community. They are stuck in the 1980's with their business model.

    -68
    Comment actions Permalink

Please sign in to leave a comment.