Calculating the Total Cost of Running an API Product Tyler Charboneau June 18, 2020 So, you want to develop and distribute an API. Connecting people with your services is a great way to build a user base. It’s also a pathway to monetization. This success doesn’t come freely. The number of monetary obligations behind running an API might surprise some developers. Expenses—both upfront and ongoing—vary from one company to the next. Our goal is to estimate the monthly cost of running an API. If you’re a product owner or developer, we hope these ballpark figures will provide some insight into your potential operating costs. This does involve some guesstimation on our part, so take these numbers with a grain of salt. That said, the sources of these costs are 100% legitimate. We’ll break down the various factors at play when developing and running your API product. Introducing Our Use Case For the sake of our example, we’ll say our API supports 100 developer accounts, each accounting for 10,000 calls per month—one million total API calls in the same period. This engagement level will help form the basis of our other estimates. We’ll calculate these costs from development to production while including long-term maintenance. Let’s first tackle what we’d consider the upfront costs associated with development. Assessing Development Time Probably the trickiest aspect of pricing is development, as the API design process includes numerous contributions from multiple stakeholders. You’ll have your permanent team members, but some developmental stages may require outside consultation. Let’s assume that we hire contractors to help conceptualize and develop the API. We can calculate the potential extra costs from here: Research Many important considerations go into your API. Who will your users be? What data or third-party integrations should be included? These decisions will lay the groundwork for your API. They’ll also influence how long your team will spend in the research stage. Let’s say we hire a contract software developer full-time and spend three days on research. According to Glassdoor, full-time software engineers make an average of $86,774 per year. That’s $7,231 monthly. However, there’s more calculating to be done. Independent contractors make approximately 50% more than their salaried counterparts: $7,231 x 1.5 = $10,847 monthly (contractor) $10,847 / 30 days = $362 per diem (contractor) $362 x 3 days = $1,086 (contractor cost in the research stage) Once you get your ideas down on paper, it’s time to start building out your components. Because the database is so central to the API, we’ll tackle that next. Designing Data Structures The database is the lifeblood of your API—the backbone of crucial information that you serve to customers and everyday users. Building this out in the most compatible, structured fashion will drive your API’s success. We can follow the same principles seen above with the research stage. The design takes time, as does establishing appropriate security measures. This can take anywhere from 5–10 days. We’ll average that out to 7.5 days for our calculations: $362 per diem (contractor) x 7.5 days = $2,715 Next up is prototyping, the exploratory stage of development. Prototyping Once your security and data structures are nailed down, it’s time to throw experimental functionality together. This step precedes the development of an MVP. Prototyping verifies your API’s connectivity while confirming that endpoints are functional. This can take 3–5 days: $362 per diem (contractor) x 4 days = $1,448 Making a Minimum Viable Product (MVP) The MVP is essentially your core product, minus the bells and whistles. This stripped API typically excludes extra features that will eventually make it into production. Since this version is bare-bones, it’s expected to be functional before any additions come into play. This typically takes around five days: $362 per diem (contractor) x 5 days = $1,810 Monitoring and Galvanization These two steps go hand in hand. You’ll want to establish metrics-based oversight of your API, to assess how traffic impacts your overall ecosystem. You can use monitoring to strengthen your solution. This includes identifying bottlenecks, security holes, and more. Logging and limiting features may be baked in. We’ll also have to create our alerts. This step takes planning and experimentation—usually extending our time allocation to 5–10 days (or 7.5 days on average): $362 per diem (contractor) x 7.5 days = $2,715 Documentation People will be using your API, so you must make sure instructions and use cases are laid out appropriately. These documents will explain the ins and outs of the API. This takes roughly three days. Technical writers typically shoulder these responsibilities. A mid-level, in-house writer costs an average of $30 per hour, adapted from Glassdoor’s figures. Let’s convert that rate: $30 per hour x 8 hours = $240 daily $240 daily x 3 days = $720 This is a rough estimate, of course, but it gives us an idea of how costs work out during ramp-up. Your initial costs make up the largest bulk of your API-related expenses, but you’re not out of the woods. Now, we jump into ongoing costs. Estimated initial cost (all development items): $10,494 Deployment and Maintenance Costs Moving from development to deployment means publicizing your API. This includes hosting, maintenance, and other activities to help your API reach users. We’ll break these items down one by one. Hosting and Remote Database Costs Your API acts as the middle man, connecting your users to your hosting service(s). Your API’s value rests with its ability to process these requests, time after time. Quality hosting providers offer maximum uptime and speed. If we are fielding roughly one million monthly calls, it’s probably best to opt for an enterprise-grade solution (as opposed to self-hosting). Choosing Amazon API Gateway Luckily, Amazon API Gateway has a free tier. If our 1,000,000 monthly calls are made through a REST or HTTP API, your first 12 months will be free—as long as your calls don’t exceed that threshold. This is great, but if you scale further, you’ll have to pay tiered rates. If your API (knowing our monthly usage) is a WebSockets API, your upper limit is 750,000 monthly calls—thus pushing you into paid tiers. Here are those prices: REST API: $3.50 monthly per additional million (up to 333 million calls) HTTP API: $1.00 to $1.17 monthly per additional million (up to 300 millions calls, regional) WebSockets API: $1.00 to $1.24 monthly (up to one billion initial requests, regional). Plus $0.31 per connection minute Note that HTTP calls are metered in 512KB increments, so any user request over that amount will incur an additional call. This may bump you to the next tier. Optimization is key to keeping costs down. In a similar vein, WebSockets requests are metered at 32KB, so any request exceeding that is processed as two (or more). Choosing DigitalOcean for Databases What if you decide to integrate an external database server instead of creating your own? DigitalOcean offers a multitude of plans depending on the memory you need. The company integrates fully-managed MySQL, Redis, and PostgreSQL databases—on top of a VM platform. This approach will slash (or eliminate) your in-house development time. Costs can range widely depending on memory and standby nodes: $15 to $480 monthly with zero standby nodes (memory dependent), plus $0.022 to $0.714 hourly $50 to $1,600 monthly with one standby node (memory dependent), plus $0.074 to $2.381 hourly $70 to $2,240 monthly with two standby nodes (memory dependent), plus $0.104 to $3.333 hourly Maintenance Costs Your API is finally up and running, but it will need occasional maintenance. Problems arise due to attacks, high traffic volumes, and rare server outages. These problems are often handled in-house by DevOps engineers. These professionals make $115,666 annually, on average—or $60 hourly when rounded up. Provided you perform 8–24 hours of monthly upkeep, that’s a total cost of $480 to $1,440 in monthly maintenance (when strictly using employee salaries). Going this route, there are no added costs, like there’d be when factoring in third-party management. Note that you’re not paying in-house employees an additional premium atop their salary—we’re just looking at proportional allocations. Ideally, we can automate these processes as much as possible to avoid excess (costly) human intervention. Even regular health checks and tests can reduce maintenance costs by catching any issues before they grow in severity. Added tooling like CircleCI and Gitlab—which may be necessary—can also incur extra charges. As your application scales, that pricing may sharply increase. On a grander scale, it’s estimated that total maintenance costs are more than 50% of the complete software development lifecycle (SDLC) costs. Maintenance can be incredibly expensive, which puts the onus on developers to create a reliable pre-production API product. Estimated monthly costs (all deployment and maintenance items): $496 to $3,684, plus database and hosting uptime premiums Advocacy and Marketing When you have 100 developers accounts associated with your API, you’ll need to support those individuals as best you can. Helping developers get the most out of your API will keep them happy and drive further adoption. Hopefully, the resulting profits will offset your input costs. Advocates are “a bridge between the engineering team and developer community.” These technical folks relay feedback they gather—eventually driving fixes and feature development down the road. Say you hire a few developer advocates to spread the word about your product. They’re the voices of your user base, support arms, and public speakers. Advocates make an average of $45,152 annually. If you hire a small team of three, that’s $11,288 monthly in staffing expenses. Will a developer advocate only champion your flagship API? That’s unlikely. However, much of their time will initially be spent helping this product get off the ground to reach long-term viability. Marketing You’ll also have to consider extra marketing costs, including staff, contractors, or outside agencies. Your API is a product, but a unique one, considering you’re selling to both developers and product owners. Finding that right voice is vital. Finding professionals who can develop a sound strategy is more challenging. It may be more cost-effective to hire freelancers to achieve these marketing goals. Full-time team members are costlier to hire. Your marketing effort might be a short-term blitz to introduce your API to developers—across numerous outlets. Long-term marketing approaches might not be necessary. For the sake of budgeting, say we hire a contractor to work part-time (10 hours per week) to execute various marketing strategies. This individual works for four weeks, at a rate of $40 per hour. That’s a one-time cost of $400 unless that individual is retained for ongoing projects. Estimated monthly costs (advocacy and marketing): $11,688 Third-Party Tooling While our approach thus far has been decidedly in-house, there are a variety of third-party tools available for management. External solutions are often applied for things like API management, API testing, security services, performance metrics aggregation, and more. A number of services like Microsoft Azure API Management, IBM API Connect, and RedHat 3scale provide templates for design—plus tools to boost security and scalability. Developers can slash development times by using these “turnkey” platforms. Speaking of security, Google’s Apigee platform offers plenty of authentication, SAML, and encryption options. What are the pricing breakdowns? Microsoft Azure API: based on our call levels, $4.20 per million calls to ~$147.17 monthly IBM API Connect: $100 per 100,000 API calls, or $1,000+ monthly RedHat 3scale Pro: $750 monthly Choosing a third-party solution offers plenty of shortcuts, but those don’t come freely. Depending on how your monthly calls grow (assuming you’ll scale over time), these solutions can be quite expensive—both short and long term. For example, opting for an Azure self-hosted gateway will run you an approximate $1,000.10 monthly. Evaluating our Totals There’s no arguing that API development can be expensive. Bigger companies may be more willing—or able—to shell out more dollars when bringing a project into the limelight. Smaller startups will find ways to save money if they can find a way to budget for an API product. As a recap, here are our totals: Upfront and one-time costs: $10,894 (development plus one-month marketing) Ongoing monthly costs: $11,784 to $14,972, plus added uptime costs. Subject to increase if third-party tooling is used The overarching challenge with this exercise is picking suitable numbers, and including all cost-driven variables through the API lifecycle. Companies have their own budgets and functionality requirements. Simpler APIs will be cheaper while running more-robust APIs will be expensive—both in terms of development and upkeep. Software complexity leads to more breakages and maintenance over time, driving expenses upward. There are a plethora of factors at play when running an API product. However, your API product can pay for itself many, many times over if it’s successful on the market. If you want to estimate your own API costs, DreamFactory offers a simple, handy tool to help tabulate ongoing expenses.