A community analysis of the Overwatch League API.
The Overwatch League API is not officially supported by Blizzard, and is subject to change at any time. The documentation for the API is developed by the community, and may or may not be complete. Use at your own risk.
Join our Unofficial Discord Server you want to contribute, ask questions, or share projects using the OWL API!
You can also create an issue or a PR. Before creating an issue,please ensure that it hasn't already been reported/suggested, and double-check the documentation. See the contribution guide if you'd like to submit a PR.
Let's get in touch on Twitter or Discord if you have any questions or comments!
The Overwatch League is on a mission to celebrate fans and afford them opportunities to become champions through a professional esports ecosystem that embraces passion and rewards excellence. This API enables developers to have real time information about teams, players, match updates, and much more!
Overwatch League API endpoints conform to the design principles of Representational State Transfer (REST). This API uses the JSON data format for responses.
A GET request is required to retrieve data from the Overwatch League API. Methods that submit, change or destroy data require a POST. A DELETE request is also accepted for methods that destroy data. API methods that require a particular HTTP method will return an error if not invoked using the correct endpoint or style.
You can access the base API here at https://api.overwatchleague.com (China: https://api.overwatchleague.cn). Upon entering you'll see the following easter egg:
GET /
{
"the world": "could always use more heroes"
}
Here are the endpoints used to access Overwatch League's information such as player information, match updates, league standings, news reports, and much more. This document will be going over these objects in more detail.
GET /login
GET /auth/bnet/callback?code=:code
GET /user
GET /user/favorites
POST /user/favorites
POST /user/favorites/order
DELETE /user/favorites/:id
GET /v2/teams
GET /v2/teams/:id
GET /ranking
GET /standings
GET /matches
GET /matches/:id
GET /live-match
GET /schedule
GET /streams
GET /vods
GET /maps
GET /news
GET /playlist/owl-app-playlist
GET /about
- Account
- Blog
- Bracket
- Colors
- Competitor
- Game
- Game Mode
- Live Match
- Logo
- Match
- Next Match
- Player
- Records
- VOD
Reponses can be returned in several locales (a language and region identidier). The data will then be returned in the specified language.
- Locales
de_DE
- Germanen_US
- English (United States)en_GB
- English (Great Britain)es_ES
- Spanish (Spain)es_MX
- Spanish (Mexico)fr_FR
- Frenchit_IT
- Italianpt_BR
- Portuguesepl_PL
- Polishru_RU
- Russianko_KR
- Koreanja_JP
- Japanesezh_TW
- Chinese (Taiwan)zh_CH
- Chinese (China)- It is recommended to use the root URL for China listed above.
Here this guide will go over in detail each use of the above endpoints.
The following endpoints involve authenticating a Battle.net account, and authorizatino code use:
- Redirects clients to the Battle.net login page.
- NOTE: This may direct you to a page that cannot be opened by your browser if you are already logged into your Battle.net account.
- Callback
code
- Battle.net authorization code
The following endpoints retrieve user information.
- Returns Uaer info. Token required.
- Returns the User's favorite Overwatch League Teams.
- Adds an Overwatch League Team to a User's Favorite Teams collection.
POST /user/favorites
{
"id" : "4525",
"tags" : [
"owl"
],
"franchise" : "overwatch"
}
- Updates the order of the User's favorite teams.
POST /user/favorites/order
{
"ids": [
"4525"
]
}
Deletes a favorite team from a User.
The following endpoints retrieve information for Overwatch League Teams.
Each Overwatch League Team has a unique integer identifier (ID) which can be found upon visiting each team page on https://overwatchleague.com. For example, at the end of this URL is the ID for Atlanta Reign:
https://overwatchleague.com/en-us/teams/7698
We see that Atlanta Reign's ID following /teams/
is 7698
. We can use this to retrieve information about Atlanta Reign's players, statistics, and more.
Below is a table of all team IDs for retrieving information for specific teams:
Returns all competing Overwatch League teams.
Attribute | Type | Description |
---|---|---|
id |
Int64 | The unique integer for this League season. Example: "id": 61 |
availableLanguages |
Array of String | Indicates a list of country and language codes. Example:"availableLanguages": ["en", "en-gb", "es-mx", "es-es", "pt", "de", "fr", "it", "pl", "ru", "ja", "ko", "zh-tw", "zh-cn"] |
name |
String | The name of the League. Example:"name": "The Overwatch League" |
description |
String | A summary of the Overwatch League. Example: "description": "The Overwatch League is on a mission to celebrate fans and afford them opportunities to become champions through a professional esports ecosystem that embraces passion and rewards excellence." |
competitors |
Array of Competitor Object | Competitors are Overwatch League Teams competing in the current Overwatch League Season. Additionally, see Competitor Object for more info. |
game |
String | The String representation of the game being played. Example: "game": "OVERWATCH" |
logo |
String | A URL leading to the Overwatch League Logo. Example: "logo": "https://bnetcmsus-a.akamaihd.net/cms/page_media/JEUWQ6CN33BR1507857496436.svg" |
competitorType |
String | Describes the type of Competitors competing in the Overwatch League. Example:"competitorType": "TEAM" |
owl_division |
Array of Division Objects | The Divisions making up the Overwatch League. Example:owl_divisions": [ { "id": "79", "string": "owl.teams.divisions.atlantic", "name": "Atlantic Division", "abbrev": "ATL" }, { "id": "80", "string": "owl.teams.divisions.pacific", "name": "Pacific Division", "abbrev": "PAC" }] |
Returns information for a single Overwatch League Team given a Team ID. For exmaple, to retrieve information about Boston Uprising we can add Boston Uprising's ID at the end of the URL:
https://api.overwatchleague.com/v2/teams/4402
Attribute | Type | Description |
---|---|---|
id |
Int64 | The unique integer identifier for the Overwatch League Team. Example: "id": 4523 |
divisionId |
Int64 | The unique integer identifier for the Team's Overwatch League Division. The Atlanatic Division has an id of 79, and the Pacific Division's id is 80. Example:"divisionId": 80 |
handle |
String | A String representation of an Overwatch League team's handle. Example: "handle": "fuel.6990" |
name |
String | A String representation of an Overwatch League team's name. Example: "name": "Boston Uprising" |
abbreviatedName |
String | A String representation of an Overwatch League team's 3 letter abbreviated name. Example: "abbreviatedName": "ATL" |
logo |
Logo Object | A Logo object containing an Overwatch League team's logo in SVG and PNG formats. |
hasFallback |
Boolean | Indicates whether or not a team has media queries which specific browsers cannot handle, such as logo files and headshot files. Example: "hasFallback": false |
location |
String | A String representation of an Overwatch League team's base location. Example: "location": "Boston, MA" |
players |
Array of Player Object | A Player roster for a competing Overwatch League Team. Additionally, see Player Object for more info. |
website |
String | A String representation of an Overwatch League team's website url. Example: "website": "https://fuel.overwatchleague.com" |
placement |
Int64 | The current standing of an Overwatch League Team. Example: "placement": 1 |
advantage |
Int64 | An integer indicating the advantage an Overwatch League Team has over its competitors. Example: "advantage": 0 |
records |
Records Object | A Records object containing an Overwatch League team's league records. See Records object for more info. |
Returns an Array of Competitors ordered by placement in the Overwatch League.
Attribute | Type | Description |
---|---|---|
content |
Array of Competitor Object | An Array of Competitors competing in the current Overwatch League Season |
comparisons |
Array of String | An Array containing the differentials used to rank all Overwatch League Competitors. Example:"comparisons": ["MATCH_DIFFERENTIAL","MATCH_GAME_DIFFERENTIAL","GAME_HEAD_TO_HEAD_DIFFERENTIAL", "MATCH_HEAD_TO_HEAD_DIFFERENTIAL", "ADVANTAGE"] |
totalMatches |
Int64 | Total numbers of matches to be played in the current Overwatch League season. Example: "totalMatches": 280 |
matchesConcluded |
Int64 | The number of matches that have been played in the current Overwatch League season. Example: "matchesConcluded": 16 |
playoffCutoff |
Int64 | The number of teams eligible to compete in the Overwatch League Playoffs. Example:"playoffCutoff": 6 |
Returns an Array of Competitors ordered by placement in the Overwatch League.
Attribute | Type | Description |
---|---|---|
owl_divisions |
Array of Division Object | Contains all the divisions for the current Overwatch League Season. Example:owl_divisions": [ { "id": "79", "string": "owl.teams.divisions.atlantic", "name": "Atlantic Division", "abbrev": "ATL" }, { "id": "80", "string": "owl.teams.divisions.pacific", "name": "Pacific Division", "abbrev": "PAC" }] |
playoff_separators |
Array of Int64 | An Array of Integers indicating the stages for the current season of the Overwatch League Playoffs |
season |
Array of Competitor Objects | A season is comprised of Competitors organized in Divisions. This will return two groups of Competitor arrays inside a parent Division object. |
ranks |
Array of Competitor Objects | An Array of Competitors sorted by current standinds in the Overwatch League. Comparison values include match differentials, match game differentials, game head to head differentials, match head to head differentials, and advantage. |
The following endpoints retrieve information for Overwatch League Teams.
Returns a Array of Player Objects representing players competitng in the current Overwatch League season.
Returns a single Overwatch League Player when given the Player's ID.
Attribute | Type | Description |
---|---|---|
id |
Int64 | A unique integer identifier for an Overwatch League Player. Example: "id": 3380 |
availableLanguages |
Array of Strings Objects | An array of language abbreviations indicating the avaliable languas for player information. Example: "availableLanguages": [ "en" ] |
handle |
String | The name of the Player's Battle.net account. Example: "handle": "taimou.6010" |
name |
String | The Player's Overwatch username. Example: "name": "Taimou" |
homeLocation |
String | The Player's hometown. Example: "homeLocation": "Juankoski" |
accounts |
Array of Account Objects | An array containing all of the Player's social media accounts. |
game |
String | The name of the game associated with the Player. Example: "game": "OVERWATCH" |
attributes |
Attribute Object | An Object containing information about a Player's most played heroes, player number, preferred slot, and role. |
attributesVersion |
String | A String representation of the attribute version. |
familyName |
String | The Player's last name. Example: "familyName": "Kettunen" |
givenName |
String | The Player's first name. Example: "givenName": "Timo" |
nationality |
String | A two letter abbrevition denoting the player's home country. Example: "nationality": "FI" |
headshot |
String | A String represenation of a Player's headshot URL. Example: "headshot": "https://bnetcmsus-a.akamaihd.net/cms/gallery/DFRBV085AX601550194285520.png" |
teams |
Array of Competitor Objects | An array of the Player's teams |
stats |
Object | An object consisting of the Players average stats per 10 minutes(i.e. eliminations, deaths, hero damage, healing, final blows), total time played in the Overwatch League, and top heroes. |
statRank |
Object | An object consisting of the Players stat ranks. Ranked stats include stats per 10 minutes (i.e. eliminations, deaths, hero damage, healing, final blows) and total time played in the Overwatch League. |
team |
Object | An object consisting of the Player's Team information. |
The following endpoints retrieve information for Overwatch League Matches.
Returns an array of Match objects. This denotes all matches in the Overwatch League.
Returns information about a single Overwatch League Match given a Match ID.
Attribute | Type | Description |
---|---|---|
id |
Int64 | The unique Integer identifier for a singel Overwatch League Match |
competitors |
Array of Competitor Objects | An Array containing the information of two competitng teams for an Overwatch League Match. |
scores |
Array of Int64 | An array containing the currents scores for two Overwatch League Competitors respectively. |
conclusionValue |
Int64 | The number of games for a single Overwatch League Match |
conclusionStrategy |
String | A string representation of an Overwatch League Match conclusion. |
winner |
Competitor Object | A Competitor object representing the winning team in an Overwatch League Match. |
home |
String | A string indicating the home location of a match. |
bracket |
Bracket Object | A Bracket Object which denotes the tournament infornation and stage information. |
Returns information regarding an ongoing live match.
Attribute | Type | Description |
---|---|---|
liveMatch |
Live Match Object | A Live Match object with information about the current match. |
nextMatch |
Next Match Object | A Next Match object with information about the next match. |
Returns the schedule for the current Overwatch League season.
Attribute | Type | Description |
---|---|---|
id |
String | A String identifier indicating the year of the current Overwatch League Season. Example:"id": "2019" |
startDate |
String | A String representing the start date of the current Overwatch League season. Example:"startDate": "02-14-2019" |
endDate |
String | A String representing the end date of the current Overwatch League season. Example:"endDate": "08-27-2019" |
endDateMS |
Int64 | An Integer representing the end date of the current Overwatch League season. Example:"endDateMS": 1566975540000 |
seriesId |
Int64 | A unique integer identifier for the Overwatch League series. Example:"series": 181 |
stages |
Array of Stage Objects | A list of all stages for the Overwatch League |
Returns Overwatch League's stream information
Attribute | Type | Description |
---|---|---|
id |
Int64 | A unique integer identifier for the Overwatch League's stream. |
name |
String | The stream title. |
slug |
String | The partt of a URL which identifies the Overwatch League stream on the stream's site. |
subtitle |
String | The sub text for the stream. |
description |
String | The current stream description. |
stream_name |
String | The name of the stream's host channel. |
is_hidden |
Boolean | Indicates if a stream information is hidden or not on the Overwatch League website. |
image_6_9_small |
String | A URL of the Overwatch League stream icon. |
tags |
Array of Strings | A list of tags for the Overwatch League streams. |
status |
Integer | Indicates whether or not the stream is visible and live |
channel_id |
Int64 | A unique integer identifier for the Overwatch League's Twitch channel. |
cdn |
String | The name of the cache measurement mechanism for content delivery |
Returns a list of videos on demand from https://overwatchleague.com
Attribute | Type | Description |
---|---|---|
status |
String | Indicates if the list of vods were retrieved or not. |
code |
Int64 | Indicates if the list of vods were retrieved or not. |
data |
Array of VOD Objects | A List of available VODs on https://overwatchleague.com |
Returns all of the available maps in Overwatch.
Attribute | Type | Description |
---|---|---|
guid |
Int128 | A Globally Unique Identifier for an Overwatch Map. |
name |
Name object | An object with the name of a map in different languages. |
gameModes |
Array of Game Mode Objects | A list of available modes for a map. Each Game Mode has an Id , Name , and Key . |
id |
String | A string identifier of the map. This is typically the english name of the map. |
icon |
String | A URL of the map icon. |
thumbnail |
String | A URL of the map thumbnail. |
type |
String | The type of map. There are four types of maps used in the Overwatch League: Control, Hybrid, Assault, and Escort. |
Returns Overwatch League news nformation.
Attribute | Type | Description |
---|---|---|
totalBlogs |
Int64 | An integer indicating the total number of blogs published on the Overwatch League website. |
pageSize |
Int64 | The number of blog posts per page. |
page |
Int64 | The current page of blogs as seen on https://overwatchleague.com |
totalPages |
Int64 | The total number of blog post pages available on https://overwatchleague.com |
blogs |
Array of Blog Objects | A lists of blog posts on a specified page. |
Thank you for reading! If you have anymore questions or want to share your work, click here to join the server if you haven't already!