I’ve been dorking around with the Riot API, for League of Legends. They’ve done a remarkably good job on it, particularly for a game company. The API product, the docs and developer registration and stuff, is well executed. (I say this as someone with some personal expertise.) And they are providing a huge amount of data, particularly detailed info on specific matches.
Here’s an example visualization of a match, from Riot’s own web product. All the data behind that match history view is also available in JSON form.
Anyway, one specific question is how to find matches. There’s two methods for looking up matches. The old /game API returns all matches for a given summoner ID (ie, a player). And the newer /matchhistory API returns all matches for a given summoner ID, but only ranked matches. Riot has said repeatedly that they think of ranked matches as public data and will always make that info available to anyone. But that other matches are casual and should be private. OTOH they haven’t implemented that yet, at least not entirely. Here’s the state of things today AFAICT
- Ranked game data is entirely public, including summoner identity
- Other game data is entirely public too, but does not include summoner identity except…
- You can see summoner identity for all games played by friends of yours and…
- Your Riot API developer token acts as you, and thus you can see identities of friends.
These principles apply to both the /game and /matchhistory APIs for “find me games from this person”. But they also apply to the very detailed match data returned by /match. They will return a lot of detailed data for any game, even a custom ARAM (as casual as it gets). However if you’re not friends with a player it won’t show you their summoner details. Ie: the game is anonymous.
At least, I think that’s how it works. I should confirm more.
They keep saying they’re going to disable the old /game API. That will make it more difficult to find match IDs for non-ranked games. OTOH they’ve been saying they’re going to do that for a year now and haven’t.
Update: the bit about seeing data for friends may only be true for the old /game API. It seems not to be true for specific match data returned by /match.