"Content is the atomic particle of all digital marketing.”
– Rebecca Lieb

GoToWebinar v2.0 supports Simulated Live webinars.

Version 1 will remain available for the immediate future. We recommend you update to Version 2 to receive the best experience. (See the Version 1 API Reference)

GoToWebinar APIs enable you to create your own webinar application using the robust, market-leading foundation of GoToWebinar. Webinars are ideal for delivering expert, marketing and sales content. Webinars are widely used for lead generation and require significantly lower investments of time and expense than trade shows or in-person seminars.

For a full product overview, see the GoToWebinar product site.

GoToWebinar Features

GoToWebinar APIs enable you to:

  • Schedule webinars of one or more sessions
  • Tailor your webinars with panelists, polls, questions and surveys
  • Accept registrations
  • Manage registrants and, once the webinar starts, attendees
  • View data about historical and future webinars, registrants and attendees

Users of your client application will need a GoToWebinar organizer account. Each webinar is created and moderated by one or more organizers. Once a webinar has been created and scheduled, registrants can sign up for the training, confirm their registration, and pay for it. At the scheduled time, the organizer starts the webinar. This launches a live, interactive webinar session. Registrants who were logged in and waiting for the session to start are joined as attendees, and any new registrants join directly.

New in Version 2

In Version 1, there were separate calls for historical and upcoming webinars. There was no call to identify webinars currently in session. In version 2, the calls are:

  • GET Webinars - This call now allows you to pass in begin and end dates to a single call to retrieve past or future webinars.
  • GET All In-session Webinars - This call returns all currently running webinars. 
  • POST Assets - A new call to obtain an identifier for an asset, such as a webinar recording.

Creating Webinars

Using the POST Webinar API call, you can create single session, sequence, and series webinars. These are further distinguished by an experienceType of classic, broadcast, or new in version 2, simulated live (simulive). Single sessions and series are managed using a "times" array with a startTime and an endTime for each webinar. Sequence webinars use a recurrenceStart with a startTime and endTime, and a recurrencePattern (daily, weekly, monthly), and a recurrenceEnd of the last date of the sequence.

Sequence webinar in Classic format with optional Audio settings

  "subject": "Real Estate on Mars",
  "description": "Get your license!",
  "experienceType": "CLASSIC",
  "recurrenceStart": [
      "startTime": "2018-03-19T19:00:00Z",
      "endTime": "2018-03-19T20:00:00Z"
  "timeZone": "America/Los Angeles",
  "type": "sequence",
  "recurrencePattern": "weekly",
  "recurrenceEnd": "2018-04-23",
  "isPasswordProtected": FALSE,
    "audio": {        
        "type": "HYBRID",
        "pstnInfo": {
            "tollFreeCountries": ["US","CA","GR","DE","BE","BR"],

Response :

{ "webinarKey":121212131313313,
"recurrenceKey":898989898989899 }

Simulated live webinars can be either scheduled or on-demand. To create a new scheduled simulive webinar set the experienceType as SIMULIVE and specify the recordingAssetKey. The recordingAssetKey is the unique identifier for the simulated live recording that will be created. In case the asset was created as an online recording, the simulive webinar settings, poll and surveys will be copied from the webinar whose session was recorded. To make the simulated live webinar on-demand, set the isOndemand flag to TRUE. The recordingAssetKey is obtained either from your GoToWebinar Video Library or using the search assets call. 

Simulive does not support sequence webinars.

Series webinar in Simulive format

  "subject": "Real Estate on Mars",
  "description": "Get your license!",
  "experienceType": "SIMULIVE",
  "type": "series",
    "times": [
        {"startTime": "2020-03-19T19:00:00Z", "endTime": "2020-03-19T20:00:00Z"},
        {"startTime": "2020-03-26T19:00:00Z", "endTime": "2020-03-26T20:00:00Z"},
        {"startTime": "2020-04-02T19:00:00Z", "endTime": "2020-04-02T20:00:00Z"}
    "recordingAssetKey": "6582280614747768666"

Response :

{ "webinarKey":888999888999000}


You can paginate GET calls with:

  • an embedded list - contains a list of page resources
  • a list of links to pages - links to first, previous, self and last page links
  • pages - contains size, totalElements, totalPages, and number (page number)

To use these options, you pass the pagination instructions in the URL.

Examples of pagination :

"_embedded": {   
"_links": {
    "first": {
        "href": ""
    "prev": {
        "href": ""
    "self": {
        "href": ""
    "last": {
        "href": ""
"page": {
    "size": ,
    "totalElements": ,
    "totalPages": ,

GoToWebinar Dashboard

Your users will have a more robust set of features in the GoToWebinar Dashboard. These include options to edit, practice, copy and share (email, social media) webinars; add organizers; brand the webinar interfaces; and access recordings.

GoToWebinar Accounts

A GoToMeeting account is included with any GoToWebinar account to leverage shared resources at the system level. You will also need to create an app in the GoTo developer center and authenticate the app and a GoToWebinar user to obtain an access token. (You can use a short-term trial account to create a free GoToWebinar user account for yourself during implementation, or use one of your user’s organizer accounts.)

GoToWebinar Resources

Registration at developer.getgo.com generates the following key values:

  • access_token (AKA oauth_token) Alphanumeric string used to authorize your requests to our backend servers. This is passed in every HTTP header for every API call.
  • organizer_key (AKA organizerKey) Numeric string that represents your organizer and presenter status and allows you create, edit, delete, and launch webinars. This is passed in many API request URLs to validate or identify the individual person responsible.
  • account_key (AKA accountKey) Numeric string denoting your corporate account. This is a numeric string that is passed in request APIs where you are requesting, for instance, a list of all organizers on the account.

Additional key values are:

  • webinarKey Created when you schedule a new webinar in the Create Webinar call. This key is used in numerous API calls where data related to a specific webinar is requested. To locate a webinarKey, use the Get Webinar call. The key remains valid after the webinar is completed, but cannot be used to make any updates to the webinar – name, times, etc. However, it is possible to delete the webinar if you choose. The webinar sessions remain available for reporting.
  • registrantKey Created when someone registers for a webinar. This key is used in API calls where data related to a registrant is requested. To locate a registrantKey, use the Get Webinar Registrants call.
  • sessionKey Once a webinar session is completed, the session can be accessed using this numeric value.

The URL of any API method has to start with https://api.getgo.com/ (link is external).

Getting Started

To get started, go to the Help and FAQ page and start with How Do I Get Started?