API for product growth

How to Use API for Product Growth?

APIs or Application Programming Interfaces are basically set of clearly defined communication – subroutine definitions, protocols, and tools – between different software.

One powerful example of this API integration for product growth is Facebook login. Many websites integrated Facebook Login API when Facebook made it open for use. This step not only boosted the growth of users for Facebook but also helped the startup to gain credibility and optimized onboarding process. Moreover, the Facebook widgets and plugins have further helped in driving traffic to Facebook.

For some large companies, API business match or even exceed their original sales focus: Salesforce – 50%, eBay – 60%, and Expedia – 90%.

In this article, we will cover:

Why is API required?

Applications sharing information wouldn’t want to provide direct access to the database and further, would like to abstract the data structure. That’s why API, which is a layer that sits on the database, is extremely useful for information sharing.

What is RESTful API?

The REST architecture was originally designed to fit the HTTP protocol that the world wide web uses. The core tenants of REST framework include:

  • Client-Server: There should be a separation between the server that offers a service and the client.
  • Stateless: The client-server communication is constrained by no client context being stored on the server between requests. Each request from any client contains all the information necessary to service the request, and session state is held in the client.
  • Cacheable: As on the World Wide Web, clients and intermediaries can cache responses. Responses must therefore, implicitly or explicitly, define themselves as cacheable.
  • Layered System: A client cannot ordinarily tell whether it is connected directly to the end server, or to an intermediary along the way. Intermediary servers can improve system scalability by enabling load balancing and by providing shared caches.
  • Uniform Interface: The method of communication between a client and a server must be uniform.
  • Code on demand: Servers can provide executable code or scripts for clients to execute in their context.

However, there is no “official” standard for RESTful Web APIs. This is because REST is an architectural style and not a protocol. Even if the APIs actually don’t fulfill all the architectural constraints of REST, developers describe their APIs as being RESTful.

REST is not a standard in itself, but RESTful implementations make use of standards, such as HTTPURIJSON, and XML. Let’s look at these components.

1. HTTP Request for Webservices

APIs use HTTP protocol for communication using the following methods:

  • GET: Retrieve information about a resource
  • POST: Create a new resource
  • PUT: Update a resource
  • DELETE: Delete a resource

When you type a URL, you make a GET request.

2. JSON

JSON is standard file sharing format and is the most common format for data transfer via APIs, as it’s both human and machine readable. JSON grew out of a need for stateless, real-time server-to-browser communication protocol without using browser plugins such as Flash or Java applets.

JSON uses key-value pairs to transfer information and have often a nested structure. Here is a common example of JSON:

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021"
  },
  "phoneNumber": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "fax",
      "number": "646 555-4567"
    }
  ],
  "gender": {
    "type": "male"
  }
}

Simple Program to Make API Call

You can easily write a program to retrieve data by making API calls through the following:

  • Curl: It’s a command-line tool 
  • Postman
  • Python Library – Request

Here is a code snippet that I wrote in Python just to illustrate how API call is made:

This program makes an API call to get a currency rate from fixer.io. I took the API key after signing up on the website. If you have Python installed, then you can run this program from the terminal to check.

Here a simple guide to writing REST API in Flask, which is a powerful web framework in Python.

Types of APIs

APIs could serve either as a part of the core product or as a support.

Let’s first talk about core product APIs such as Mixpanel, Segment, and Stripe. Growth for these companies will be a function of a number of API calls. While these companies have employed several innovations in APIs, it’s different from the usage of API for driving growth, as in this case, the prime objective of APIs is to add values to existing applications.

For product growth, we would focus on APIs that helps in attracting more users (or drive AARRR). Taking some cue from Guillaume Balas of 3Scale, who is an expert in API marketing and business model, we can say that there broadly two broad use cases of APIs in this context:

  • Projects the product:

Extends the functionalities of product. For example, Salesfore.com has  1000+ apps that increase the customer spend and indirectly increases the number of customers.

  • Promotes the product:

In this case, the API has a direct revenue impact. For example, the widgets of Facebook help in the content creation and driving users to the site. Further, Twitter gets 75% of its traffic from APIs.

Let’s dig deep into these topics through examples.

Airbnb API Integration with Craiglist

This is probably the most famous example of growth hacking. As Craiglist had a massive userbase, Airbnb offered users who listed their properties on Airbnb to post on Craiglist. At that time Craiglist was a go-to place for people looking for an alternative to hotel accommodations looked for listing.

Airbnb definitely offered a much better user experience. Posting through Airbnb was seamless, and the listing on it more superior – nicer photos and a better description. That’s why after making the switch these users were more likely to start using Airbnb directly and book through Airbnb in future.

Posting
Airbnd Posting on Craigslist.

Airbnb team created an API for users to share the listing easily on Craiglist. Further, the team did a fantastic job of making the listing stand out. This API used to autofill the listing info of Craigslist from information given on Airbnb, place a link back to Airbnb listing, and make the listing stand out amongst standard Craigslist listing through the usage of better-looking photos and personalized descriptions. You can check the technical details of this API explained by Andrew Chen here.

Uber – The Case of Partnering using API

Uber launched the API to allow the developers to recreate the Uber experience without the requirements of downloading the Uber app. This API allows users to experience all the Uber app’s utility by API. Uber pays around USD 5 for every new rider signup via this affiliate program.

For Uber, the API was a big growth factor. Just by allowing developers to get access to Uber resources, Uber could capitalize on a large variety of channels such as content producing mediums, deal websites, and gaming websites.

bluejay_banner1x
Uber Integration with Facebook Messanger

A few examples of famous integrations include:

  1. Integration with Baidu Maps in China and Help Chat in India
  2. Integration with Facebook Messenger, which made a lot of news.

One unique example was integration with United Airlines. Built on top of Uber API, this integration also included deep linking to the Uber app.

Even Uber’s former rival and now partner, China’s Didi had integration with the messaging app – WeChat that allows users to book cabs.

Using WhatsApp API for Content Distribution

At Sqrrl, I used WhatsApp API for content distribution. This really helped us drive the engagement with content, as people in India spent a lot of time on WhatsApp, and it’s convenient for them to consume content on WhatsApp.

Check out this complete article on how I leveraged WhatsApp API.

Leave a Reply

Your email address will not be published. Required fields are marked *