From 0 to 350 sign-ups within 2 months
UPD: The Python package I talk about in this article does not depend on any external API. You do not need to be our client to use it!
About two months ago, I saw a problem coming. My side-project newscatcherapi.com was soon to be ready to launch for a closed beta. But, we had 0 sign-ups in our email list.
For a little back story, Newscatcher is a Data-as-a-Service company that builds an API to search through online news articles.
Just like Google searches the most relevant web pages, we return you the data on the most relevant news articles.
We aggregate the data from thousands of sources, and collect up to 20 data points on each artile, such as published time, title, author, URL, language, country, topic, media links, etc.
We help financial institutions, market analysts, media platforms, and PR agencies to analyse what the worldwide news are talking about. At scale.
Why do you even need an email list?
Maybe we are developing something great. Or, maybe not. One thing I am sure about is that whatever we are building will not sell itself. Especially, when it is a B2B product.
Plus, we need some early adopters who should let us know what we missed.
We want to build things that people need, not the things that we find interesting to develop.
Finding your audience
Both Newscatcher’s co-founders are technical. Even though we can ship an end-to-end solution, we never made sales, marketing, promotion, pitching, etc.
The only audience that we know well is developers.
Devs are the end-users of the product we are building. Though, it is important to understand that people using your product are not always the ones who will make a decision to buy it.
I think there are two main (none self-excluding) approaches that we could take:
Go to decision-makers, and explain how their company/product might benefit from our solution
Go to devs who will have to integrate our solution, and make them understand and like our API. Then, hope that they can convince decision-makers to take a look at what we propose
We took the second path, because:
we do not understand our product-market fit well
we have zero experience in making sales and marketing
we do understand what developers like (because we are devs ourself)
So, our plan was to try the way that we are confident about — find support from the developers.
Open-sourcing as a way to acquire users
Over the month of March 2020, we got our first sign-ups for the beta. One month before the closed beta got launched, we got about 200 sign-ups.
Traffic channels of newscacherapi.com
newscatcherapi.com referral traffic
70% of the referral traffic comes from the GitHub page of the Python package we released.
newscatcher Python package allows you to programmatically collect normalized news from (almost) any website.
We shared some data that we gathered for our main product, then combined it with a few already existing libraries. Nothing special on a technical side.
We tried to make a proper README page so that developers can quickly understand what it is all about. Today, I think it could have been much better.
We mentioned that it was done while working on our main product. We assumed that if people like the package they will be curious to discover our API.
And, it just worked.
HackerNews post did not have as much success. I think it is a useful example of how important it is to know your audience.
Findings to think about
When I got this simple idea of a Python package I did not expect it to have that much exposure. But it worked unpredictably well.
More interestingly, I do many more things that I believe are much more valuable and interesting for the community. Most of the time those pass by totally unnoticed.
It is hard to know in advance what others will like.
You have to be consistent in what you doing and not give up if something does not work.
Thank you for your time. My name is Artem.
I am a co-founder of newscatcherapi.com. I write about how we are building our bootstrapped Data-as-a-Service product.
Follow me on Twitter to get the latest updates about our progress.