API KeyEdit

Sign in to and visit the API registration portal. If you haven't already verified the email address associated with your account, now is the time to do so. Make sure to check your spam or junk mail folder if the email verification link doesn't appear.

Query the PlatformEdit

To fetch data from the platform, it's as simple as sending a HTTP request to it along with your API key and making use of the response, which is JSON-encoded.


 $apiKey = 'YOUR-API-KEY-HERE';
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, '');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-Key: ' . $apiKey));
 $json = json_decode(curl_exec($ch));
 echo $json->Response->data->inventoryItem->itemName; //Gjallarhorn


var apiKey = "YOUR-API-KEY-HERE";
var xhr = new XMLHttpRequest();"GET", "", true);
xhr.setRequestHeader("X-API-Key", apiKey);
xhr.onreadystatechange = function(){
 if(this.readyState === 4 && this.status === 200){
  var json = JSON.parse(this.responseText);
  console.log(; //Gjallarhorn

JavaScript (with jQuery)Edit

var apiKey = "YOUR-API-KEY-HERE";
 url: "",
 headers: {
  "X-API-Key": apiKey
 console.log(; //Gjallarhorn

C# (Blocking)Edit

// Uses JSON.NET -
using (var client = new HttpClient())
  client.DefaultRequestHeaders.Add("X-API-Key", "YOUR-API-KEY-HERE");
  var response = client.GetAsync("").Result;
  var content = response.Content.ReadAsStringAsync().Result;
  dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
  Console.WriteLine(; //Gjallarhorn

C# (Non-Blocking)Edit

// Uses JSON.NET -
using (var client = new HttpClient())
  client.DefaultRequestHeaders.Add("X-API-Key", "YOUR-API-KEY-HERE");
  var response = await client.GetAsync("");
  var content = await response.Content.ReadAsStringAsync();
  dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
  Console.WriteLine(; //Gjallarhorn

Java Edit

 String apiKey = "YOUR-API-KEY-HERE";
 // Endpoint for Gjallarhorn
 String url = "";
 URL obj = new URL(url);
 HttpURLConnection con = (HttpURLConnection) obj.openConnection();
 // Set header
 con.setRequestProperty("X-API-KEY", apiKey);
 int responseCode = con.getResponseCode();
 System.out.println("\nSending 'GET' request to Bungie.Net : " + url);
 System.out.println("Response Code : " + responseCode);
 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
 String inputLine;
 String response = "";
 while ((inputLine = in.readLine()) != null) {
     response += inputLine;
 // Uses Gson -
 JsonParser parser = new JsonParser();
 JsonObject json = (JsonObject) parser.parse(response);


import requests
#dictionary to hold extra headers
#make request for Gjallarhorn
r = requests.get("", headers=HEADERS);
#convert the json object we received into a Python dictionary object
#and print the name of the item
inventoryItem = r.json()


# These commonly-used packages can be installed from CRAN with:
# install.packages(c("magrittr", "httr"))
api_key <- "YOUR_API_KEY_HERE"
r <- GET("",
  add_headers("X-API-Key" = api_key)
) %>% content("parsed")
# [1] "Gjallarhorn"


$apikey = 'YOUR-API-KEY-HERE'
$uri = ''
#Hashtable to hold headers
$headers = @{}
$headers.add('X-API-KEY', $apikey)
#Best practice is to use Invoke-WebRequest, cURL can be used as an alias.
$request = Invoke-WebRequest -Headers $headers -URI $uri -Method Get
#Convert HtmlWebRequestObject to PSCustomObject
$results = ConvertFrom-Json $request.Content
echo $


use REST::Client;
use JSON;
# Create the connection
my $client = REST::Client->new();
# Add headers to the connection and set host
$client->addHeader("X-API-KEY", "YOUR-API-KEY-HERE");
# Perform HTTP GET on this URI
# Convert JSON response to Perl data structure 
my $response = from_json($client->responseContent());
# Gjallarhorn
print $response->{'Response'}->{'data'}->{'inventoryItem'}->{'itemName'};

Where to Next?Edit

Read more about the API.

See a list of endpoints.