• Stars
    star
    140
  • Rank 260,516 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🌎 An Unofficial Overwatch HTTP API

Overwatch API

An unofficial Overwatch and Overwatch League HTTP API and NodeJS module.

npm Build Status

Features

  • Profile Data*
  • Career Stats*
  • Overwatch League Data
    • Live Match
    • Standings
    • Schedule

**Please note, as of the JUNE 26, 2018 patch, Career Profiles will no longer be public by default (now defaults to Friends Only). An option to make Career Profiles visible has been added under Options > Social > Profile Visibility.

Your profile MUST be public to view most profile and career stats with this API.

Source: https://playoverwatch.com/en-us/news/patch-notes/pc#patch-47946

API Docs

See: https://owapi.io/docs/

NPM Module

If you wish to use the Javascript API in your own project, see api/README.md.

Demo

curl http://owapi.io/profile/pc/us/Jay3-11894
{
  "username": "Jay3",
  "level": 2970,
  "portrait": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/190aa6150e33690e39a9c91308d5da9b2e262262657af26579b95e939c44d5ad.png",
  "endorsement": {
    "sportsmanship": {
      "value": 0.18,
      "rate": 18
    },
    "shotcaller": {
      "value": 0.44,
      "rate": 44
    },
    "teammate": {
      "value": 0.38,
      "rate": 38
    },
    "level": null,
    "frame": "https://static.playoverwatch.com/svg/icons/endorsement-frames-3c9292c49d.svg#_2",
    "icon": "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQwIiB3aWR0aD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxjaXJjbGUgcj0iMTUuOTE1NDk0MzA5MTg5NTQiIGZpbGw9IiMyYTJiMmUiIHN0cm9rZS1kYXNoYXJyYXk9IjQ0IDU2IiBzdHJva2UtZGFzaG9mZnNldD0iMjUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlPSIjZjE5NTEyIiBjeD0iNTAlIiBjeT0iNTAlIj48L2NpcmNsZT48Y2lyY2xlIHI9IjE1LjkxNTQ5NDMwOTE4OTU0IiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlLWRhc2hhcnJheT0iMzggNjIiIHN0cm9rZS1kYXNob2Zmc2V0PSI4MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2U9IiNjODFhZjUiIGN4PSI1MCUiIGN5PSI1MCUiPjwvY2lyY2xlPjxjaXJjbGUgcj0iMTUuOTE1NDk0MzA5MTg5NTQiIGZpbGw9InRyYW5zcGFyZW50IiBzdHJva2UtZGFzaGFycmF5PSIxOCA4MiIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjQzIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZT0iIzQwY2U0NCIgY3g9IjUwJSIgY3k9IjUwJSI+PC9jaXJjbGU+PHRleHQgeD0iNTAlIiB5PSI1MCUiIGR5PSIuM2VtIiBmb250LWZhbWlseT0iY2VudHVyeSBnb3RoaWMsYXJpYWwsc2Fucy1zZXJpZiIgZm9udC13ZWlnaHQ9IjMwMCIgZm9udC1zaXplPSIxNiIgc3Ryb2tlPSIjZjZmNmY2IiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9IiNmNmY2ZjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiPk5hTjwvdGV4dD48L3N2Zz4="
  },
  "private": false,
  "games": {
    "quickplay": {
      "won": 925,
      "played": 1671
    },
    "competitive": {
      "won": 145,
      "lost": 121,
      "draw": 4,
      "played": 270,
      "win_rate": 54.51
    }
  },
  "playtime": {
    "quickplay": "201:16:17",
    "competitive": "55:14:59"
  },
  "competitive": {
    "tank": {
      "rank": null,
      "rank_img": null
    },
    "damage": {
      "rank": 4553,
      "rank_img": "https://d1u1mce87gyfbn.cloudfront.net/game/rank-icons/rank-GrandmasterTier.png"
    },
    "support": {
      "rank": null,
      "rank_img": null
    }
  },
  "levelFrame": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/9e8600f97ea4a84d822d8b336f2b1dbfe7372fb9f2b6bf1d0336193567f6f943.png",
  "star": "https://d15f34w2p8l1cc.cloudfront.net/overwatch/cd877430ccc400c10e24507dba972e24a4543edc05628045300f1349cf003f3a.png"
}

Install

Requirements

  • Node v8.0+
  • Redis
  • Or Docker
git clone https://github.com/alfg/overwatch-api.git
cd overwatch-api
npm install
npm start

Environment Variables

Set the following environment variables if you would like to override the default configuration.

REDIS_URL=redis://localhost:6379
CACHE_TTL=3600

Docker

A docker-compose.yml and Dockerfile are provided to easily setup an environment.

docker-compose build
docker-compose up

Development

This project is built using srv, a microservices stack based on express. After installation, run the project using the following:

node node_modules/srv-cli/build/srv app/index.js

nodemon is recommended for auto-reloading during development:

nodemon node_modules/srv-cli/build/srv app/index.js

Generate docs with the --docs app/routes flag.

See srv documentation for more info on srv specific options.

License

MIT

More Repositories

1

docker-nginx-rtmp

🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
XSLT
984
star
2

ffmpeg-commander

🛠️ FFmpeg Command Generator Web UI
Vue
554
star
3

ping.js

🔔 Ping the web with Javascript.
JavaScript
387
star
4

opendrinks

🍸 Open Source Drinks! Add your own recipe in a pull request! Inspired by 🎃Hacktoberfest!
JavaScript
342
star
5

mp4-rust

MP4 reader + writer library in Rust! 🎥🦀
Rust
217
star
6

ffprobe-wasm

A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!
Vue
116
star
7

openencoder

🎥 Cloud Encoding Platform for FFmpeg.
Go
110
star
8

mp4

🎥 Basic MP4 reader in Go! CLI + Golang Package for ISO/IEC 14496-12 - ISO Base Media File Format
Go
105
star
9

dropdot

☁️ Direct Upload to Amazon S3 With CORS demo. Built with Node/Express
JavaScript
86
star
10

docker-ffmpeg

A Dockerfile FFmpeg from source. Built on Alpine Linux.
Dockerfile
80
star
11

murmur-rest

🎧 A RESTful API for administering virtual Mumble servers. Built with Flask and Ice.
Slice
78
star
12

widevine

Golang Client for Widevine Cloud
Go
64
star
13

ffmpegd

FFmpeg websocket server for ffmpeg-commander.
Go
58
star
14

guildbit

🔉 Mumble Hosting Platform
HTML
53
star
15

blockchain

💰 Go (golang) Client for the Blockchain.info API
Go
45
star
16

docker-nginx-vod-module

A Dockerized NGINX build of the nginx-vod-module
Python
36
star
17

jot

📝 A server-less pastebin app for short messages. Data is stored within the URL.
JavaScript
36
star
18

chathub-client

:octocat: 💬 Chatrooms for your Github Projects
CSS
33
star
19

AdminCraft

🌲 Admin Web GUI Server Wrapper for Vanilla Minecraft Servers
Python
29
star
20

mp4-inspector

A Web-based MP4 File Inspector. Powered by Rust, Vue and Web Assembly! 🦀
Vue
26
star
21

hyperterm-retro

◼️ A retro HyperTerm theme inspired by the cool-retro-term terminal emulator.
JavaScript
25
star
22

quick-dive-into-mp4

🎥 A technical intro the MP4 container byte structure.
Go
25
star
23

somafm

📻 A SomaFM Desktop Player
JavaScript
23
star
24

mumble-widget

🔋 A web-based channel viewer widget to display active users on your Mumble server.
JavaScript
22
star
25

PlaylistParty

📺 Play Spotify Playlists on Youtube.
JavaScript
21
star
26

mediacast

📺 Google Cast - Chrome Sender & CAF Player for testing Media Playback
Vue
20
star
27

srv

▼ A modern, opinionated and simple microservices stack built on Express.
JavaScript
17
star
28

ffmpeg-webassembly-example

FFmpeg + WebAssembly
Dockerfile
17
star
29

abr-player

📼 Adaptive Streaming Test Player
Vue
15
star
30

filtergrapher

FFmpeg filtergraph editor in the browser. Powered by libavfilter, Vue and Web Assembly!
C++
15
star
31

awesome-discord

🎮 All Things Discord
15
star
32

peerfm

🎵 A Streaming Torrent Desktop Music Player
JavaScript
14
star
33

asciicat

😸 A Simple Image to ASCII Art Conversion Tool.
Go
13
star
34

docker-bento4

A dockerized Bento4 from source. Built on Alpine Linux.
Dockerfile
11
star
35

bithook

💰 A Bitcoin Webhook CLI
Go
9
star
36

flask-bootstrap

A Flask template with Flask-SQLAlchemy support and Twitter Bootstrap frontend.
JavaScript
8
star
37

screenchop

🎮 A screenshot sharing webapp for gamers
JavaScript
7
star
38

chathub-server

:octocat: 💬 Chatrooms for Github. Express/Socket.io/OAuth proxy server.
JavaScript
5
star
39

pbm-viewer

PBM, PGM, and PPM Web Viewer
JavaScript
5
star
40

shamebell-bot

🔔 Shame your friends in Discord for doing stupid things.
JavaScript
4
star
41

libav-examples

Collection of FFmpeg libav examples.
C
4
star
42

docker-murmur

A Dockerfile with Mumble Server (murmur) built from source with gRPC support enabled
CMake
4
star
43

now-playing

🎵 Display your current playing track for your stream!
Vue
3
star
44

bifextract

CLI utility for extracting images from a BIF file
Go
3
star
45

grunt-frontend-starter

A frontend starter template built with Grunt.js and Foundation.
CSS
3
star
46

docker-php-apache

A Dockerfile installing Apache 2.4, mod_php with a default settings template. Built on Alpine Linux.
Dockerfile
3
star
47

tera-query

A screen-scraping python script to query TERA item databases from the command line.
Python
2
star
48

alfg.github.io

SCSS
2
star
49

PubChem.NET

.NET Wrapper for the PubChem PUG REST API
C#
2
star
50

jquery-btc

💰 Convert USD to realtime BTC in jQuery.
JavaScript
2
star
51

restful-markdown

📝 A simple style-guide for building RESTful documentation in Markdown.
2
star
52

golang-setup

Golang Quick Start & Developer Setup for OSX
2
star
53

dotfiles

My dotfiles to share.
Vim Script
1
star
54

zedhunt

:goberserk: A squad matchmaking platform for DayZ
JavaScript
1
star
55

alfg

1
star
56

node-web-starter

Node Web Starter with ES6, Babel, WebPack.
JavaScript
1
star
57

docker-httpd

A Dockerfile installing Apache HTTPD 2.4 from source. Built on Alpine Linux.
Dockerfile
1
star
58

scripts

My scripts to share.
Shell
1
star
59

homebrew-tap

My Homebrew Tap! 🍺
Ruby
1
star
60

terabot

An IRC bot with with TeraTome querying capabilities.
Python
1
star
61

docker-YOURLS

A Dockerfile installing YOURLS running on Apache 2.4 from source. Built on Alpine Linux.
PHP
1
star
62

flask-conditional

Conditional decorators for Flask routes.
Python
1
star
63

postpress

A job posting web application to integrate into your website.
JavaScript
1
star
64

s3-uploader

A Simple S3 Uploader in Flask.
Python
1
star
65

inviteme

A small Flask app to accept email POST requests and stores to database
Python
1
star