Introducing Prospector Spreadsheets
You can now pull all of NinjaPear's data through the Prospector Spreadsheets without running any code. Here is a quick demo of how it works:
I designed and built the NinjaPear Prospector because it bothered me that most NinjaPear users are API users. Surely there are people who would be intrigued by the data and just need a quick export, and do not want to write code. What if NinjaPear was just too hard to use?
Prospector Design Process
Spreadsheet Paradigm
There are universal paradigms that everyone is familiar with:
- Spreadsheets - Clay, Excel, Google Sheets
- Kanban - Trello
- Text editing - Claude, WhatsApp, Microsoft Word
- Slides - PowerPoint
Given the success of Clay, the spreadsheet paradigm was an immediate fit for the Prospector.
Sheet-level Actions, Sheet Types, and Column Actions
But a few problems remained. Data isn't always flat, and that means the spreadsheet isn't always an obvious fit. For example, a detailed company profile might contain multiple addresses per company. Or a person profile would have multiple work history records. How can we represent this data as a row (or multiple rows) in a spreadsheet?
To solve the problem of nested data structures, we employed two methods:
- Sheet-level actions, and
- Sheet types.
Sheet-level actions allow you to fetch a specific data type which spans multiple rows per record from a parent spreadsheet into a child spreadsheet that will contain the subsidiary data. For example, you can get a new spreadsheet of "Work History" out of a spreadsheet of people profiles.
And because Work History has different data columns than people profiles, they get their own "type" of spreadsheet. Hence, sheet types.
There is also data that we return that is scalar in nature. For example, the employee count of a company. These belong as regular enrichable columns in the Company Sheets. And these regular scalar data operations come in the form of the more commonly accepted "+ Column" actions that we are familiar with in regular spreadsheets.
Streaming Results
On top of that, our data pipeline process is a live enrichment process. We are not reading off a database, so our users—you—get the freshest data possible. This means it takes time to enrich one record at a time, ranging from around 10 seconds per company/person profile to about a minute for similar people records. How can we bulk enrich a spreadsheet with many rows without keeping the user waiting? What if the user closes the spreadsheet tab while waiting?
To solve this problem, we do two things:
- All sheet-level data operations go into the backend and are operated on asynchronously.
- Results are streamed back row by row.
So while the whole spreadsheet might take some time to fully enrich, the user will actually see that things are moving in the background.
In fact, the user is given the option to abort the bulk background enrichment anytime in the UI, and—poof—it shuts off. People make mistakes; we need to allow people to stop their credits from being burnt.
Export as CSV or XLSX
And when you are done with the enrichment, you can download the enriched spreadsheet into your favourite CSV/XLSX format.
Getting Started with the Prospector
You can get started with the Prospector in NinjaPear's dashboard here. Give it a try! You no longer need to use the API to build up datasets, particularly for one-time quick enrichments.
The Prospector is a very new and raw feature and is not battle-tested. If you come across any bugs, do send over a bug report to [email protected]. I look forward to having more non-API users adopt NinjaPear into their B2B data enrichment toolset!