How can I get number of API transactions used by Watson NLU?


AlchemyLanguage used to return the number of API transactions that took place during any call, this was particularly useful when making a combined call.

I do not see the equivalent way to get those results per REST call.

Is there any way to track or calculate this? I am concerned about things like some of the sub-requests like when you ask for sentiment on entities does that count as two, or one plus an additional call per recognized entity?


There's currently no way to track the transactions from the API itself. To track this (particularly for cost estimates), you'll have to go to the usage dashboard in Bluemix. To find it: sign in to Bluemix, click Manage, then select Billing and Usage, and finally select Usage. At the bottom of the page you'll se a list of all your credentialed services. Expanding any of those will show the usage plus total charges for the month.

As far as how the NLU service is billed, it's not necessarily on a per API request as you mentioned. The serivce is billed in "units" and from the pricing page (<a href="https://console.ng.bluemix.net/catalog/services/natural-language-understanding" rel="nofollow">https://console.ng.bluemix.net/catalog/services/natural-language-understanding</a>):


A NLU item is based on the number of data units enriched and the number of enrichment features applied. A data unit is 10,000 characters or less. For example: extracting Entities and Sentiment from 15,000 characters of text is (2 Data Units * 2 Enrichment Features) = 4 NLU Items.


So overall, the best way to understand your transaction usage would be to run a few test requests and then check the Bluemix usage dashboard.


I was able to do a simple test, and made calls to a set of highlevel features and included sub-features. And it appeared to only register calls for the highlevel features.


  • Recognize undefined Entities in Watson Conversation
  • Migrate bluemix app to another organization (another person's account)
  • Watson visual recognition, classify against multiple classifiers in java
  • Android in-app billing getting dialog like “item not found”
  • Issue with Route Protection in Laravel 5.3
  • How to routes Controller sub folder using codeigniter?
  • Replace Add To Wishlist text with Heart icon WooCommerce
  • Jquery after ie8/ie7 not working
  • Is it possible to use material-ui button navigation with react-router?
  • How to restrict number of concurrent processes?
  • Selenium and Google - How do you use cookies?
  • Play Framework nested form errors missing
  • Treetop basic parsing and regular expression usage
  • TensorFlow C++, runtime issue
  • ng-repeat not working with table but works with list
  • Download/Save/Write a file on the client's hard disk using flash/flex
  • CSS: How to fix overlapping divs
  • Use neo4j server instead of embedded mode
  • How could I prohibit anonymous access to my NodeRed UI Dashboard on IBM Cloud(Bluemix)?
  • How to debug Shell command after customization
  • SSIS Designer is running VERY slowly
  • Pythons argparse default value doesn't work
  • How to add the custom button on google's(device) native application in android?
  • Detection of framework usage on Mac system?
  • Compare struct to a constant in C
  • Django Haystack Rebuild Index
  • Magento get URL before current
  • Memory error in python- how to use more memory
  • How to remove a SwiftyJSON element?
  • Ajax calls do not work in IE unless you fiddle with security settings
  • Sort List of Strings By Version
  • How to clear text inside text field when radio button is select
  • Why ng-show works with ng-repeat but ng-if doesn't? [duplicate]
  • ORA-29908: missing primary invocation for ancillary operator
  • jquery mobile loadPage not working
  • How to get next/previous record number?
  • Confusion with PayPal's monthly billing cycle
  • Data Validation Drop Down Box Arrow Disappearing
  • How do you join a server to an Active Directory (domain)?
  • How does Linux kernel interrupt the application?