2024-07-28 19:10:40 +00:00
|
|
|
# mlblive
|
|
|
|
mlblive is a CLI tool for retrieving data from Major League Baseball's Stats
|
|
|
|
API, including efficient retrieval of live game data. Unofficial documentation
|
|
|
|
on the Stats API can be found
|
|
|
|
[here](https://github.com/toddrob99/MLB-StatsAPI/wiki/Endpoints) (thanks to
|
|
|
|
GitHub user toddrob99 for this resource).
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
mlblive provides sub-commands to query a subset of the Stats API endpoints. As
|
|
|
|
of the time of writing, the sub-commands are:
|
2024-07-29 02:45:13 +00:00
|
|
|
* `mlblive content` (accesses the `game_content` endpoint)
|
|
|
|
* `mlblive feed` (accesses the `game` endpoint)
|
|
|
|
* `mlblive schedule` (accesses the `schedule` endpoint)
|
|
|
|
* `mlblive standings` (accesses the `standings` endpoint)
|
2024-07-28 19:10:40 +00:00
|
|
|
* `mlblive subscribe` (accesses the game WebSocket endpoint)
|
|
|
|
|
|
|
|
Each sub-command outputs the raw JSON response from the API. This can then be
|
|
|
|
piped into other commands like `jq` for further processing. See [this
|
|
|
|
repo](https://scm.dairydemon.net/filifa/mlblive-mastodon-scripts) for examples
|
|
|
|
of how the author use this program for posting live score updates and
|
|
|
|
highlights to Mastodon.
|
|
|
|
|
|
|
|
Note that mlblive does not provide sub-commands for every endpoint, or flags
|
|
|
|
for every parameter of every endpoint. The functionality provided was
|
|
|
|
prioritized based on the author's own needs. However, the author has made every
|
|
|
|
effort to make the current functionality's code easy to read, and hopes it will
|
2024-07-29 03:27:05 +00:00
|
|
|
be similarly easy for other developers to extend functionality as needed.
|
2024-07-28 19:10:40 +00:00
|
|
|
|
|
|
|
### subscribe sub-command
|
|
|
|
`mlblive subscribe` provides an efficient way to obtain live data on active MLB
|
|
|
|
games. Supply the game's PK (which can be retrieved with `mlblive schedule`) to
|
2024-07-29 02:45:13 +00:00
|
|
|
receive updates as they happen, without needing to blindly query the `game`
|
|
|
|
endpoint.
|
2024-07-28 19:10:40 +00:00
|
|
|
|
2024-07-29 02:46:06 +00:00
|
|
|
### Example
|
|
|
|
Use `mlblive schedule` to get the game PK(s) for today's Reds game:
|
|
|
|
```
|
|
|
|
mlblive schedule -t cin
|
|
|
|
```
|
|
|
|
Optionally, use `jq` to filter this output to *just* the game PK(s):
|
|
|
|
```
|
|
|
|
mlblive schedule -t cin | jq '.dates[].games[].gamePk'
|
|
|
|
```
|
|
|
|
Then, pass a PK to get live updates:
|
|
|
|
```
|
|
|
|
mlblive subscribe -g <gamePk>
|
|
|
|
```
|
|
|
|
|
2024-07-28 19:10:40 +00:00
|
|
|
## Disclaimer
|
|
|
|
This program and its author are not affiliated with MLB. Content supplied by
|
|
|
|
MLB's Stats API is copyright 2024 MLB Advanced Media, L.P., and use of any
|
|
|
|
content provided by the API acknowledges agreement to the terms posted [here](
|
|
|
|
http://gdx.mlb.com/components/copyright.txt).
|