I'm a product manager at Outside.in and I'm going to tell you about our API as a case study for how APIs can help tiny 20-person companies like Outside.in work with huge multinational corporations.
Outside.in is a hyperlocal news aggregator. Our mission is to organize the web's data by neighborhood. We do this by looking at content from about 55,000 feeds published by local bloggers and news companies. We organize around 75,000 stories per day in more than 2MM regions and places in the US. We then serve up that geographically organized content in a variety of places…
… including the homepage of CNN.com.
So how does a 20-person company in a small office in the Flatiron District of Manhattan…
… wind up being a source of hyperlocal headlines for the biggest news brand in the world, which operates out of a massive headquarter building with its own postal address?
There are two sides to our relationship with CNN: A data licensing deal under which we provide hyperlocal headlines on their homepage and a few other places around their site, and a strategic investment that CNN made in Outside.in at the end of last year.
The investment is an amazing affirmation of our business, and even landed us in the PRINT version of the Wall Street Journal.
… and, most importantly, my father finally forgave me for working at an internet startup with a funny name instead of going to law school…
But I'm going to talk to you about something much more interesting: The data integration, the role our API played in it. First, some background on how Outside.in's business evolved and how we came to see an API as part of what we do.
Outside.in started as a consumer destination site. Our original mission was a little simpler than what I told you up front: We aimed to bring together posts from bloggers writing about every neighborhood and city in the US. A consumer site has pretty narrowly defined boundaries for growth, and we quickly realized that we needed partnerships to grow our audience & business.
The natural partner for Outside.in is a mainstream media company, such as a newspaper, tv station, radio station. These companies have strong brands and lots of loyal users in their market but need an efficient, cost-effective way to get breadth of coverage. Outside.in has a wealth of geographically organized content and needs a way to get more eyeballs on it. We started with a a few oneoff partnerships in which we created pages of hyperlocal news for mainstream media companies. This involved a lot of custom development work and left us facing a bit of an identity crisis because, as a company that has at the most one designer and two front-end developers, we weren't interested in turning into a web development shop for local media companies.
Our first solution was to scale our partnerships by creating a self-service platform called Outside.in for Publishers that allows anyone with a website to create hyperlocal news pages for their market through a simple Javascript implementation.
This product was a great fit for some of our partners, such as The Chicago Tribune's Chicago Breaking News Center, because it allowed them to customize fonts, colors, and sizes to fit their brand and the Javascript implementation allowed for quick installation. For us it drove 5x audience growth in a few months quick installation. However, these widgets couldn't be fully integrated with existing applications or other data.
We had an eye-opening moment when a developer at StarNewsOnline (a New York Times consortium newspaper in Wilmington, NC) reverse engineered the private API that powered our widgets to integrate our Wilmington news into an existing application. This is similar to the story that Chad from Etsy told at last year's Business of APIs conference: That having the husbands and boyfriends of Etsy sellers reverse engineer the APIs that powered their own tools made Etsy realize how important an API could be to them. At the time, we had a very simple API that we viewed internally as a toy for developers and a way to raise Outside.in's profile in the tech community. Having a developer at a mainstream media organization reverse-engineer our private API made us realize that this could be a meaningful business product for us and help foster relationships with major brands.
At the same time, talking to CNN about providing them with hyperlocal content. They had a few specific needs: The first two listed here were to be able to prioritize stories published by their affiliate TV stations and to curate individual stories, and were met by our existing publisher dashboard. The second two we built specifically to foster our relationship with CNN. We created a filter that automatically suppresses suspected objectionable content and used our understanding of geography to create an algorithm that guarantees a minimum number of stories for any city or ZIP code in the US by backfilling the results with stories from larger surrounding regions when necessary. For example, our main contact at CNN, Valarie Evanoff, grew up in Broken Arrow, OK. So if CNN makes a request to us for five stories in Broken Arrow and we only have three, we'll supplement those results with stories from Tulsa, OK.
When Outside.in and CNN decided the relationship was a fit, deciding to integrate via an API was essentially a no-brainer, because an API removes friction from a business relationship. CNN.com sees 8-10MM unique visitors daily, so performance was crucial to our implementation. Lightweight data responses from our API take a tiny fraction of the throughput required to serve our JS widgets, and data can be cached on client side if desired to decrease the number of requests necessary to power their application. We provide our results in a JSON format can be easily integrated into existing applications and allows for an efficient distribution of work. Outside.in provides the geographically organized content that's our expertise, and CNN provides the editorial sensibility and integrates our data with their brand and UI. We were also able to work with CNN to create new features without going back to contract. To show how that worked, I'll walk you through how our integration with CNN has evolved over the past year.
Our first integration on CNN.com's homepage allows users to enter a ZIP or city and receive headlines from outside.in with headlines from their affiliate stations prioritized. The API allowed for a relatively painless integrationw with an existing UI.
… and we were able to use the exact same data to power local headlines in CNN's iPhone app, which is the #1 paid news app in the iTunes store
A few months later, CNN used the same calls that provide local headlines on their homepage with with keyword search parameters to create a local news module that provides headlines pertaining to politics
For the upcoming election season, CNN took this one step further by creating an application that shows headlines about local political races. This module on their ElectionCenter section application accepts a user's location an matches it to a congressional district, then sends OI the location along with the names of candidates for office in that region, and we return headlines that are specific to the local political races in that area. This integration truly brings together Outside.in's and CNN's strengths: CNN brings editorial sensibility and political knowledge, and Outside.in provides relevant local content.
So, that's the story of how a small company's API created a relationship with a global news brand. After our pilot with CNN, we added a few features and launched a public API. You can check out the documentation at developers.outside.in. Having an API that powers business relationships solidified our belief that our data platform is our core product. Some developers are using the data to supplement existing apps, and we're looking forward to powering more large publishers with the API.