Think 2021: New tools have the developer ecosystem and IBM building together Learn more

Mine data breaches for insights


Data is the lifeblood of any organization, but its value is lost if you can’t extract value and gain insight. In this pattern, you’ll discover how to use the Watson Node.js SDK to import and enrich your data using the Watson Discovery Service. You can then explore the data to find patterns, trends, and actionable insights.


An organization’s data is a treasure trove of information just waiting to be explored and mined. But too often, that information is locked away, inaccessible, unorganized, and unused.

You as a developer hold the key to unlocking that value. When you complete this developer pattern, you’ll gain the skills and learn the tools to import and enrich your data and provide your business with real insight. You’ll upload your own data into the Watson Discovery Service and configure a web application so that it can query the data collection you created. You will:

  • Build and run a Node.js API server with a HTML frontend written in React.
  • Configure Watson Discovery to build and enrich private data collections.
  • Use Watson Discovery to query and analyze data.

When you complete this pattern, you’ll have the skills to fully explore your data. And that will make you an extremely valuable resource. A public dataset that includes the world’s largest data breaches and hacks is used as an example.



  1. Data files are added to Watson Discovery by the developer.
  2. User input is processed and routed to the back-end server, which is responsible for server-side rendering of the views to be displayed on the browser. The back-end server is written using Express and uses the express-react-views engine to render views written using React.
  3. The user interacts with the back-end server through the app UI. The front-end app UI uses React to render search results and can reuse all of the views that are used by the back-end for server-side rendering. The front end uses watson-react-components and is responsive.
  4. The back-end server sends user requests to the Watson Discovery service. It acts as a proxy server, forwarding queries from the front end to the Watson Discovery service API while keeping sensitive API keys concealed from the user.


Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.