The url of the manifest you want to download
When fulfilled returns the path of the saved manifest file
Download the specified json manifest file
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getDestinyManifest()
.then(response => {
traveler.destiny2
.downloadManifestJSON(response.Response.jsonWorldContentPaths['en'])
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
})
.catch(err => {
console.log(err);
});
The url of the manifest you want to download
When fulfilled returns the path of the saved manifest file
Gets activity history stats for indicated character.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyActivityModeType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getActivityHistory(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
{
count: 10,
mode: DestinyActivityModeType.AllPvE,
page: 0
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
The id of the character to retrieve.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Retrieve aggregrated details about a Destiny Characters
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getCharacter(
BungieMembershipType.TigerPSN,
'destinyMembershipId',
'characterId',
{
components: [
DestinyComponentType.Characters,
DestinyComponentType.CharacterInventories,
DestinyComponentType.CharacterProgressions,
DestinyComponentType.CharacterRenderData,
DestinyComponentType.CharacterActivities,
DestinyComponentType.CharacterEquipment
]
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
Destiny membership ID.
ID of the character.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Gets aggregated stats for a clan using the same categories as the clan leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
import Traveler from './Traveler';
import { DestinyActivityModeType } from 'the-traveler/type-definitions/destiny2';
import { StatId } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getClanAggregateStats('groupId', {
modes: [DestinyActivityModeType.AllPvP, DestinyActivityModeType.AllPvE]
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
Group ID of the clan whose leaderboards you wish to fetch.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
import Traveler from './Traveler';
import { DestinyActivityModeType } from 'the-traveler/type-definitions/destiny2';
import { StatId } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getClanLeaderboards('groupId', {
modes: [DestinyActivityModeType.AllPvP, DestinyActivityModeType.AllPvE],
maxtop: 10,
statid: StatId.ActivitiesWon
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
Group ID of the clan whose leaderboards you wish to fetch.
An object containing key/value query parameters for this endpoint. Following keys are valid:
When fulfilled returns an object containing leaderboards for a clan
Returns information on the weekly clan rewards and if the clan has earned them or not. Note that this will always report rewards as not redeemed.
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', // used to identify your request to the API
});
traveler.destiny2
.getClanWeeklyRewardState('groupId')
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid group id of the clan
When fulfilled returns an object containing information about the weekly clan results
Given a Presentation Node that has Collectibles as direct descendants, this will return item details about those descendants in the context of the requesting character.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getCollectibleNodeDetails(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
1234567890,
{components: [DestinyComponentType.Collectibles]},
'oauthAccesstoken'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.PSN
for this endpoint.
Destiny membership ID of another user. You may be denied.
The Destiny Character ID of the character for whom we're getting collectible detail info.
The hash identifier of the Presentation Node for whom we should return collectible details. Details will only be returned for collectibles that are direct descendants of this node.
An object containing key/value query parameters for this endpoint. Following keys are valid:
When fulfilled returns the detailed information about a Collectible Presentation Node and any Collectibles that are direct descendants.
Gets all activities the character has participated in together with aggregate statistics for those activities.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getDestinyAggregateActivityStats(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
The specific character whose activities should be returned.
Returns the static definition of an entity of the given Type and hash identifier. Examine the API Documentation for the Type Names of entities that have their own definitions. Note that the return type will always inherit from DestinyDefinition, but the specific type returned will be the requested entity type if it can be found. Please don't use this as a chatty alternative to the Manifest database if you require large sets of data, but for simple and one-off accesses this should be handy.
import Traveler from './Traveler';
import { TypeDefinition } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getDestinyEntityDefinition(
TypeDefinition.DestinyInventoryItemDefinition,
'hashIdentifier'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
Returns the current version of the manifest as a json object.
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getDestinyManifest()
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
When fulfilled returns an object containing the current Destiny 2 manifest
Gets historical stats for indicated character.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyStatsGroupType, PeriodType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getHistoricalStats(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
{
dayend: '2017-09-30',
daystart: '2017-09-20',
groups: [DestinyStatsGroupType.Activity],
periodType: PeriodType.Activity
}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
The id of the character to retrieve. You can omit this character ID or set it to 0 to get aggregate stats across all characters.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Gets historical stats definitions.
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2.getHistoricalStatsDefinition()
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
}
Gets aggregate historical stats organized around each character for a given account.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyStatsGroupType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getHistoricalStatsForAccount(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
{groups: [DestinyStatsGroupType.Activity]}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Get the details of an instanced Destiny Item. Materials and other non-instanced items can not be queried with this endpoint. The items are coupled with an specific Destiny Account
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getItem(
BungieMembershipType.PSN,
'destinyMembershipId',
'itemInstanceId',
{ components: [DestinyComponentType.ItemCommonData] }
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny ID (Account ID)
ID of the Destiny Item
An object containing key/value query parameters for this endpoint. Following keys are valid:
When fulfilled returns an object containing stats about the queried item
Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been implemented. It is being returned for a preview of future functionality, and for public comment/suggestion/preparation.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyActivityModeType } from 'the-traveler/type-definitions/destiny2';
import { StatId } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getLeaderboards(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
{
modes: [DestinyActivityModeType.AllPvP, DestinyActivityModeType.AllPvE],
maxtop: 10,
statid: StatId.ActivitiesWon
}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
The Destiny membershipId of the user to retrieve.
A valid non-BungieNet membership type.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyActivityModeType } from 'the-traveler/type-definitions/destiny2';
import { StatId } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getLeaderboardsForCharacter(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
{
modes: [DestinyActivityModeType.AllPvP, DestinyActivityModeType.AllPvE],
maxtop: 10,
statid: StatId.ActivitiesWon
}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
The specific character to build the leaderboard around for the provided Destiny Membership.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Returns a summary information about all profiles linked to the requesting membership type/membership ID that have valid Destiny information. The passed-in Membership Type/Membership ID may be a Bungie.Net membership or a Destiny membership. It only returns the minimal amount of data to begin making more substantive requests, but will hopefully serve as a useful alternative to UserServices for people who just care about Destiny data. Note that it will only return linked accounts whose linkages you are allowed to view.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getLinkedProfiles(
BungieMembershipType.TigerPSN,
'destinyMembershipId'
);
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
Gets the available post game carnage report for the activity ID.
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getPostGameCarnageReport('activityId')
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
The ID of the activity whose PGCR is requested.
When fulfilled returns an object containing the carnage report for the specified activity
Returns Destiny Profile information for the supplied membership.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getProfile(
BungieMembershipType.TigerPsn,
'membershipId',
{components: [DestinyComponentType.Profiles]}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny ID (Account ID)
An object containing key/value query parameters for this endpoint. Following keys are valid:
Gets custom localized content for the milestone of the given hash, if it exists.
import Traveler from './Traveler';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getPublicMilestoneContent(
'milestoneHash'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
The identifier for the milestone to be returned.
Gets public information about currently available Milestones.
`
js
import Traveler from './Traveler';
let traveler = new Traveler({ apikey: 'apikey', userAgent: 'useragent', //used to identify your request to the API });
traveler.destiny2
.getPublicMilestones()
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
`
Get items available from vendors where the vendors have items for sale that are common for everyone. If any portion of the Vendor's available inventory is character or account specific, we will be unable to return their data from this endpoint due to the way that available inventory is computed. As I am often guilty of saying: 'It's a long story...'
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getPublicVendors(
{
components: [DestinyComponentType.Vendors]
}
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
An object containing key/value query parameters for this endpoint. Following keys are valid:
When fulfilled returns an object containing all valid components for the public Vendors endpoint
Gets details about unique weapon usage, including all exotic weapons.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getUniqueWeaponHistory(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The Destiny membershipId of the user to retrieve.
The id of the character to retrieve.
Get the details of a specific Vendor.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2.
.getVendor(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
'vendorHash'
{
components: [DestinyComponentType.VendorReceipts, DestinyComponentType.VendorSales]
},
'oauthAccesstoken'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
Destiny membership ID of another user. You may be denied.
The Destiny Character ID of the character for whom we're getting vendor info.
The Hash identifier of the Vendor to be returned.
An object containing key/value query parameters for this endpoint. Following keys are valid:
Get currently available vendors from the list of vendors that can possibly have rotating inventory. Note that this does not include things like preview vendors and vendors-as-kiosks, neither of whom have rotating/dynamic inventories. Use their definitions as-is for those.
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
import { DestinyComponentType } from 'the-traveler/type-definitions/destiny2';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.getVendors(
BungieMembershipType.TigerPsn,
'destinyMembershipId',
'characterId',
{
components: [DestinyComponentType.VendorReceipts]
},
'oauthAccesstoken'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
Destiny membership ID of another user. You may be denied.
The Destiny Character ID of the character for whom we're getting vendor info.
An object containing key/value query parameters for this endpoint. Following keys are valid:
When fulfilled returns an object containing all available vendors
Gets a page list of Destiny items.
import Traveler from './Traveler';
import { TypeDefinition } from 'the-traveler/type-definitions/additions';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.searchDestinyEntities(
'moon',
TypeDefinition.DestinyInventoryItemDefinition,
{ page: 0 })
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
The string to use when searching for Destiny entities.
The type of entity for whom you would like results. These correspond to the entity's definition contract name. For instance, if you are looking for items, this property should be 'DestinyInventoryItemDefinition'.
An object containing key/value query parameters for this endpoint. Following keys are valid:
The entities search result
Search for a Destiny 2 player by name
import Traveler from './Traveler';
import { BungieMembershipType } from 'the-traveler/type-definitions/app';
let traveler = new Traveler({
apikey: 'apikey',
userAgent: 'useragent', //used to identify your request to the API
});
traveler.destiny2
.searchDestinyPlayer(
BungieMembershipType.All,
'displayName'
)
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
A valid non-BungieNet membership type. It has to match the type which the destinyMembershipId
is belonging to.
Keep in mind that -1 / MembershipType.All
is not applicable here
Ex: If the destinyMembershipId
is a PSN account then use '2'
or MembershipType.TigerPSN
for this endpoint.
The full gamertag or PSN id of the player. Spaces and case are ignored
Download the specified manifest file, extract the zip and also deleting the zip afterwards
`
js import Traveler from './Traveler';let traveler = new Traveler({ apikey: 'apikey', userAgent: 'useragent', //used to identify your request to the API });
traveler.destiny2 .getDestinyManifest() .then(response => { traveler.destiny2 .downloadManifest(response.Response.mobileWorldContentPaths['en']) .then(response => { console.log(response); }) .catch(err => { console.log(err); }); }) .catch(err => { console.log(err); });
`
Destiny2Resource