Understanding Bing Maps Transactions

When you use any Bing Maps API with a Bing Maps Key (you must have a Bing Maps Account), transactions are recorded. Transactions track API usage and can be billable or non-billable. For example, using the Bing Maps V8 Web Control to show a map on a web page or geocoding an address using the Bing Maps REST Services are both billable transactions, while deleting a data source (a spatial database that you create using the Bing Spatial Data Services) is not.

You can find descriptions of the transactions for each Bing Maps API in the tables below, and you can view transaction totals over time on the Bing Maps Account Center. For more information, see Viewing Usage Reports. Note that it may take up to 24 hours for new transactions to appear.

Viewing Usage Reports

Follow these steps to view a transaction history for a Bing Maps Key and its associated applications.

View usage report

  1. Sign in to the Bing Maps Dev Center.

  2. Click Usage Report under My account.

View usage report by key

  1. Sign in to the Bing Maps Dev Center.

  2. Click My Keys under My account.

  3. Click the Usage Report link next to the Bing Maps key you would like a report for.

Additional Notes

To change the range of dates for the report, use the options under the Usage Period field.

To export the data in the report, use the options under the Export field.

Billable versus non-billable transactions

Only billable transactions count towards the free-use limits for Basic keys, and Enterprise keys are only charged for billable transactions. Non-billable transactions do not incur charges and do not count towards free-use limits. To determine if your application will qualify for free use and for info about licensing and transaction limits, please see the Bing Maps licensing page and review the Bing Maps Terms of Use.

Using Session IDs to make billable transactions non-billable

In the following description, Bing Maps services refer to Bing Maps REST Services and Bing Spatial Data Services1. Bing Maps controls refer to Bing Maps V8 Web Control, Bing Maps WPF Control, and Windows 10 UWP Map control.

Bing Maps service requests originating from a Bing Maps control that use a session ID instead of the Bing Maps key are non-billable up to 25 requests per session. The 26th transaction and every transaction thereafter will be billable. For example, if you make a Bing Maps REST Services request to geocode an address from the Bing Maps V8 web control and use the Map.getCredentials method to get the session ID for authentication, the resulting transaction is recorded as non-billable even though it is listed as a billable transaction in the table below.

You must use the Bing Maps Key that you used to load the map control to request a session ID. This session ID is only valid for the map control session. For the Bing Maps V8 web control, a session begins with the load of the map into a user’s browser and ends when the browser is closed or the user moves to a different page. Similarly for the WPF control, a session begins when the map control is loaded by the application and ends when the application is closed. Note that the Windows 10 UWP Map control does not provide access to session keys but instead provides native geocoding and routing functionalities which automatically make use of sessions. For more information about how to get a session ID from the Bing Maps Key, see Using the REST Services with .NET and Map Class. Note that if you make service requests with a Bing Maps Key instead of a session ID within the session, you will be charged for all billable requests.

Bing Maps Transactions by API

The following tables define transactions for all the APIs.

Map Control APIs (Web V8, UWP, WPF, iOS, Android, Unity)

Category Bing Maps API Billable Category Description
iOS-Control iOS Control Yes Any time a session is started and uses the Bing Maps iOS control with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps iOS control by the application and ends when the application is closed or the control is disposed. Panning, zooming, changing of the map type (i.e.: road, aerial, etc.) or overlaying data on the map within the session doesn't cause additional transactions to be accrued.

Anytime the Map Services API is used without a map, one (1) transaction is counted. All REST service requests that originate from Map Services and use a session ID are not billable when they are made from within a session.
Android-Control Android Control Yes Any time a session is started and uses the Bing Maps Android control with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps Android control by the application and ends when the application is closed or the control is disposed. Panning, zooming, changing of the map type (i.e.: road, aerial, etc.) or overlaying data on the map within the session doesn't cause additional transactions to be accrued.

Anytime the Map Services API is used without a map, one (1) transaction is counted. All REST service requests that originate from Map Services and use a session ID are not billable when they are made from within a session.
Web-V8-Control (formerly AjaxSession-V8) Web Control Yes Any time a session that uses the Bing Maps Version 8.0 web control, is started with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps Web Control into a user’s browser and ends when the browser is closed or the user moves to a different page. Panning, zooming, changing of the map type (i.e.: road, aerial, etc.) or overlaying data on the map within the session doesn't cause additional transactions to be accrued.

Anytime the Autosuggest Module is used without a map and a user selects a location suggestion from the menu one (1) transaction is counted. When using the AutoSuggest Module, transactions are not logged for user key strokes or based on the number of location results that are returned in the Autosuggest menu.

All REST or Spatial Data2 service requests that use a session ID are not billable when they are made from within a session.
Win10-Control (formerly Win10-Native) Windows 10 UWP Map control Yes Any time a session is started and uses the Windows 10 UWP Map control with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Windows 10 UWP Map control in an application and ends when the application is closed or the control is disposed. Panning, zooming, changing of the map type (i.e.: road, aerial, etc.) or overlaying data on the map within the session doesn't cause additional transactions to be accrued.

Anytime the Map Services API is used without a map, one (1) transaction is counted. All REST service requests that originate from Map Services and use a session ID are not billable when they are made from within a session.
WPF-Control (formerly WPFSession) WPF Control Yes Any time a session is started and uses the Bing Maps WPF control with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps WPF control by the application and ends when the application is closed or the control is disposed. Panning, zooming, changing of the map type (i.e.: road, aerial, etc.) or overlaying data on the map within the session doesn't cause additional transactions to be accrued.

All REST or Spatial Data2 service requests that use a session ID are not billable when they are made from within a session.
Unity-Control (PREVIEW) Unity Control Yes Any time an application session is started and uses a MapRenderer component and a MapSession component with a valid Bing Maps Key, one (1) transaction is counted. An application session begins with each initialization of a MapRenderer by the application and ends when the application is closed or the session expires. When a session expires and the application is still active, a new session is created and one (1) transaction is counted. Panning and zooming a MapRenderer doesn't cause additional transactions to be accrued. Any time the MapSession component's GetRegion API is called without a MapRenderer session already being active, one (1) transaction is counted. Any time a Map Service API is called, i.e.: MapLocationFinder, one (1) transaction is counted.

2All Spatial Data Services requests over one (1) million per year are billable even when a session ID is used.

REST Services

Category Bing Maps API Billable Category Description
RESTAutosuggest REST Services Yes3 Any time ten (10) Autosuggest URL requests are made to get suggested entity information, one (1) transaction is counted.
RESTElevations REST Services Yes3 Any time an Elevations URL request is made to get elevation data, one (1) transaction is counted.
RESTImagery REST Services Yes3 Any time an Imagery URL request is made to get a static map, to get static map metadata or to get imagery metadata that contains a map tile URI, one (1) transaction is counted.

Note: This transaction type has been superseded by the more specific RESTImagery-Metadata, RESTImagery-StaticMap and RESTImagery-StaticMapWithRoute transaction types.
RESTImagery-Metadata REST Services Yes3 Any time an Imagery URL request is made to get imagery metadata that contains a map tile URI, one (1) transaction is counted.
RESTImagery-StaticMap REST Services Yes3 Any time an Imagery URL request is made to get a static map, one (1) transaction is counted.
RESTImagery-StaticMapWithRoute REST Services Yes3 Any time an Imagery URL request is made to get a static map, one (1) transaction is counted.
RESTImagery-BasicMetadata REST Services No Any time an Imagery URL request is made to get basic imagery metadata that does not contain a map tile URI, one (1) transaction is counted.
RESTLocalInsights REST Services Yes3 Any time a Local Insights URL request is made, one (1) transaction is counted.
RESTLocalSearch REST Services Yes3 Any time a Local Search URL request is made, one (1) transaction is counted.
RESTLocationRecog REST Services Yes3 Any time a Location Recognition URL request is made to get location information about entities such as local businesses, natural points of interests, and a reverse geocoded address for a specified latitude and longitude coordinate, one (1) transaction is counted.
RESTLocations REST Services Yes3 Any time a Locations URL request is made to geocode or reverse-geocode location data, one (1) transaction is counted.

Note: This transaction type has been superseded by the more specific RestLocations-Structured, RestLocations-Unstructured and RESTLocations-Reverse transaction types.
RestLocations-Structured REST Services Yes3 Any time a Locations URL request is made to geocode location data, one (1) transaction is counted.
RestLocations-Unstructured REST Services Yes3 Any time a Locations URL request is made to geocode location data, one (1) transaction is counted.
RESTLocations-Reverse REST Services Yes3 Any time a Locations URL request is made to reverse geocode location data, one (1) transaction is counted.
RESTRoutes REST Services Yes3 Any time a Routes URL request is made to find a route, one (1) transaction is counted.
RESTTimezone REST Services Yes3 Any time a Time Zone URL request is made to retrieve a time zone for a location by point or query, convert a UTC datetime to a time zone, or retrieve information about IANA the Windows time zone standards, one (1) transaction is counted.
RESTTraffic REST Services Yes3 Any time a Traffic URL request is made to get traffic incident information, one (1) transaction is counted.
Route-DistanceMatrix REST Services Yes Any time a synchronous Distance Matrix request is made, one (1) transaction is counted for every four (4) cells calculated in the matrix.
Route-DistanceMatrixAsync REST Services Yes Any time an asynchronous Distance Matrix request is made, one (1) transaction is counted for every four (4) cells calculated in the matrix.
Route-DistanceMatrixAsyncCallback REST Services No Any time the status of an asynchronous Distance Matrix request is checked.
Route-Isochrone REST Services Yes3 Any time a synchronous Isochrone request is made, one (1) transaction is counted.
Route-IsochroneAsync REST Services Yes3 Any time an asynchronous Isochrone request is made, one (1) transaction is counted.
Route-IsochroneAsyncCallback REST Services No Any time the status of an asynchronous Isochrone request is checked.
Routes-OptimizeItinerary REST Services Yes Any time a synchronous Multi-Itinerary Optimization request is made, the number of transactions counted is based on the number of itineraryAgents multiplied by the number of itineraryItems in the request.
Routes-OptimizeItineraryAsync REST Services Yes Any time an asynchronous Multi-Itinerary Optimization request is made, the number of transactions counted is based on the number of itineraryAgents multiplied by the number of itineraryItems in the request.
Routes-OptimizeItineraryAsyncCallback REST Services No Any time the status of an asynchronous Multi-Itinerary Optimization request is checked.
Route-SnapToRoad REST Services Yes3 Any time a synchronous Snap to Road request is made, one (1) transaction is counted.
Route-SnapToRoadAsync REST Services Yes3 Any time an asynchronous Snap to Road request is made, one (1) transaction is counted.
Route-SnapToRoadAsyncCallback REST Services No Any time the status of an asynchronous Snap to Road request is checked.
Route-Truck REST Services Yes Any time a synchronous Truck Routing request is made, three (3) transactions are counted.
Route-TruckAsync REST Services Yes Any time an asynchronous Truck Routing request is made, three (3) transactions are counted.
Route-TruckAsyncCallback REST Services No Any time the status of an asynchronous Truck Routing request is checked.
GeospatialEndpoint REST Services No Any time a Geospatial Endpoint URL request is made, one (1) transaction is counted.

3This transaction is not billable if the service request is made using a session ID from a Web or WPF Control session or from the AutoSuggest Module of the Web Control.

Spatial Data Services and Data Source Management using the Bing Maps Account Center

Category Bing Maps API Billable Category Description
Dataflow:BatchGeocode Spatial Data Services Yes Any time a request is made to Create Job, a set of transactions equal to the number of total entities in the geocode request are counted.

Any time a data source is geocoded using the Bing Maps Dev Center, a set of transactions equal to the number of total entities in the geocode request are counted.

Each row that is geocoded will generate one (1) transactions.
Dataflow:Create Spatial Data Services No Any time a URL request is made to create a dataflow job to batch geocode entity data by using the [Create Job]((../../spatial-data-services/create-a-geocode-job-and-upload-data.md) API, one (1) transaction is counted.

Any time a URL request is made to stage, publish or rollback a data source by using the Create a Load Data Source Job API, one (1) transaction is counted.

Any time a data source is geocoded or published by using the Bing Maps Dev Center, one (1) transaction is counted.
Dataflow:Get Spatial Data Services No Any time a URL request is made to Get Job Status, one (1) transaction is counted.

Any time a URL request is made to Get Load Data Source Status, one (1) transaction is counted.

Any time a URL request is made to Get Download Data Source Job Status, one (1) transaction is counted.

Any time a data source is geocoded or published by using the Bing Maps Dev Center, one (1) transaction is counted.
Dataflow:Download Spatial Data Services No Any time a URL request is made to Download Results], one (1) transaction is counted.

Any time the geocoded results of non-published data source entity data are downloaded using the Bing Maps Dev Center, one (1) transaction is counted.

Note that if you download successful and failed results, these are two separate Dataflow:Download transactions.
RESTSpatialDataService:GetAllMetadata Spatial Data Services No Any time a URL request is made to get Get Data Source Information that returns metadata for all data sources that are associated with a Bing Maps Account, one (1) transaction is counted.
RESTSpatialDataService:GetDataSource Spatial Data Services No Any time a URL request is made to Get Data Source Information that returns general information about one or more versions of a single data source, one (1) transaction is counted.
RESTSpatialDataService:GetDataSourceMetadata Spatial Data Services No Any time a URL request is made to Get Data Source Information that returns metadata for one or more versions of a single data source, one (1) transaction is counted.
RESTSpatialDataService:

ListDataSources
Spatial Data Services No Any time a URL request is made to Get Data Source Information that returns general information about all data sources associated with a Bing Maps Account, one (1) transaction is counted.
RESTSpatialDataService:DownloadDatasource Spatial Data Services No Any time a URL request is made to Create a Download Job, one (1) transaction is counted.

Any time a URL request is made to Get Downloaded Data, one (1) transaction is counted.

Any time a published, staged or previous version of a data source is downloaded using the Bing Maps Dev Center, one (1) transaction is counted.
RESTSpatialDataService:DeleteDataSource Spatial Data Services No Any time a URL request is made to Delete a Data Source, one (1) transaction is counted.

Any time a data source is deleted using the Bing Maps Dev Center, one (1) transaction is counted.
RESTSpatialDataService:SetDataSourcePublicOrPrivate Spatial Data Services No Any time a URL request is made to Make a Data Source Public, one (1) transaction is counted.
RESTSpatialDataService:Query Spatial Data Services Yes4 Any time a Query API URL request is made to query a data source, one (1) transaction is counted.

When a Query by Area URL request is made with an address string that must be geocoded, one RESTLocations transaction is also counted.
RESTSpatialDataService:Geodata Spatial Data Services Yes Any time a Geodata API URL request is made to get boundary data, one (1) transaction is counted.

When a Geodata API URL request is made with an address string that must be geocoded, one RESTLocations transaction is also counted.
RESTSpatialDataService:QueryPointsOfInterest Spatial Data Services Yes4 Any time a Query API URL request is made to query the PointsOfInterest data source, one (1) transaction is counted.

When a Query by Area URL request is made with an address string that must be geocoded, one RESTLocations transaction is also counted.

4This transaction is not billable if the service request is made using a session ID from an Web or WPF Control session.

Discontinued Map Control APIs (AJAX V7, Silverlight, Windows Store)

Category Bing Maps API Billable Category Description
Web-Control (formerly AjaxSession) AJAX Control (DISCONTINUED) Yes Any time a session that uses Bing Maps Version 6.x or Version 7.0, is started with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps AJAX Control into a user’s browser and ends when the browser is closed or the user moves to a different page.
WinStoreAppSession_JavaScript_V1



WinStoreAppSession_JavaScript (for Windows 8 Beta and Preview versions)
Windows Store apps (DISCONTINUED) Yes Any time a session that uses Bing Maps SDK for Windows Store apps using JavaScript is started with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps for JavaScript control into a user’s browser and ends when the browser is closed or the user moves to a different page.
WinStoreAppSession_CSharp_VB_CPP_V1



WinStoreAppSession_CSharp_VB_CPP (Windows 8 Beta and Preview versions)
Windows Store apps (DISCONTINUED) Yes Any time an application session that uses Bing Maps SDK for Windows Store apps for C#, C++, or Visual Basic is started with a valid Bing Maps Key, one (1) transaction is counted. An application session begins with the load of Bing Maps for Windows Store apps for C#, C++, or Visual Basic control in an application and ends when the application is closed.
SilverlightSession



SilverlightSessionBeta (for beta release of the control)
Silverlight Control (DISCONTINUED) Yes - SilverlightSession



No – SilverlightSessionBeta
Any time a session that uses the Bing Maps Silverlight Control is started with a valid Bing Maps Key, one (1) transaction is counted. A session begins with the load of the Bing Maps Silverlight Control into a user’s browser and ends when the browser is closed or the user moves to a different page.
WindowsPhoneSession_PublicApp Silverlight Control for Windows Phone (DISCONTINUED) No Any time a session begins with the launch of an application that uses the Bing Maps Silverlight Control for Windows Phone, one (1) transaction is counted. This includes all map control interactions and map tile downloads that occur within the application and that use the same session ID until the application is closed.
iOSSession iOS Control (DISCONTINUED) Yes Any time an application session is started and uses the Bing Maps iOS Control with a valid Bing Maps Key, one (1) transaction is counted. An application session begins with the load of the Bing Maps iOS Control by the application and includes all Bing Maps iOS Control interactions until the application is closed.

SOAP Services (Discontinued)

Category Bing Maps API Billable Category Description
WS: Geocode SOAP Services Yes5 Any time a request is made using the GeocodeServiceClient.Geocode Method method, one (1) transaction is counted.
WS: ReverseGeocode SOAP Services Yes5 Any time a request is made using the GeocodeServiceClient.ReverseGeocode Method, one (1) transaction is counted.
WS: Get ImageryMetadata SOAP Services No Any time a request is made using the ImageryServiceClient.GetImageryMetadata Method, one (1) transaction is counted.
WS: GetMapUri SOAP Services Yes5 Any time a request is made using the ImageryServiceClient.GetMapUri Method, one (1) transaction is counted.
WS: CalculateRoute SOAP Services Yes5 Any time a request is made using the RouteServiceClient.CalculateRoute Method , one (1) transaction is counted.
WS: CalculateRoutesFromMajorRoads SOAP Services Yes5 Any time a request is made using the RouteServiceClient.CalculateRoutesFromMajorRoads Method and the MajorRoutesOptions.ReturnRoutes Property is set to false, one (1) transacation is counted.

Anytime a request is made using the RouteServiceClient.CalculateRoutesFromMajorRoads Method and the MajorRoutesOptions.ReturnRoutes Property is set to true, one (1) transaction for the request and additional transactions for each returned route are counted.
WS: Search SOAP Services Yes5 Any time a request is made using the SearchServiceClient.Search Method, one (1) transaction is counted.
WS: PhotoSynthView SOAP Services Yes5 Any time a Synth associated with a Windows Live ID that corresponds to an enterprise Photosynth account is viewed, one (1) transaction is counted. Every Synth is associated with a Windows Live ID.

5This transaction is not billable if the service request is made using a session ID from an AJAX Control, Silverlight Control, WPF Control, Windows Store app for JavaScript, or Windows Store app for C#, C++, or Visual Basic session.