Broadcast
Tips
This documentation is under active development as we craft the best development experience possible for the motorsport industry.
All feedback is welcome to wes@volarehq.com!
Overview
Volare Realtime offers cloud or local data feeds in JSON or XML that work with the most popular timing software on the market.
Simulation
Simulation services are available by request.
Output Formats
RMonitor JSON Output
// Cloud: https://realtime.volarehq.com/api/static/YOUR-CHANNEL/rmonitor-scoreboard.json
// Local: http://YOUR-IP-AND-PORT/api/static/YOUR-CHANNEL/rmonitor-scoreboard.json
{
"cmd": "RMonitor.scoreboard",
"action": "update",
"data": {
"runId": "25",
"runName": "New run",
"classes": {
"1": "GTP",
"2": "",
"3": "SM"
},
"params": {
"TRACKNAME": "New Track",
"TRACKLENGTH": "0.000"
},
"competitors": [
{
"id": "2",
"lastLaptime": "00:01:32.815",
"qualifyPosition": 2,
"bestLap": 31,
"bestLaptime": "00:01:27.980",
"racePosition": 1,
"totalLaps": 74,
"totalTime": "261:23:15.151",
"number": "2",
"transponder": "1002",
"firstName": "Francis",
"lastName": "Thunderhill",
"nationality": "",
"classNumber": "1",
"additional": "",
"className": "GTP",
"position": 1,
"diff": 0,
"gap": "-"
},
{
"id": "4",
"lastLaptime": "00:01:28.214",
"qualifyPosition": 1,
"bestLap": 57,
"bestLaptime": "00:01:27.979",
"racePosition": 2,
"totalLaps": 74,
"totalTime": "261:23:20.270",
"number": "4",
"transponder": "1004",
"firstName": "John",
"lastName": "Joseph",
"nationality": "",
"classNumber": "1",
"additional": "",
"className": "GTP",
"position": 2,
"diff": "5.119",
"gap": "5.119"
},
{
"id": "5",
"lastLaptime": "00:01:34.610",
"qualifyPosition": 3,
"bestLap": 45,
"bestLaptime": "00:01:27.984",
"racePosition": 3,
"totalLaps": 73,
"totalTime": "261:23:28.232",
"number": "5",
"transponder": "1005",
"firstName": "Glenn",
"lastName": "Beck",
"nationality": "",
"classNumber": "3",
"additional": "",
"className": "SM",
"position": 3,
"diff": "1L",
"gap": "1L"
},
{
"id": "111",
"lastLaptime": "00:01:37.496",
"qualifyPosition": 4,
"bestLap": 1,
"bestLaptime": "00:01:34.231",
"racePosition": 4,
"totalLaps": 67,
"totalTime": "261:23:46.090",
"number": "111",
"transponder": "1010",
"firstName": "Test",
"lastName": "Driver",
"nationality": "",
"classNumber": "3",
"additional": "",
"className": "SM",
"position": 4,
"diff": "7L",
"gap": "6L"
}
],
"sortMethod": "race",
"lapsToGo": "9999",
"timeToGo": "00:00:00",
"timeOfDay": "12:55:40",
"raceTime": "261:23:57",
"flagStatus": "green"
}
}
Multiloop JSON Output
// Cloud: https://realtime.volarehq.com/api/static/YOUR-CHANNEL/multiloop-scoreboard.json
// Local: http://YOUR-IP-AND-PORT/api/static/YOUR-CHANNEL/multiloop-scoreboard.json
{
"cmd": "Multiloop.scoreboard",
"action": "update",
"data": {
"Session": {
"Name": "New run",
"Type": "P",
"Number": 1073741825,
"Status": "In Progress",
"TrackStatus": "G",
"TimeOfDay": "2024-12-17T12:54:53.000",
"Comment": " ",
"TrackName": "New Track",
"TrackLength": 0,
"CurrentLap": 73,
"RemainTime": "",
"RemainLaps": null,
"TotalLaps": " ",
"ClassList": "SM,GTP"
},
"Announcements": {
"Announcement": []
},
"Results": [
{
"LastSeenMs": 5506,
"P": 1,
"No": "4",
"Name": "John Joseph",
"Laps": 73,
"LapTime": "1:28.899",
"FL": 57,
"FTime": "1:27.979",
"Diff": " ",
"Gap": " ",
"GapToLeader": 0,
"LapsToLeader": 0,
"GapToNext": 0,
"LapsToNext": 0,
"DiffToCurrentLapLeader": 0,
"Pits": 0,
"LPit": 0,
"Led": 0,
"ST": 0,
"Status": "Unknown",
"Speed": " ",
"FSpeed": " ",
"Elapsed": 940912056,
"ElapsedFormatted": "10:21:21:52.056",
"CLS": "GTP",
"PFLapTime": "",
"MPL": 0,
"CRank": 1,
"CFLap": 57,
"CFLapTime": "1:27.979",
"CFastSpeed": " ",
"CDiff": " ",
"CGap": " ",
"PIC": 1,
"P2P": 0,
"Additional1": "",
"Additional2": "",
"Additional3": "",
"Additional4": "",
"Additional5": "",
"Additional6": "",
"Additional7": "",
"Additional8": "",
"Points": "",
"CL": 74,
"FirstName": "John",
"LastName": "Joseph",
"DiffToLapLeader": ""
},
{
"LastSeenMs": 5506,
"P": 2,
"No": "2",
"Name": "Francis Thunderhill",
"Laps": 73,
"LapTime": "1:32.934",
"FL": 31,
"FTime": "1:27.980",
"Diff": "00.001",
"Gap": "00.001",
"GapToLeader": 1,
"LapsToLeader": 0,
"GapToNext": 1,
"LapsToNext": 0,
"DiffToCurrentLapLeader": 0,
"Pits": 0,
"LPit": 0,
"Led": 0,
"ST": 0,
"Status": "Unknown",
"Speed": " ",
"FSpeed": " ",
"Elapsed": 940902336,
"ElapsedFormatted": "10:21:21:42.336",
"CLS": "GTP",
"PFLapTime": "",
"MPL": 0,
"CRank": 2,
"CFLap": 57,
"CFLapTime": "1:27.979",
"CFastSpeed": " ",
"CDiff": "",
"CGap": "",
"PIC": 2,
"P2P": 0,
"Additional1": "",
"Additional2": "",
"Additional3": "",
"Additional4": "",
"Additional5": "",
"Additional6": "",
"Additional7": "",
"Additional8": "",
"Points": "",
"CL": 74,
"FirstName": "Francis",
"LastName": "Thunderhill",
"DiffToLapLeader": "00.001"
},
{
"LastSeenMs": 5506,
"P": 3,
"No": "5",
"Name": "Glenn Beck",
"Laps": 72,
"LapTime": "1:33.137",
"FL": 45,
"FTime": "1:27.984",
"Diff": "00.005",
"Gap": "00.004",
"GapToLeader": 5,
"LapsToLeader": 0,
"GapToNext": 4,
"LapsToNext": 0,
"DiffToCurrentLapLeader": 0,
"Pits": 0,
"LPit": 0,
"Led": 0,
"ST": 0,
"Status": "Unknown",
"Speed": " ",
"FSpeed": " ",
"Elapsed": 940913622,
"ElapsedFormatted": "10:21:21:53.622",
"CLS": "SM",
"PFLapTime": "",
"MPL": 0,
"CRank": 1,
"CFLap": 45,
"CFLapTime": "1:27.984",
"CFastSpeed": " ",
"CDiff": " ",
"CGap": " ",
"PIC": 1,
"P2P": 0,
"Additional1": "",
"Additional2": "",
"Additional3": "",
"Additional4": "",
"Additional5": "",
"Additional6": "",
"Additional7": "",
"Additional8": "",
"Points": "",
"CL": 73,
"FirstName": "Glenn",
"LastName": "Beck",
"DiffToLapLeader": "00.005"
},
{
"LastSeenMs": 5506,
"P": 4,
"No": "111",
"Name": "Test Driver",
"Laps": 66,
"LapTime": "1:37.355",
"FL": 1,
"FTime": "1:34.231",
"Diff": "06.252",
"Gap": "06.247",
"GapToLeader": 6252,
"LapsToLeader": 0,
"GapToNext": 6247,
"LapsToNext": 0,
"DiffToCurrentLapLeader": 0,
"Pits": 0,
"LPit": 0,
"Led": 0,
"ST": 0,
"Status": "Unknown",
"Speed": " ",
"FSpeed": " ",
"Elapsed": 940928594,
"ElapsedFormatted": "10:21:22:08.594",
"CLS": "SM",
"PFLapTime": "",
"MPL": 0,
"CRank": 2,
"CFLap": 45,
"CFLapTime": "1:27.984",
"CFastSpeed": " ",
"CDiff": "6 Laps",
"CGap": "6 Laps",
"PIC": 2,
"P2P": 0,
"Additional1": "",
"Additional2": "",
"Additional3": "",
"Additional4": "",
"Additional5": "",
"Additional6": "",
"Additional7": "",
"Additional8": "",
"Points": "",
"CL": 67,
"FirstName": "Test",
"LastName": "Driver",
"DiffToLapLeader": "06.252"
}
]
}
}
Multiloop XML Output
https://realtime.volarehq.com/api/static/YOUR-CHANNEL/multiloop-scoreboard.xml
<!--
Cloud: https://realtime.volarehq.com/api/static/YOUR-CHANNEL/multiloop-scoreboard.xml
Local: http://YOUR-IP-AND-PORT/api/static/YOUR-CHANNEL/multiloop-scoreboard.xml
-->
<timing_result>
<Session Name="New run" Type="P" Number="1073741825" Status="In Progress" TrackStatus="G" TimeOfDay="2024-12-17T12:52:58.000" Comment=" " TrackName="New Track" TrackLength="0" CurrentLap="72" RemainTime="" TotalLaps=" " ClassList="SM,GTP"/>
<leaderboard>
<Results>
<LastSeenMs>1882</LastSeenMs>
<P>1</P>
<No>4</No>
<Name>John Joseph</Name>
<Laps>72</Laps>
<LapTime>1:30.495</LapTime>
<FL>57</FL>
<FTime>1:27.979</FTime>
<Diff> </Diff>
<Gap> </Gap>
<GapToLeader>0</GapToLeader>
<LapsToLeader>0</LapsToLeader>
<GapToNext>0</GapToNext>
<LapsToNext>0</LapsToNext>
<DiffToCurrentLapLeader>0</DiffToCurrentLapLeader>
<Pits>0</Pits>
<LPit>0</LPit>
<Led>0</Led>
<ST>0</ST>
<Status>Unknown</Status>
<Speed> </Speed>
<FSpeed> </FSpeed>
<Elapsed>940823157</Elapsed>
<ElapsedFormatted>10:21:20:23.157</ElapsedFormatted>
<CLS>GTP</CLS>
<PFLapTime/>
<MPL>0</MPL>
<CRank>1</CRank>
<CFLap>57</CFLap>
<CFLapTime>1:27.979</CFLapTime>
<CFastSpeed> </CFastSpeed>
<CDiff> </CDiff>
<CGap> </CGap>
<PIC>1</PIC>
<P2P>0</P2P>
<Additional1/>
<Additional2/>
<Additional3/>
<Additional4/>
<Additional5/>
<Additional6/>
<Additional7/>
<Additional8/>
<Points/>
<CL>73</CL>
<FirstName>John</FirstName>
<LastName>Joseph</LastName>
<DiffToLapLeader/>
</Results>
<Results>
<LastSeenMs>1882</LastSeenMs>
<P>2</P>
<No>2</No>
<Name>Francis Thunderhill</Name>
<Laps>72</Laps>
<LapTime>1:33.470</LapTime>
<FL>31</FL>
<FTime>1:27.980</FTime>
<Diff>00.001</Diff>
<Gap>00.001</Gap>
<GapToLeader>1</GapToLeader>
<LapsToLeader>0</LapsToLeader>
<GapToNext>1</GapToNext>
<LapsToNext>0</LapsToNext>
<DiffToCurrentLapLeader>0</DiffToCurrentLapLeader>
<Pits>0</Pits>
<LPit>0</LPit>
<Led>0</Led>
<ST>0</ST>
<Status>Unknown</Status>
<Speed> </Speed>
<FSpeed> </FSpeed>
<Elapsed>940809402</Elapsed>
<ElapsedFormatted>10:21:20:09.402</ElapsedFormatted>
<CLS>GTP</CLS>
<PFLapTime/>
<MPL>0</MPL>
<CRank>2</CRank>
<CFLap>57</CFLap>
<CFLapTime>1:27.979</CFLapTime>
<CFastSpeed> </CFastSpeed>
<CDiff/>
<CGap/>
<PIC>2</PIC>
<P2P>0</P2P>
<Additional1/>
<Additional2/>
<Additional3/>
<Additional4/>
<Additional5/>
<Additional6/>
<Additional7/>
<Additional8/>
<Points/>
<CL>73</CL>
<FirstName>Francis</FirstName>
<LastName>Thunderhill</LastName>
<DiffToLapLeader>00.001</DiffToLapLeader>
</Results>
<Results>
<LastSeenMs>1882</LastSeenMs>
<P>3</P>
<No>5</No>
<Name>Glenn Beck</Name>
<Laps>71</Laps>
<LapTime>1:31.534</LapTime>
<FL>45</FL>
<FTime>1:27.984</FTime>
<Diff>00.005</Diff>
<Gap>00.004</Gap>
<GapToLeader>5</GapToLeader>
<LapsToLeader>0</LapsToLeader>
<GapToNext>4</GapToNext>
<LapsToNext>0</LapsToNext>
<DiffToCurrentLapLeader>0</DiffToCurrentLapLeader>
<Pits>0</Pits>
<LPit>0</LPit>
<Led>0</Led>
<ST>0</ST>
<Status>Unknown</Status>
<Speed> </Speed>
<FSpeed> </FSpeed>
<Elapsed>940820485</Elapsed>
<ElapsedFormatted>10:21:20:20.485</ElapsedFormatted>
<CLS>SM</CLS>
<PFLapTime/>
<MPL>0</MPL>
<CRank>1</CRank>
<CFLap>45</CFLap>
<CFLapTime>1:27.984</CFLapTime>
<CFastSpeed> </CFastSpeed>
<CDiff> </CDiff>
<CGap> </CGap>
<PIC>1</PIC>
<P2P>0</P2P>
<Additional1/>
<Additional2/>
<Additional3/>
<Additional4/>
<Additional5/>
<Additional6/>
<Additional7/>
<Additional8/>
<Points/>
<CL>72</CL>
<FirstName>Glenn</FirstName>
<LastName>Beck</LastName>
<DiffToLapLeader>00.005</DiffToLapLeader>
</Results>
<Results>
<LastSeenMs>1883</LastSeenMs>
<P>4</P>
<No>111</No>
<Name>Test Driver</Name>
<Laps>65</Laps>
<LapTime>1:39.026</LapTime>
<FL>1</FL>
<FTime>1:34.231</FTime>
<Diff>06.252</Diff>
<Gap>06.247</Gap>
<GapToLeader>6252</GapToLeader>
<LapsToLeader>0</LapsToLeader>
<GapToNext>6247</GapToNext>
<LapsToNext>0</LapsToNext>
<DiffToCurrentLapLeader>0</DiffToCurrentLapLeader>
<Pits>0</Pits>
<LPit>0</LPit>
<Led>0</Led>
<ST>0</ST>
<Status>Unknown</Status>
<Speed> </Speed>
<FSpeed> </FSpeed>
<Elapsed>940831239</Elapsed>
<ElapsedFormatted>10:21:20:31.239</ElapsedFormatted>
<CLS>SM</CLS>
<PFLapTime/>
<MPL>0</MPL>
<CRank>2</CRank>
<CFLap>45</CFLap>
<CFLapTime>1:27.984</CFLapTime>
<CFastSpeed> </CFastSpeed>
<CDiff>6 Laps</CDiff>
<CGap>6 Laps</CGap>
<PIC>2</PIC>
<P2P>0</P2P>
<Additional1/>
<Additional2/>
<Additional3/>
<Additional4/>
<Additional5/>
<Additional6/>
<Additional7/>
<Additional8/>
<Points/>
<CL>66</CL>
<FirstName>Test</FirstName>
<LastName>Driver</LastName>
<DiffToLapLeader>06.252</DiffToLapLeader>
</Results>
</leaderboard>
<Announcements/>
</timing_result>
