GoToTraining
getgo · Company
The GoToTraining API enables developers to use the stable and robust GoToTraining functionality as the basis for online trainings in a proprietary learning management system. The GoToTraining APIs provide the ability to access the scheduling, registration, management, and reporting functions of GoToTraining from external applications. With the ability to tightly integrate GoToTraining into your learning infrastructure, you can offer your learners a seamless user experience and provide them with
Authentication
Sample Requests
This call retrieves information on all scheduled trainings for a given organizer. The trainings are returned in the order in which they were created. Completed trainings are not included; ongoing trainings with past sessions are included along with the past sessions. If the organizer does not have a
Hover any highlighted part to learn what it does
| Authorization | example |
curl -X GET "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings" \
-H "Authorization: example"import requests
headers = {
"Authorization": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings';
const response = await fetch(url, {
headers: {
'Authorization': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings"
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Authorization", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/organizers/{organizerKey}/trainings";
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Authorization: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));This call retrieves information on all online recordings for a given training. If there are none, it returns an empty list.
Hover any highlighted part to learn what it does
| Authorization | example |
curl -X GET "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings" \
-H "Authorization: example"import requests
headers = {
"Authorization": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings';
const response = await fetch(url, {
headers: {
'Authorization': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings"
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Authorization", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/recordings";
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Authorization: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns a URL that can be used to start a training. When this URL is opened in a web browser, the GoToTraining client will be downloaded and launched and the training will start. A login of the organizer is not required.
Hover any highlighted part to learn what it does
| Authorization | example |
curl -X GET "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start" \
-H "Authorization: example"import requests
headers = {
"Authorization": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start';
const response = await fetch(url, {
headers: {
'Authorization': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start"
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("Authorization", "example")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/getgo.com/gototraining/1.0.0/trainings/{trainingKey}/start";
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"Authorization: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with GoToTraining?
GoToTraining is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. GoToTraining is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?