First off, I have no programming knowledge whatsoever. Second, I am aware of steam stats and its "top 100" etc. I am curious as to how sites like BF3stats[dot]net work, with APIs? But I am honestly not sure what that means, and was EA/DICE just nice enough to open up the ability to pull concurrent players numbers for each platform?

I am curious because I'd love to regularly be able to retrieve concurrent play numbers, by platform, for multiple shooters, Crysis 3 as an example since I know on Xbox 360 the player count is constantly ~1000, but I do not want to have to load up a game to look at these types of numbers.

Another game that does display concurrent player #s per game type is Halo 4, via waypoint, but I really just want to understand how sites like BF3stats[dot]net get their information and is it up to the developers to allow access to the numbers regarding the player base.

Example of what I am referring to about Battlefield 3 and its per platform online player information:

Any information is greatly appreciated, just want increased understanding of how to acquire the stats and if its left up to the dev to allow access or what

In this case you would access the BF3 API, and use the GetPlayers (or whatever) method.

You can only do what BF3 chooses to expose through their API, so you're limited by them

You'd be looking for Crysis 3 Server APIs to get info

Thank you for the reply I am curious, if you or anyone knows (while I search through BF3stats source code) how I could use these API's to display player count via an HTML document for my personal homepage, simply for my curiosity.

onlinestats
URL: http://api.bf3stats.com/[Platform]/onlinestats/
[Platform] must be global
POST parameters:
none
Return parameters:
status can contain ok, nodata or error
ok online data is available
nodata data is not available
error is only returned if status is error with one of following error codes:
invalid_platform
pc count of online players on PC
360 count of online players on 360
ps3 count of online players on PS3
The data is refreshed every 10 seconds.

And for Crysis 3; which is the same except pointing to crysis3s[dot]com.