API

  Free Plus Pro
Roll20 API    

This page is about a feature exclusive to Pro subscribers, or to players in a Game created by a subscriber. If you'd like to use this feature, consider upgrading your account.

The Roll20 API provides a powerful way to customize and enhance your game. You write scripts (little pieces of code) that tell Roll20 what to do during gameplay (for instance, move a piece, add a status marker to a token, or even roll dice). It's simple and straightforward to get started, but the possibilities are endless.


 

API Guides and Documentation


Acknowledgements

  • A special thanks to our Forum Champion (and Arcane Scriptomancer), The Aaron, for his willingness and dedication to sharing his knowledge with the Roll20 Community!

How do I install an API script using the one-click script library?

Navigate to the game landing page for the game you want to add the API script(s). Click on the Settings dropdown and then go to the API Scripts link. From there, click on the Script Library dropdown and find the script you need. Once you have found the script you want, go ahead and click the Add Script button. After that, you should be good to start using the script in your game! Make sure to check the script's description for important information on the script itself and how to use it. 


How do I install an API script if I want to write my own code or I want to use code from an external source?

It's a similar process to installing a script using our one-click script library. Go ahead and navigate to the game landing page for the game you want to add the API script(s). Click on the Settings dropdown and then go to the API Scripts link. In the API Settings page, click the tab called New Script. This will take you to a code editor window where you can insert your script code and give the script a name. Go ahead and copy-paste the script and give it a cool name. From there, hit the Save Script button. The API sandbox will restart and you should be good to start using the script in-game. If you took the script from an external source, make sure to check the script's description for important information on the script itself and how to use it. 


Help! I can't get my script to work!

If you're looking for general assistance with API troubleshooting, check out our article here. If you are looking for more advanced debugging advice and information, check out our article here. If you're still having issues, feel free to create a post on our API Forum or contact us directly.


If I want to write a script, what do I need to get started?

Scripts for the Roll20 API are written in JavaScript. You only need a basic understanding of the language to get started, but if you want to learn more about JavaScript, this Codecademy course can help teach you. 

To get started, your first stop should be the Advanced Use Guide.


How does it work?

You write scripts that listen to events that happen during the game. Scripts can check to make sure that rules are followed, change properties on objects and tokens, and even provide custom chat commands. The scripts you write run across the entire game, and affect things the GM does as well as all the players. Advanced scripts can also run independently, performing automatic actions such as moving a token on a patrol route or nudging players when their turn is taking too long.


Where can I find pre-made scripts?

The API Script community is fairly active with members creating and discussing scripts all the time. There are 3 basic places to look for new scripts:

  • The Official Roll20 API Script Repo on Github. This is where you'll find the current version of scripts that authors have submitted for inclusion in the repo.
  • The Roll20 API Script Forum. This is where scripts tend to show up first and where discussion happens about scripts that are being written or need changes. This is also where you can post and ask for help from the community in creating a script you've thought of, or finding a script to fill a need.
  • The Wiki's API Script index. This is a good source of information about some scripts, but it's not kept very up-to-date. However, if you'd like to document some scripts you find useful, their authors would certainly appreciate it!

Contributing API Scripts to the Community

If you create a script that you'd like to offer to the rest of the Roll20 community, you can submit it to be included in the Roll20 API Script Repository. Having your script approved by the Roll20 staff and included in the repository will unlock the "API Scripter" forum tag for your account as will allow you to advertise via Patreon or Patreon-like sites (see below for more info). To find out what you need to do to correctly submit your script to the repository go to the Official Roll20 API Script Repo.


Patreon and Tipeee Linking Rules for Community Sheet Contributors

For API script authors that are contributing to the Roll20 API Script Repo, they are approved to advertise via subscription/donation service sites: Patreon and Tippee. Roll20 is not responsible for any payment transactions and cannot enforce any private arrangements.

In order to qualify, an API script author must first have their script contribution approved by the Roll20 staff and included into the Roll20 API Script Repo.

You will want to include your Patreon or Tipeee account information in the sheet.json file that should be included with your script submission on GitHub.

The json file should have one of these fields added to it if you wish to advertise with Patreon or Tipeee:

patreon: Place the URL for a Patreon campaign here, and it will appear under your script's description when selected. (e.g."https://www.patreon.com/<name>")

tipeee: Place the URL for a Tipeee here, and it will appear under your script's description when selected. (e.g. "https://www.tipeee.com/<name>")

For more information, see https://github.com/Roll20/roll20-api-scripts#contributing


Linking to Patreon/Tipeee on the Roll20 Forums

Linking to Patreon or Tipeee on the Roll20 Forums are only permitted for pre-approved community members who have contributing either Character Sheets or API Scripts. If you wish to solicit users directly for funding you may do so privately, but no such links are permitted in a public forum without any contributed material.

Was this article helpful?
6 out of 9 found this helpful