Sprout Social: API Design

87%
Less time to ship a new social network
No rewrite. No pause on feature work.
For 10 years, adding a new social network to Sprout Social meant months of engineering across web, mobile, and backend, because each network ran on its own unique API.

At a glance

What changed for every new social network, before and after the standard.

Before

AFTER
Time to Ship 4 months → 2 weeks
Engineers 6 → 1-2 Backend
Cost $500k → $20k
Rendering bugs 2 -4 / month → 0

The Mechanism

A repeatable operating pattern. Diagnose, prioritize, execute.
1

Diagnose

Audited 40 message objects to find the shared shape across all social networks.

2

Blueprint

Turned that audit into a spec and a four-milestone plan for the business.

3

Build

Sequenced by risk.

Proved the plan on the lowest-risk networks first.

4

Ship

Every new network used the standard after milestone one.

Real savings within weeks.

5

Encore

Delegated repeatable migrations to teams with spare capacity.


The Story

Everyone thought this was a big lift. It wasn’t.

Problem

New networks cost up to $500k and months of work.

Adding a network like TikTok, or even a single message type like WhatsApp DMs, took up to four months and six engineers across backend, web, and mobile. Each integration cost up to $500,000.

10 years of short-term decisions add up. Almost every message type had a unique shape.
Change

Migrate alongside the normal roadmap.

Product leaders assumed the fix was to stop everything and rebuild the API across every codebase. A complete focus with no new features. I wasn’t trading the roadmap, revenue, or open deals for it.

We prioritized incremental changes. My team audited every message type by hand to find the shared shape, split the migration into four milestones, and proved it on low-risk product areas before handing the repeatable migrations to teams with spare capacity.
RESULT

87% faster, a public API, and a roadmap that never paused.

  • 87% less delivery time per network. Four months of work dropped to about two weeks.
  • No feature delays. Not one release slipped.
  • $500k per network → ~$20k.
  • New networks shipped fast. TikTok, Apple App Store Reviews, Google Play Store Reviews, and WhatsApp Direct Messages all plugged in.
  • A public API became possible. The standard enabled Sprout to release its public Message API, live today.

The Details

For the readers who want the mechanics. Open what you need.

Sprout’s Engagement products (Inbox, search, and tasks) sit on top of every social network’s API. Adding a new network like TikTok, or a single message type like WhatsApp DMs, meant integrating the network’s API on the backend, indexing the data, then exposing a REST API for web and mobile to consume. Networks had been added ad hoc for 10 years, so almost every message type had its own shape. New ones cost six engineers across three platforms.


I went looking for the real lever, and it was sitting under all 40 message types: there was no shared standard. I pulled in a trusted engineer and we reviewed every message type, one at a time, asking the same question of each: what’s truly network-specific, and what’s shared? That audit became the spec. From it came a plan I could run without stopping the business: migrate one network’s objects at a time. Four networks, four milestones.

I sequenced it on purpose. My team and I took the first two milestones, on the lowest-usage networks, so we could build and prove the foundational code paths where a bug would reach the fewest customers.

The Inflection Point
Once one network was live on the new API, the hard part was done. The company immediately saw the benefit: new networks or message types used the standard from day one. Product teams saw the cost drop quickly, not at the final milestone.

The remaining migrations were isolated and repeatable, so I could hand them to teams with room in their own roadmaps.

One rule governed the whole approach: standardizing the API couldn’t cost the company a release, a customer, or a deal.

KEPT RUNNING

Feature development. I wouldn’t trade the roadmap for the rewrite.

STARTED

One consistent API across all 40 message types, built from a by-hand audit, migrated lowest-usage network first to cap the blast radius.

STOPPED

Building a bespoke API for each new network. No more treating the standard as an all-at-once project that competes with shipping.

The standard became the surface every new network and message type is built on. TikTok, Apple App Store Reviews, Google Play Store Reviews, and WhatsApp Direct Messages were all added on top of it. It also made something bigger possible: Sprout’s public API now exposes that same consistent message model to customers. New surfaces ship in days because the foundation was built once.


IF THIS SOUNDS LIKE YOUR TEAM

Slow releases, and no one wants to prioritize the real fix?

The lever is usually a plan nobody’s figured out how to integrate into the roadmap. Migrate underneath the running product, sequence by risk, and take the value from the first slice. That’s how you fix the foundation without paying for it twice.