Introduction
Welcome to the OWAPI.EU API. This API is based on Ovrstat by s32x
This API will be used in the Android Application OWidget 2. We recommend to use OWAPI.EU, but you can also use this API whenever you want.
I give no guarantee for the correctness of the sample data in this API, as this can always change.
This API documentation page was created with Slate.
Stats
Profile
curl https://owapi.eu/stats/pc/Domekologe-2110/profile
The above command returns JSON structured like this:
{
"icon": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/1d2bb9b10f2280ffc211476cac96162f8870a16004f6294d4b8ef9888fc56620.png",
"name": "Domekologe",
"endorsement": 5,
"endorsementIcon": "https://static.playoverwatch.com/img/pages/career/icons/endorsement/5-8697f241ca.svg#icon",
"title": "Mischievous Fox",
"namecardImage": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/cc89aa6e62f040d151b90a87bf81bfeb2f601ac6dc4e8d9695cb5885d8c00533.png",
"competitiveStats": {
"season": 21,
"gamesPlayed": 3,
"gamesWon": 3,
"timePlayed": "29:09",
"mostPlayedHero": "Bastion",
"mostPlayedHeroTimePlayed": "12:49",
"mostPlayedHeroGamesPlayed": 1,
"mostPlayedHeroWinPercentage": 100
},
"quickplayStats": {
"gamesPlayed": 6330,
"gamesWon": 3054,
"gamesLost": 3275,
"timePlayed": "845:07:39",
"mostPlayedHero": "Tracer",
"mostPlayedHeroTimePlayed": "115:40:42",
"mostPlayedHeroGamesPlayed": 889,
"mostPlayedHeroWinPercentage": 50
},
"ratings": null,
"private": false
}
This endpoint retrieves stats commonly used by bots and other services.
HTTP Request
GET https://owapi.eu/stats/:platform/:battletag/profile
URL Parameters
| Parameter | Description |
|---|---|
| platform | The game platform (pc, console) |
| battletag | Your battlenet tag (e.g. Domekologe-2110) |
Complete stats
curl https://owapi.eu/stats/pc/Domekologe-2110/complete
The above command returns JSON structured like this:
{
"icon": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/1d2bb9b10f2280ffc211476cac96162f8870a16004f6294d4b8ef9888fc56620.png",
"name": "Domekologe",
"endorsement": 5,
"endorsementIcon": "https://static.playoverwatch.com/img/pages/career/icons/endorsement/5-8697f241ca.svg#icon",
"title": "Mischievous Fox",
"namecardImage": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/cc89aa6e62f040d151b90a87bf81bfeb2f601ac6dc4e8d9695cb5885d8c00533.png",
"ratings": null,
"gamesPlayed": 6333,
"gamesWon": 3057,
"gamesLost": 3275,
"quickPlayStats": {
"topHeroes": {
"ana": {
"timePlayed": "12:04:46",
"gamesWon": 38,
"weaponAccuracy": 25,
"criticalHitAccuracy": 58,
"eliminationsPerLife": 1.14,
"multiKillBest": 3,
"objectiveKills": 293,
"gamesPlayed": 91,
"gamesLost": 53,
"winPercentage": 42,
"objectiveKillsBest": 13,
"healingDoneBest": 14989,
"damageDoneBest": 6470,
"killStreakBest": 12
},
"bastion": {
"timePlayed": "11:07:26",
"gamesWon": 39,
"weaponAccuracy": 32,
"criticalHitAccuracy": 0,
"eliminationsPerLife": 2.41,
"multiKillBest": 3,
"objectiveKills": 531,
"gamesPlayed": 77,
"gamesLost": 38,
"winPercentage": 50,
"objectiveKillsBest": 18,
"healingDoneBest": 547,
"damageDoneBest": 30155,
"killStreakBest": 15
},
"lucio": {
"timePlayed": "02:34:27",
"gamesWon": 7,
"weaponAccuracy": 32,
"criticalHitAccuracy": 0,
"eliminationsPerLife": 1.13,
"multiKillBest": 3,
"objectiveKills": 57,
"gamesPlayed": 18,
"gamesLost": 11,
"winPercentage": 37,
"objectiveKillsBest": 7,
"healingDoneBest": 9161,
"damageDoneBest": 6485,
"killStreakBest": 7
}
}
}
}
This endpoint retrieves all profile data, including top heroes and career stats. It is a VERY heavy endpoint, and should only be used when you need all stats. Data returned is most of the time around 100KB.
HTTP Request
GET https://owapi.eu/stats/:platform/:battletag/complete
URL Parameters
| Parameter | Description |
|---|---|
| platform | The game platform (pc, console) |
| battletag | Your battlenet tag (e.g. Domekologe-2110) |
OWAPI uses the following error codes:
| Error Code | Meaning |
|---|---|
| 400 | Bad Request – Your request sucks |
| 404 | Not Found – The specified profile could not be found |
| 406 | Not Acceptable – You requested a format that isn’t json |
| 500 | Internal Server Error – We had a problem with our server. Try again later. |
| 503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |