Web Call of Duty API Endpoints

Discussion in 'Source Code & Tutorial Database' started by Tustin, Sep 23, 2017 with 0 replies and 2,192 views.

  1. Tustin

    Tustin Keto Friendly!

    Messages:
    197
    Ratings:
    227
    Recently, Activision released a web based site for their recent CoD games (BO3 and IW) to track stats and leaderboards. I thought it was pretty cool so I decided to see if they used an API. Not only do they use one, but it also requires no authentication (for most of it anyways) which makes it easy to use if you want to integrate directly on your website or application.

    Rather than making a library for this API, I figured it would be easier to just provide the API endpoints used. There aren't many of them right now, but hopefully it gets expanded in the future.

    Resources:

    API URLs:
    IW: https://my.callofduty.com/api/papi-client/crm/cod/v2/title/iw/
    BO3: https://my.callofduty.com/api/papi-client/crm/cod/v2/title/bo3/

    Platform Identifiers (used for 'platform' parameter):
    PSN - psn
    Xbox Live - xbl
    Steam - steam

    Endpoints:

    User Stats:
    GET platform/{$platform}/gamer/{$username}/profile/ (example: platform/psn/gamer/tustin25/profile/)

    Leaderboards:
    GET platform/{$platform}/time/alltime/type/core/mode/career/page/1/ - returns the first page of lifetime core stats (example: platform/psn/time/alltime/type/core/mode/career/page/1/)

    Quatermaster Inventory (requires authentication):
    Support for BO3 supply drops isn't supported yet. I was hoping you could view anyone's inventory with this but this endpoint requires authentication to view unfortunately. I still need to reverse their authentication flow.
    GET platform/{$platform}/gamer/{$username}/inventory/?c=1506178397083 (example: platform/psn/gamer/tustin25/inventory/?c=1506178397083) not sure what the 'c' param is used for. The value is a unix timestamp but maybe it stands for cache?

    Keys/Salvage/COD Points (requires authentication):
    Again, requires authentication and also doesn't support BO3.
    GET platform/{$platform}/gamer/{$username}/currency/?c=1506178397084 (example: platform/psn/gamer/tustin25/currency/?c=1506178397084) see above endpoint for the 'c' param.

    Purchasing Supply Drop (requires authentication):
    This only purchases a common crate. I'm not too sure what the parameters are for a rare crate and purchasing with COD points.
    POST platform/{$platform}/gamer/{$username}/item/CommonCrate/purchaseWith/keys (example: platform/psn/gamer/tustin25/item/CommonCrate/purchaseWith/keys)

    Opening Supply Drop (requires authentication):
    Again, I've only tested this with common crates.
    POST platform/{$platform}/gamer/{$username}/item/CommonCrate/redeem (example: platform/psn/gamer/tustin25/item/CommonCrate/redeem)


    That's about all for now. Like I said, not enough to make some library for this and I also haven't reversed their auth flow yet so most of these endpoints aren't useful at the moment. Still pretty cool to see all the items you've gotten from supply drops though since I don't think all that data is displayed anywhere currently. Hopefully someone can find the statistics part useful at the very least!
     
    • Like Like x 2

Share This Page