Chapter 2. Creating an API-First Strategy

In this chapter, we’ll walk through the entire API lifecycle from inception to deprecation. We’ll dig into different ways to develop a strategy to monetize APIs and drive growth of the API business. Many of the topics discussed here are for API-first businesses where the consumer of the API is a customer. However, there are other business models around APIs, such as partner programs.

Discovery

Discovery is top-of-funnel awareness and exposure of your API. Discovery promotes your API to developers and provides them with an understanding of its value proposition. Any successful product requires a plan for discovery in order to drive successful adoption. However, technical audiences are typically skeptical of sales and marketing, which can make product discovery a challenge. If you build a massive inside sales team to push an API solution onto decision makers, the success rate of outreach can be lower than what you might experience with other buying personas.

Unlike in the past, professional developers in an individual contributor role enjoy a tremendous amount of ownership and autonomy to make decisions on which technologies to adopt to accomplish their task. This means buying software is more decentralized than before. However, most professional developers are task-oriented, with an ever-increasing backlog of tickets to complete. Even if sales reaches out to the ideal customer with a healthy budget who could gain tremendous value out of your API, the timing could simply be off. Developers have competing project priorities and deliverables. This means outreach has to occur at the right moment to pique a developer’s interest.

Introduction to Inbound Marketing

Because of these challenges, one of the most effective ways to attract developers to your platform is with inbound marketing and a self-service approach. Inbound marketing is the art of pulling in developers like a magnet rather than forcibly pushing your platform on to them. This can be done with genuinely educational content like blog articles, ebooks, and videos.

Even if developers are skeptical of sales and marketing, they love to discover and tinker with new things. That feeling of discovering the next best thing is a powerful emotion. Think of the last time you discovered a new app and told your friends. Maybe it was in a Reddit thread or through a news article. Inbound marketing leverages this emotion to make it appear that the developer discovered a new tool or platform on their own, when in fact they were marketed to.

Inbound Marketing Goals

Different inbound marketing strategies can achieve different objectives, some of which might include:

  • Increasing brand exposure and driving website traffic

  • Creating new leads and sign-ups

  • Nudging existing leads to integrate your APIs

Once you have your core objectives, you can lay out a content strategy, which is the cornerstone of inbound marketing. Content should be genuine and interesting to developers but still relatable to the specific pain points your tool solves.

It’s a fine line how specific you want to be. If you go too broad, then you’re not really pulling in the right developers that would adopt your solution. You can’t push out content that tells a developer to sign up when they don’t yet even recognize they have a problem. The way to solve for this is by mapping the above goals to content that targets various stages of the buying funnel:

Increasing awareness
  • Should be informational and resourceful. Example titles that do well are How to XXX and Best Practices for YYY.

  • Content designed for exposure is typically not gated (meaning an email sign-up is not required to view the article).

  • Not selling, just exposing the developer to the problem space. For example, apiguide.io exposes developers to the challenges of developing APIs.

Creating qualified leads
  • Thought leadership content/make yourself the domain expert

  • Reasons to buy into the thesis/idea/product you’re solving

  • Still not about your company, rather just the problem/solution

  • If generating leads is important, this content can be gated

Considering your product
  • Results and benchmarks from using your solution, technical whitepapers

  • Case studies and comparison charts, which can be gated

If you don’t have any product analytics tools in place, now is the time. Instrument everything you can (see Chapter 3). Instrument your APIs. Instrument your web apps. Make sure every advert or external link is leveraging Urchin Tracking Module (UTM) parameters. This enables you to understand which acquisition channels have the highest return on investment (ROI) and to drive product growth. Top-of-funnel growth is no longer ideal. You should only be investing in channels that lead to direct conversions. For most developer platforms, this means customers have actually integrated and are actively using your API.

Adoption

While discovery is focused on top-of-funnel awareness, adoption is focused on getting developers to experience their aha moment. However, APIs are unique in that typically little value is received from the API until a developer finishes their integration work. This can make onboarding and activation challenging as a lot of investment into integration needs to occur before value is seen. This onboarding experience might vary depending on whether you’re a relationship-driven business with many sales touch points or you’re leading with the product and a developer-first strategy. However, both types of businesses have common stages a developer typically goes through as part of an adoption funnel.

First Hello World

First hello world is the stage when a developer makes their very first API call. This might be accomplished by doing the initial integration of a software development kit (SDK) or using a tool like Postman to make a few test calls. The time to first hello world is the time it takes to go from initial sign-up to making that first API call. Tracking this time and conversion rate is important to understanding the onboarding experience and effectiveness of documentation. Because the developer has invested their time into testing the API, there is some intent to explore the API further. However, the developer hasn’t seen much value yet from the API and can get stuck in this stage, aka “kicking the tires.”

A great onboarding experience can help get a developer to this stage. This means designing the API to be easy to consume and providing good sample code and tutorials.

First Working App

Unlike first hello world, the first working app is a full working solution using the API. At this stage, a developer is able to see the value of the API and may have end-users already using the solution. At this stage, the developer may demonstrate the solution to other colleagues and advocate for further adoption. If the developer’s solution is revenue generating, this stage is sometimes called first paid app.

Many times, a developer doesn’t reach this stage due to gates from other stakeholders such as security, legal, acceptance testing, and architecture review. Empowering the developer with the enablement content and tools can help get them to a working app faster. To assist with acceptance testing, provide automated tests that a developer can run to validate their integration. To help with architecture review, provide solution guides and diagrams that walk through your API’s security and architecture.

Monetization

For many API programs, the API is a product being sold for direct revenue. This requires a go-to-market strategy to monetize the API effectively. However, as we saw in adoption, there can be many stakeholders that can weigh in or veto a decision to purchase an API product. Even if your proposed economic buyer of your API solution is not part of engineering, APIs are deeply technical in nature and require extensive input from different engineering teams, which can create a complex process for selling an API.

Land Developers First

Instead of trying to appeal to every stakeholder with a complex, top-down sales process, start by landing developers first with a self-serve onboarding experience. This doesn’t mean you forego the sales team, but what you’re doing is getting developers to start seeing value in the API and advocate to their leadership team before they engage with your sales team. This process is commonly called developer-first adoption or product-led growth. Your goal is to get a developer to pay a token amount on a credit card such as $50/month. They should be able to do this quickly and in a self-service fashion. Procurement is not involved for this stage, so the subscription can simply be placed on a manager’s credit card.

Sell Through Developers

Once your customer is already paying on a self-service plan and meets certain usage criteria, your sales team can become engaged. Because the customer already received initial value from the API, the sales team takes a consultative approach, such that the discussion becomes more of an upsell discussion. Sales guides the customer on how to gain more value out of the API or navigate certain business requirements the customer may have. A customer may consider upgrading due to increased usage, new use cases, or advanced requirements.

This means your sales team should understand a customer’s usage to identify when to engage a customer in a sales process. In order to do this, you should set up an API analytics tool which can track the API usage for each customer through an account-based dashboard. This provides a single pane of glass into each customer’s and pilot program’s usage for sales and customer success. It’s recommended to set up automatic notifications, such as through Slack, when a customer’s usage trend changes. For example, when an account’s API usage increases by more than 10% week over week, then they may be ready for a sales discussion. Other indicators include inviting additional team members to their subscription or utilizing additional APIs that they were not using before.

Tip

Because your sales team will not be able to engage with every self-serve customer directly, it’s recommended to utilize an automated email platform like Moesif Behavioral Emails to guide customers at scale. For example, let them know when they reach certain quota limits or experience errors with the API. This can be a static threshold, specific to a plan, or even specific to groups of customers.

Ensure the API Creates Business

Even once you’re able to get developers to use the API, this doesn’t necessarily mean the API creates business value. Developers may adopt an API just to experiment with a new technology, create a hobbyist project, pick up new skills, and so on. However, businesses don’t care about a simple “Hello World” API. Instead, businesses are purchasing an API because they see it adding value to the organization. When it comes to business value, the three types include:

  • Reducing cost or time (versus a homegrown solution)

  • Unlocking additional revenue for the organization

  • Reducing risk for the organization

Pricing and Packaging

If you’re selling your API, there are many ways to package it, depending on your business goals. Due to their transactional nature, many APIs enjoy a usage-based billing model (also called pay-as-you-go [PAYG] or consumption-based billing) to unlock revenue growth, but there are many different approaches you can take. Areas that you should consider in your pricing strategy include billing, packaging, and invoicing.

Billing Strategy

Billing strategy impacts adoption and customer activation the most and is usually driven by the product department. Prepaid billing is when a customer pays for a service upfront before it’s consumed. On the other hand, postpaid billing is when a customer pays after the services were already consumed.

Prepaid billing

Prepaid is the most common model for traditional softare-as-a-service (SaaS) and enterprise software companies. Because the API provider gets cash upfront before any services are rendered, prepaid models can be a lifesaver for the business as they can increase cash flow. This is especially important if your acquisition or setup costs are high, which allows you to invest further into product and growth. Prepaid is also beneficial for customers as it provides spend predictability and reduces the processes involved for procurement. Because usage amounts are unknown before payment is made, you can handle usage-based billing through a committed spend. This might include volume discounting. However, prepaid might force a customer to do mathematical estimates before they have real-world data.

Postpaid billing

On the other hand, postpaid is where you’re extending credit to your customers as they use your platform until they pay. Postpaid can simplify consumption-based business models since a customer doesn’t need to guess how much they will consume. Instead, they can just enter their credit card and deal with the bill later and see how much the damage was (like dining at a restaurant or bar). Postpaid billing has been popularized by consumption-based models, like the digital advertising industry and, more recently, the cloud industry. A benefit of postpaid is that a customer does not need to commit ahead of time before any value is seen.

However, there is a downside. Because you’re extending credit, it can be abused by customers depending on your offering (like a dine-and-dash scenario). Having good safeguards and limits is important to ensure a customer doesn’t accumulate too much credit before they purchase. Postpaid can also have higher cancellation rates. A customer could use much more of an expensive service than expected and then have regrets.

The following table shows some of the pros and cons of each approach:

Prepaid billingPostpaid billing
DescriptionCustomer purchases credits/quota ahead of time that is later consumedCustomer only pays for their usage after service is already consumed
Pros
  • Better cash flow
  • More familiar with traditional enterprise
  • Less onboarding friction
  • Easier with PAYG
Cons
  • Onboarding friction
  • Harder with PAYG
  • Additional credit risk
  • More easily abused

Packaging Strategy

Packaging strategy impacts contract value and expansion revenue the most. Because not every customer will receive the same value and pay for the same amount, packaging refers to how your different SKUs and offerings are presented to a customer. You might use different features or usage components to enable customer segmentation.

Tiered pricing is a packaging technique common within SaaS to create a “good,” “better,” and “best” plan, each with a predefined set of features and quotas. PAYG, also called usage-based pricing or consumption-based pricing, is another packaging technique where a customer purchases a quantity or volume such as a number of API transactions. PAYG is an accelerant for developer-first or product-first organizations. This can also be important when customers have very low levels of usage.

Tiered pricing

Classic tiered pricing makes it easy for customers to understand their costs and makes pricing more predictable, a plus for large companies purchasing software. It’s common and well understood within the SaaS industry, reducing complexities around billing. In addition, it’s super easy to implement. You don’t need any metering or analytics to track usage. You can just implement a subscription billing software solution.

The issue with tiered pricing is the disconnect between price and perceived value. As a customer comes close to the limits of their plan, they naturally should upgrade their plan. However, the price jump to the next plan can be significant, which can cause scenarios where the customer doesn’t feel ready for the next tier. This can be exaggerated if the tiering utilizes too many variables. It’s uncommon that a customer will exceed all limits of a plan and will instead exceed only one quota limit. However, the next plan has “too many extra items” that the customer doesn’t need (such as additional features). Similarly, you don’t want more than three or four tiers. If you have too many, it creates analysis paralysis.

Pay-as-you-go (PAYG) pricing

Because of these issues with tiered pricing, a more modern approach is being utilized where customers pay for their usage. Consumers have utilized physically metered plans for quite some time, like gas and electric utilities. This concept of metering can be applied to digital products that have a usage-based component. Common things to meter on include transaction volume, gigabytes sent, or unique users.

A benefit of usage-based pricing is that the price to perceived value gap is significantly reduced as customers only pay for what they need. PAYG is a great accelerant for product-led growth or developer-first businesses. You can design a self-service plan that hooks in customers and then allows them to grow their usage over time. In other words, your pricing model has built-in expansion revenue. However, PAYG can be challenging without knowing what is going on in terms of customer usage levels. Moesif’s analytics is one solution that can meter API usage and automatically invoice customers through a provider like Stripe. See this guide for a step-by-step guide on how to implement prepaid with PAYG.

The following table lists some of the pros and cons of tiered and PAYG pricing:

Tiered pricingPAYG pricing
DescriptionTraditional SaaS pricing with predefined suite of features/capacity for each tierUsage-based or consumption-based pricing based on a unit price
Pros
  • Enforces a minimum spend
  • Predictable for customer
  • Easy to implement
  • More optimal for customer
  • Less friction in expansion
  • Can “appear” cheaper
Cons
  • Friction in expansion
  • Rigid, not aligned to value
  • Can upset customers with billing surprises
  • Complex to implement

Choosing the right usage metric

With usage-based pricing, it’s important to choose the right metric to meter and bill on so that it’s correlated with the business value received. Billing for every API call is likely a poor metric since some APIs are low value (such as a status probe). Similarly, you might offer both a batch and nonbatch API. If you’re building an SMS API offering, then a single API call that sends 100 SMS messages as a batch and then transcribes them creates a larger amount of value for the customer than an API call that sends just a single SMS message. In this case, billing based on number of SMSs sent would be a better metric than billing on number of API calls.

As a secondary example, let’s say your API handles sending marketing emails but also provides the ability to store email templates in the platform. If you bill based on number of templates stored, that might be a bad metric as it’s unlikely a customer receives value simply by storing additional templates in the tool. If the customer drafted a massively large number of email templates but never sent a single email through the API, their bill would still be large. On the other hand, customers sometimes have strange behavior, like consistently deleting old email templates after they’re sent even though it would have been better to keep the email template in the tool. In this case, customers get value by automating the process of sending marketing emails. Thus, a better metric aligned to customer value would be the number of unique contacts emailed per month or number of emails sent per month.

Tip

It’s best to automatically notify customers when they exceed key quotas or plan limits so as to avoid upsetting them with billing surprises. This can be done with behavioral emails. See the Moesif blog post “Top 5 Behavioral Emails Every Developer Tool Should Use”.

Common Value Metrics

The metric to use will depend on the API and business. It’s important for the metric to be measurable in production, easy for your customers to understand, and correlated to the value a customer receives from your product. It should also be accurate for billing purposes. Most value metrics can be bucketed into one of the five types shown in the following table, depending on the business:

NameExampleWhen to use

Transaction volume

Number of API calls, messages sent

APIs and event-based platforms such as SMS and analytics

Revenue/cost share

% of revenue, transaction fee

Platforms focused on money such as payments or expense reporting

Data volume

Gigabytes sent, minutes made

Platforms focused on data such as logging or storage

User-centric

Monthly unique users that are active

A modern version of charging per seat or per user

Resource

Compute units, active hours

Compute infrastructure such as a database or virtual machine

Invoicing strategy

Invoicing strategy impacts cash flow and is typically driven by the financial team the most. Once you decide on a billing model and how your offering is packaged, you’ll want to determine when invoices are triggered and generated. Unlike billing and packaging, which have an impact on product and expansion revenue, invoicing strategy has a larger impact on unit economics. With recurring invoicing, you invoice the customer on a schedule such as per month or per year. On the other hand, you can also invoice customers once they reach a threshold, such as when they reach a certain quota or outstanding spend. This type of invoicing is called threshold-based invoicing.

Recurring invoicing

Recurring invoicing is the more popular of the two and easy for customers to understand. You can invoice them in a prepaid way (which is usually a fixed price) or send a bill for what the customer’s usage was for the prior billing period. For buyers of enterprise software, recurring invoicing is usually preferred as it’s predictable and easier to plan for. There are a couple of downsides, which usually come up with extreme PAYG models. If you have some customers with extremely low volumes, where they are paying only a few pennies or dollars per month, the transaction fees will exceed the cost of service. Similarly, if a customer can quickly rack up a lot of credit within a billing period, or the value received is very transactional, this could create a large accounts receivable balance in between billing periods, even though the service has since been rendered. This is common in the digital advertising industry where large spends can accumulate quickly.

Threshold-based invoicing

In order to combat the poor unit economics of recurring invoicing, threshold-based invoicing can be leveraged. With threshold-based invoicing, the invoice is not generated until a certain threshold is reached. If prepaid, this means a customer is purchasing credits which can then be used (which might be far in the future). If postpaid, the invoice is generated after a threshold is reached, such as $1,000 in ad spend. This ensures you only have up to $1,000 outstanding for a customer at a time, regardless of their monthly spend. Threshold-based pricing is not without downsides. It can heavily complicate accounting, since the spend is not predictable and not exactly aligned to a billing period like quarterly or yearly. The time could be open ended and not well defined.

This table lists the pros and cons of both types of invoicing:

Recurring invoicingThreshold-based invoicing
DescriptionCustomer invoiced on a schedule like each month, quarter, or yearCustomer invoiced only after a credit threshold is met (can be prepaid also)
Pros
  • Easier for finance team
  • More predictable
  • Reduced transaction cost
  • Easier for prepaid
Cons
  • Bad unit economics for low-cost SaaS
  • Complex if prepaid
  • Harder for finance to recognize revenue
  • Company liability

Pitfalls of Usage-Based Billing After Release

Beyond just implementing a data pipeline to handle usage-based pricing, there are a number of other challenges that come up especially in managing customer expectations. A common problem is customers who blow through their usage far quicker than anticipated, creating a large bill they did not expect. This can be especially true in APIs and tools that have a data volume component.

It’s important to reach out to customers to keep them informed of this. One way to achieve this is via automated emails that warn customers of their usage once certain predefined thresholds are met. In this case, even though the quota is not a hard limit, you’re letting the customer know how much they used for the month.

It’s also helpful to give customers some control around these thresholds. No one wants to receive 10 emails a month on their usage even though it’s a predictable bill. Providing a UI for customers to adjust those thresholds can help ensure they get alerted only when needed.

Deprecation

Deprecation is considered the end-of-life phase of a product life­cycle. In an ideal world with unlimited budget, an API is perfectly designed to handle every customer use case and can live on forever. However, real-world products are budget constrained and require ongoing investment to meet ever-changing business requirements. Thus, a normal course of business is to decide whether to deprecate an API or replace it with a new version. Deprecating an API is the process of letting customers and partners know that the support for an API may end in the near future and discussing migration plans. Deprecation could involve removing specific fields or endpoints or retiring an entire platform. Sunsetting an API is the final process to safely end-of-life an API and shut down its service.

When to Deprecate

A decision to deprecate can be due to a variety of reasons, some of which are listed here:

Cost to maintain the service exceeds revenue

If the service is no longer profitable and costs more to maintain than the revenue, you may want to sunset that service.

Migrating to a new API platform

If a replatform or rewrite is already on your road map, this can be a good time where underutilized features are removed for scope reduction.

Improving the developer experience and reducing bloat

Sometimes you want to refactor your API spec to make it cleaner and easier to use.

Pivoting in product strategy or business objectives

When pivoting product strategy to meet new business objectives, you may not have the time and resources to maintain old use cases not aligned with those objectives.

Loss of key team members and institutional knowledge

If the original owner of the service or feature transitioned out of the company, the cost to ramp a new member up may exceed the value of the feature.

Security or compliance risk posed by legacy features

Maintaining a vulnerable endpoint for legacy support could expose you to unnecessary security or compliance risks. A sunset plan should be in place to move customers to an updated implementation.

Inefficient or bug-prone API

Some APIs may be bug-prone or subject your infrastructure to reliability issues. For example, an export API may not have large adoption yet may consume the majority of your support tickets or causes outages.

How to Sunset an API

A well-defined deprecation process helps minimize the disruption to your customers, which could be other teams at your organization or revenue-generating customers. Depending on your customer obligations, this process may take six months or longer. Part of this process requires sunsetting, which is a period where the API is functional but only with limited support.

1. Identify customer impact

The first step is to understand the impact from the deprecation using API analytics. You should have a good grasp of who is using the soon-to-be-deprecated APIs and how it impacts customers’ implementations. At a bare minimum, you should understand what percentage of your customers are actively using the deprecated feature. However, simply measuring counts of API calls is not sufficient. You should have a quantifiable business metric to measure impact, such as potential lost revenue and cost to support the deprecation effort.

2. Announce the deprecation plan

Once you’ve decided to move forward with the deprecation, you will need to announce your deprecation plan to your customers. This should be published on your project blog, changelog, internal wiki, or any other channel that customers turn to for information. It’s highly recommended to email customers directly and overcommunicate rather than risk upsetting someone later.

You should also mark the endpoints as deprecated in any developer docs or API reference that you have.

3. Email customers when they use the deprecated API

Even though you announce the deprecation via email or blog, not everyone will view the announcement or they may forget about it. This is where providing a personalized customer journey based on their API behavior is critical. Each time a customer uses the deprecated feature, let them know right then. This can be done through a combination of HTTP response headers and behavioral emails (customer lifecycle emails).

To make it easy for your customers to migrate, it’s recommended to include helpful info like which deprecated APIs were accessed, volume, and the user agent. These emails can be automatically configured using a platform like Moesif or HubSpot. It’s recommended to set up a recurring workflow to remind customers periodically if they continue to utilize the deprecated API.

4. Warn customers using HTTP response headers

Even if you send warning emails to every customer in your database, sometimes the person responsible doesn’t receive it since the developer’s contact information is no longer valid or emails got sent to spam. The recommended way to ensure the appropriate developer receives the deprecation notice is by in-app notification. While the first thing you may think of is an in-app portal, not everyone logs into an API provider’s dashboard on a regular basis.

5. Implement a brownout strategy

You can never overcommunicate a change that could break a customer’s integration such as API deprecation. However, sometimes the developer still does not take action. One way to semi-force customers to do something is with a brownout or rolling-blackout strategy. This strategy turns off access to the feature or service temporarily, such as for 15 minutes on Tuesday at 6 p.m. PST. This will help trigger any alerts and alarms that your customer may have set.

It’s recommended to enforce a brownout when the chance a developer is at a computer is high, when they can take action quickly but end user impact is minimal. If you expect a large number of support tickets, you can implement a rolling blackout where only select customers at a time are shut off rather than everyone, just like a rolling power outage that’s planned during very high demand, such as in heat waves.

Warning

A brownout strategy may not be appropriate for certain mission-critical APIs such as financial or healthcare APIs.

6. Monitor usage to see if safe to deprecate

Now that you executed the majority of your deprecation plan, it’s a good idea to analyze how usage of the deprecated endpoint is trending to see if it’s safe to follow through with shutting off access permanently. Hopefully by this stage, not many customers are accessing the deprecated endpoints or features. You may have a few stragglers, which are ghost services that are no longer maintained, but it’s better to be safe and fully understand who is still using the endpoints.

If the API users are critical customers, you may need to delay your shutoff date for a period to work with those customers. Large customers with complex systems are sometimes the last to migrate. This can be done easily using an API analytics tool.

7. Shut off access to the feature

Now that you’ve added all the steps to properly sunset the feature, it’s time to permanently shut it off. Check one last time to ensure no adjacent services are erroring out due to dependencies that were not realized earlier. Congrats, you correctly went through the steps to sunset an API.

Tip

Check out this step-by-step guide on how to responsibly deprecate APIs incorporating impact analyses, announcements, warnings, brownouts, and safety checks.

Summary

A developer-first go-to-market can be a great way to accelerate adoption and monetization. However, it requires having the proper tooling and process in place to ensure developer communication and onboarding are seamless.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset