To answer your question in short, yes it can be done.
Watson Explorer does have an API interface and yes it can be integrated with Node JS as well, it does not have a native npm package...I personally have implemented a very complex solution for a very reputed an automotive client using WEX as the Backend and Data Ingestion engine and Node JS on top, acting as the orchestrator and the UI.
You may want to see this post: https://developer.ibm.com/answers/questions/259089/rest-apis-for-wex-search/
> On Linux: {hostname}/vivisimo/cgi-bin/velocity?v.app=api-run
> Windows : {Hostname }/vivisimo/cgi-bin/velocity.exe?v.app=api-run
The api-runner have all the api's listed and one can also test them against the search collections (search collections are the equivalent to a table where the data is ingested and there are a lot of custom configurations which can be applied to make use of, for advance use).
So for using WEX with Node JS, you can make use of the api-runner url's and directly query WEX Engine.
This is how a sample GET query url may look like:
var link1 = 'http://' + WEX_IP + ':9080/vivisimo/cgi-bin/velocity?v.function=query-search&v.username='+username+'&v.password='+password+'&v.app=api-rest&v.indent=true&sources=' + WEX_col_name + '&start=0&num=15&v.app=api-rest&query=sortby:sort_severity%20AND%20sortby:Create_Date_desc%20AND%20Create_Date:>=03/30/2018%20AND%20case_flag:1%20AND%20NOT%20case_flag:0'
Hope this helps.
PS: The WEX API's return data in xml format, so if one is comfortable in xml parsing, one can use that or as in my case, I used xml2json package on node to covert xml to json object and then parse that to display the required fields on the UI.