Open documentation ↗Overview
These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
Bungie.Net API is a media API from bungie.net. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 134 endpoints.
At a glance
- Authentication
- API key
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Media
- Base URL
https://www.bungie.net/Platform- Version
- 2.18.0
- Endpoints
- 134
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://www.bungie.net/Platform/App/FirstParty/" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch("https://www.bungie.net/Platform/App/FirstParty/", {
method: "GET",
headers: {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://www.bungie.net/Platform/App/FirstParty/",
headers={
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /App/ApiUsage/{applicationId}/ | Get API usage by application for time frame specified. You can go as far back as 30 days ago, and can ask for up to a 48 hour window of time in a single request |
| GET | /App/FirstParty/ | Get list of applications created by Bungie. |
| GET | /CommunityContent/Get/{sort}/{mediaFilter}/{page}/ | Returns community content. |
| GET | /Content/GetContentById/{id}/{locale}/ | Returns a content item referenced by id |
| GET | /Content/GetContentByTagAndType/{tag}/{type}/{locale}/ | Returns the newest item that matches a given tag and Content Type. |
| GET | /Content/GetContentType/{type}/ | Gets an object describing a particular variant of content. |
| GET | /Content/Rss/NewsArticles/{pageToken}/ | Returns a JSON string response that is the RSS feed for news articles. |
| GET | /Content/Search/{locale}/ | Gets content based on querystring information passed in. Provides basic search and text search capabilities. |
| GET | /Content/SearchContentByTagAndType/{tag}/{type}/{locale}/ | Searches for Content Items that match the given Tag and Content Type. |
| GET | /Content/SearchHelpArticles/{searchtext}/{size}/ | Search for Help Articles. |
| POST | /Destiny2/Actions/Items/EquipItem/ | Equip an item. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. |
| POST | /Destiny2/Actions/Items/EquipItems/ | Equip a list of items by itemInstanceIds. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Any items not found on y |
| POST | /Destiny2/Actions/Items/InsertSocketPlug/ | Insert a plug into a socketed item. I know how it sounds, but I assure you it's much more G-rated than you might be guessing. We haven't decided yet whether thi |
| POST | /Destiny2/Actions/Items/InsertSocketPlugFree/ | Insert a 'free' plug into an item's socket. This does not require 'Advanced Write Action' authorization and is available to 3rd-party apps, but will only work o |
| POST | /Destiny2/Actions/Items/PullFromPostmaster/ | Extract an item from the Postmaster, with whatever implications that may entail. You must have a valid Destiny account. You must also pass BOTH a reference AND |
| POST | /Destiny2/Actions/Items/SetLockState/ | Set the Lock State for an instanced item. You must have a valid Destiny Account. |
| POST | /Destiny2/Actions/Items/SetTrackedState/ | Set the Tracking State for an instanced item, if that item is a Quest or Bounty. You must have a valid Destiny Account. Yeah, it's an item. |
| POST | /Destiny2/Actions/Items/TransferItem/ | Transfer an item to/from your vault. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it's an instanced item. it |
| POST | /Destiny2/Actions/Loadouts/ClearLoadout/ | Clear the identifiers and items of a loadout. |
| POST | /Destiny2/Actions/Loadouts/EquipLoadout/ | Equip a loadout. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. |
| POST | /Destiny2/Actions/Loadouts/SnapshotLoadout/ | Snapshot a loadout with the currently equipped items. |
| POST | /Destiny2/Actions/Loadouts/UpdateLoadoutIdentifiers/ | Update the color, icon, and name of a loadout. |
| GET | /Destiny2/Armory/Search/{type}/{searchTerm}/ | Gets a page list of Destiny items. |
| POST | /Destiny2/Awa/AwaProvideAuthorizationResult/ | Provide the result of the user interaction. Called by the Bungie Destiny App to approve or reject a request. |
| GET | /Destiny2/Awa/GetActionToken/{correlationId}/ | Returns the action token if user approves the request. |
| POST | /Destiny2/Awa/Initialize/ | Initialize a request to perform an advanced write action. |
| GET | /Destiny2/Clan/ClanBannerDictionary/ | Returns the dictionary of values for the Clan Banner |
| GET | /Destiny2/Clan/{groupId}/WeeklyRewardState/ | 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. |
| GET | /Destiny2/Manifest/ | Returns the current version of the manifest as a json object. |
| GET | /Destiny2/Manifest/{entityType}/{hashIdentifier}/ | 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 o |
| GET | /Destiny2/Milestones/ | Gets public information about currently available Milestones. |
| GET | /Destiny2/Milestones/{milestoneHash}/Content/ | Gets custom localized content for the milestone of the given hash, if it exists. |
| POST | /Destiny2/SearchDestinyPlayerByBungieName/{membershipType}/ | Returns a list of Destiny memberships given a global Bungie Display Name. This method will hide overridden memberships due to cross save. |
| GET | /Destiny2/Stats/AggregateClanStats/{groupId}/ | 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. Th |
| GET | /Destiny2/Stats/Definition/ | Gets historical stats definitions. |
| GET | /Destiny2/Stats/Leaderboards/Clans/{groupId}/ | 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 experien |
| GET | /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/ | 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 experien |
| GET | /Destiny2/Stats/PostGameCarnageReport/{activityId}/ | Gets the available post game carnage report for the activity ID. |
| POST | /Destiny2/Stats/PostGameCarnageReport/{activityId}/Report/ | Report a player that you met in an activity that was engaging in ToS-violating activities. Both you and the offending player must have played in the activityId |
| GET | /Destiny2/Vendors/ | 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 chara |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/ | Gets historical stats for indicated character. |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/ | Gets activity history stats for indicated character. |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/ | Gets all activities the character has participated in together with aggregate statistics for those activities. |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/ | Gets details about unique weapon usage, including all exotic weapons. |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/ | Gets aggregate historical stats organized around each character for a given account. |
| GET | /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/ | 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 i |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/ | Returns Destiny Profile information for the supplied membership. |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/ | Returns character information for the supplied character. |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Collectibles/{collectiblePresentationNodeHash}/ | Given a Presentation Node that has Collectibles as direct descendants, this will return item details about those descendants in the context of the requesting ch |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/ | 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 |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/ | Get the details of a specific Vendor. |
| GET | /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Item/{itemInstanceId}/ | Retrieve the details of an instanced Destiny Item. An instanced Destiny item is one with an ItemInstanceId. Non-instanced items, such as materials, have no usef |
| GET | /Destiny2/{membershipType}/Profile/{membershipId}/LinkedProfiles/ | Returns a summary information about all profiles linked to the requesting membership type/membership ID that have valid Destiny information. The passed-in Membe |
| GET | /Fireteam/Clan/{groupId}/ActiveCount/ | Gets a count of all active non-public fireteams for the specified clan. Maximum value returned is 25. |
| GET | /Fireteam/Clan/{groupId}/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{publicOnly}/{page}/ | Gets a listing of all of this clan's fireteams that are have available slots. Caller is not checked for join criteria so caching is maximized. |
| GET | /Fireteam/Clan/{groupId}/My/{platform}/{includeClosed}/{page}/ | Gets a listing of all fireteams that caller is an applicant, a member, or an alternate of. |
| GET | /Fireteam/Clan/{groupId}/Summary/{fireteamId}/ | Gets a specific fireteam. |
| GET | /Fireteam/Search/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{page}/ | Gets a listing of all public fireteams starting now with open slots. Caller is not checked for join criteria so caching is maximized. |
| GET | /Forum/GetCoreTopicsPaged/{page}/{sort}/{quickDate}/{categoryFilter}/ | Gets a listing of all topics marked as part of the core group. |
| GET | /Forum/GetForumTagSuggestions/ | Gets tag suggestions based on partial text entry, matching them with other tags previously used in the forums. |
| GET | /Forum/GetPostAndParent/{childPostId}/ | Returns the post specified and its immediate parent. |
| GET | /Forum/GetPostAndParentAwaitingApproval/{childPostId}/ | Returns the post specified and its immediate parent of posts that are awaiting approval. |
| GET | /Forum/GetPostsThreadedPaged/{parentPostId}/{page}/{pageSize}/{replySize}/{getParentPost}/{rootThreadMode}/{sortMode}/ | Returns a thread of posts at the given parent, optionally returning replies to those posts as well as the original parent. |
| GET | /Forum/GetPostsThreadedPagedFromChild/{childPostId}/{page}/{pageSize}/{replySize}/{rootThreadMode}/{sortMode}/ | Returns a thread of posts starting at the topicId of the input childPostId, optionally returning replies to those posts as well as the original parent. |
| GET | /Forum/GetTopicForContent/{contentId}/ | Gets the post Id for the given content item's comments, if it exists. |
| GET | /Forum/GetTopicsPaged/{page}/{pageSize}/{group}/{sort}/{quickDate}/{categoryFilter}/ | Get topics from any forum. |
| GET | /Forum/Poll/{topicId}/ | Gets the specified forum poll. |
| POST | /Forum/Recruit/Summaries/ | Allows the caller to get a list of to 25 recruitment thread summary information objects. |
| GET | /GetAvailableLocales/ | List of available localization cultures |
| GET | /GlobalAlerts/ | Gets any active global alert for display in the forum banners, help pages, etc. Usually used for DOC alerts. |
| GET | /GroupV2/GetAvailableAvatars/ | Returns a list of all available group avatars for the signed-in user. |
| GET | /GroupV2/GetAvailableThemes/ | Returns a list of all available group themes. |
| GET | /GroupV2/GetUserClanInviteSetting/{mType}/ | Gets the state of the user's clan invite preferences for a particular membership type - true if they wish to be invited to clans, false otherwise. |
| GET | /GroupV2/Name/{groupName}/{groupType}/ | Get information about a specific group with the given name and type. |
| POST | /GroupV2/NameV2/ | Get information about a specific group with the given name and type. The POST version. |
| POST | /GroupV2/Recommended/{groupType}/{createDateRange}/ | Gets groups recommended for you based on the groups to whom those you follow belong. |
| GET | /GroupV2/Recover/{membershipType}/{membershipId}/{groupType}/ | Allows a founder to manually recover a group they can see in game but not on bungie.net |
| POST | /GroupV2/Search/ | Search for Groups. |
| GET | /GroupV2/User/Potential/{membershipType}/{membershipId}/{filter}/{groupType}/ | Get information about the groups that a given member has applied to or been invited to. |
| GET | /GroupV2/User/{membershipType}/{membershipId}/{filter}/{groupType}/ | Get information about the groups that a given member has joined. |
| GET | /GroupV2/{groupId}/ | Get information about a specific group of the given ID. |
| POST | /GroupV2/{groupId}/Admin/AbdicateFoundership/{membershipType}/{founderIdNew}/ | An administrative method to allow the founder of a group or clan to give up their position to another admin permanently. |
| GET | /GroupV2/{groupId}/AdminsAndFounder/ | Get the list of members in a given group who are of admin level or higher. |
| GET | /GroupV2/{groupId}/Banned/ | Get the list of banned members in a given group. Only accessible to group Admins and above. Not applicable to all groups. Check group features. |
| POST | /GroupV2/{groupId}/Edit/ | Edit an existing group. You must have suitable permissions in the group to perform this operation. This latest revision will only edit the fields you pass in - |
| POST | /GroupV2/{groupId}/EditClanBanner/ | Edit an existing group's clan banner. You must have suitable permissions in the group to perform this operation. All fields are required. |
| POST | /GroupV2/{groupId}/EditFounderOptions/ | Edit group options only available to a founder. You must have suitable permissions in the group to perform this operation. |
| GET | /GroupV2/{groupId}/Members/ | Get the list of members in a given group. |
| POST | /GroupV2/{groupId}/Members/Approve/{membershipType}/{membershipId}/ | Approve the given membershipId to join the group/clan as long as they have applied. |
| POST | /GroupV2/{groupId}/Members/ApproveAll/ | Approve all of the pending users for the given group. |
| POST | /GroupV2/{groupId}/Members/ApproveList/ | Approve all of the pending users for the given group. |
| POST | /GroupV2/{groupId}/Members/DenyAll/ | Deny all of the pending users for the given group. |
| POST | /GroupV2/{groupId}/Members/DenyList/ | Deny all of the pending users for the given group that match the passed-in . |
| POST | /GroupV2/{groupId}/Members/IndividualInvite/{membershipType}/{membershipId}/ | Invite a user to join this group. |
| POST | /GroupV2/{groupId}/Members/IndividualInviteCancel/{membershipType}/{membershipId}/ | Cancels a pending invitation to join a group. |
| GET | /GroupV2/{groupId}/Members/InvitedIndividuals/ | Get the list of users who have been invited into the group. |
| GET | /GroupV2/{groupId}/Members/Pending/ | Get the list of users who are awaiting a decision on their application to join a given group. Modified to include application info. |
| POST | /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Ban/ | Bans the requested member from the requested group for the specified period of time. |
| POST | /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Kick/ | Kick a member from the given group, forcing them to reapply if they wish to re-join the group. You must have suitable permissions in the group to perform this o |
| POST | /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/SetMembershipType/{memberType}/ | Edit the membership type of a given member. You must have suitable permissions in the group to perform this operation. |
Showing the first 100 of 134 endpoints; the full list is in the documentation.
Questions
Does the Bungie.Net API API need an API key?
Yes. The Bungie.Net API API uses API key authentication; the documentation explains how to get credentials.
Does the Bungie.Net API API support HTTPS?
Yes, the Bungie.Net API API is served over HTTPS.
How many endpoints does the Bungie.Net API API have?
Its OpenAPI description lists 134 endpoints in version 2.18.0. The first 100 are shown on this page.
What are alternatives to the Bungie.Net API API?
Other Media APIs include SiriKit Cloud Media, Radio & Music Services, Spotify Web API, setlist.fm API, NBA Stats API.
Similar media APIs
Compare alternatives →SiriKit Cloud Media
MediaAdd intelligent features with Apple Intelligence, machine learning, and related technologies.
Radio & Music Services
MediaWe encapsulate Radio & Music business logic for iPlayer Radio and BBC Music products on all platforms. We add value by reliably providing the right blend of metadata needed by clients.
Spotify Web API
MediaYou can use Spotify's Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens. In order to make successful Web API requests your app will need a valid access token. One can be obtained through <a href="https://developer.spotify.com/documentation/general/guides/authorization-guide/">OAuth 2.0</a>. The base URI for all Web API requests is `https://api.spotify.com/v1`. Need help? See our <a href="https://developer.spotify.com/documentation/web-api/guides/">Web API guides</a> for more information, or visit the <a href="https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer">Spotify for Developers community forum</a> to ask questions and connect with other developers.
setlist.fm API
Media<p> The setlist.fm API has been designed to give you easy access to setlist data in order to build fancy websites and other applications. Before starting to use the API, be sure to ... <ol> <li>... understand how setlist.fm works (the <a href="https://www.setlist.fm/faq">FAQ</a> and the <a href="https://www.setlist.fm/guidelines">Guidelines</a> are a good starting point),</li> <li>... read this documentation carefully and</li> <li>... <a href="https://www.setlist.fm/settings/api">apply for an API key</a> (link for logged in users only) - if you're no registered user yet, then <a href="https://www.setlist.fm/signup">register first</a> (it's free).</li> </ol> </p> <p> If this documentation isn't enough or if you've got other things you'd like to tell us about the API, visit the <a href="https://www.setlist.fm/forum/setlistfm/setlistfm-api">API Forum</a>. </p> <p> Note that the setlist.fm API is, according to the <a href="https://www.setlist.fm/help/api-terms">API terms of service</a>, only free for non-commercial projects. If you're interested in using the API for commercial purposes, <a href="https://www.setlist.fm/contact">contact us</a>. </p> <h2>About this Service</h2> <p> This service provides methods to get both setlists and components of setlists such as artists, cities, countries or venues. </p> <h2>Supported Content Types</h2> <p> The REST service currently supports XML (default) and JSON content. </p> <p> To receive a JSON response, set the <code>Accept</code> <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">header</a> to <em>application/json</em>. </p> <h2>Internationalization</h2> <p> <small>(Please note that this is an experimental feature and does not work for all cities!)</small> </p> <p> Most of the featured methods honor the <code>Accept-Language</code> <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4">header</a>. This header is used for localizing cities and countries. The default language is English (en), but you can provide any of the languages Spanish (es), French (fr), German (de), Portuguese (pt), Turkish (tr), Italian (it) or Polish (pl). </p> <p> E.g. if you search a setlist for a concert that took place in Vienna and you pass "de" as header, you'll get <em>"Wien, Österreich"</em> instead of <em>"Vienna, Austria"</em>.<br/> This also works if you use a different language than the country's native language. </p> <p> E.g. for a concert in New York, you'll get <em>"Nueva York, Estados Unidos"</em> instead of <em>"New York, United States"</em> if you pass "es" as language. </p> <h2>API Keys</h2> API keys (<a href="https://www.setlist.fm/settings/api">application form</a>) must be included in the request with the <code>x-api-key</code> header. <h2>Version History</h2> <table class="table table-bordered table-versions"> <thead> <tr> <th>Version</th> <th>Docs</th> <th>End of Service</th> </tr> </thead> <tbody> <tr> <td><strong>1.0</strong></td> <td><a href="/docs/1.0">Docs</a></td> <td>-</li> </tr> <tr> <td><strong>0.1</strong></td> <td></td> <td>December 31, 2017</li> </tr> </tbody> </table>
NBA Stats API
MediaThe destination for current and historic NBA statistics.
APOD
MediaThis endpoint structures the APOD imagery and associated metadata so that it can be repurposed for other applications. In addition, if the concept_tags parameter is set to True, then keywords derived from the image explanation are returned. These keywords could be used as auto-generated hashtags for twitter or instagram feeds; but generally help with discoverability of relevant imagery
Listed from APIs.guru (CC0).