Remaining Performance Obligation (RPO) API
Get a company's remaining performance obligation via API: SEC-sourced backlog and bookings data, cited to the accession number, not a press release.

Microsoft's disclosed remaining performance obligation grew from $375B to $684B in fiscal 2026, an 82.4% jump against 17.8% revenue growth the same year. That figure comes from one line in Microsoft's own FY2026 10-K, tagged under ASC 606 as us-gaap:RevenueRemainingPerformanceObligation, and it is not the same $678B figure Microsoft's own earnings materials call "commercial remaining performance obligation." Two different numbers, two different sources, one filing.
/api/footnotes/backlog turns this disclosure into structured JSON for any filer that tags it, one row per fiscal year, cited to the exact SEC accession number behind it. This post walks through what the figure actually discloses, how to pull it via API, and a worked comparison across three real companies, Microsoft, Salesforce, and CrowdStrike, whose remaining performance obligation is growing at three very different speeds relative to their own revenue.
What remaining performance obligation discloses under ASC 606
ASC 606-10-50-13 requires a public company to disclose the aggregate transaction price allocated to performance obligations that are unsatisfied, or partially satisfied, as of the end of a reporting period, plus when it expects to recognize that amount as revenue. In plain terms: remaining performance obligation (RPO) is the total contracted revenue a company has not yet earned. Unlike revenue, which reports what already happened, RPO is forward-looking: it is the closest thing GAAP has to a bookings number.
The disclosure is audited. It sits in the footnotes of a 10-K or 10-Q, gets tagged in the filing's XBRL, and is subject to the same scrutiny as the income statement, unlike a bookings figure a company might mention only in an earnings call or investor slide. That distinction matters more than it sounds: later in this post, Microsoft's own FY2026 numbers show why.
How backlog, deferred revenue, and RPO differ
These three terms get used interchangeably in SaaS metrics writing, but they are not the same thing:
- Deferred revenue is a balance sheet liability: cash already invoiced (or received) for work not yet performed. It is backward-looking in the sense that the billing has already happened.
- Backlog is contracted revenue that has not yet been invoiced or recognized, the part of a signed contract still ahead of the billing cycle.
- Remaining performance obligation is the sum of both: everything contracted and not yet recognized as revenue, whether it has been billed yet or not. It is the complete forward-looking figure, which is why it is the one ASC 606 actually requires filers to disclose.
A related, narrower cut some filers also disclose is current RPO (cRPO): the slice of total RPO expected to convert to revenue within the next twelve months. It is a different, tighter revenue-recognition question from the segment and product mix a filer discloses through revenue segmentation, RPO is about timing of recognition, not where the revenue comes from.
Getting remaining performance obligation data via API
Call /api/footnotes/backlog with a ticker, CIK, CUSIP, or FIGI. period is annual or quarter, and limit controls how many periods come back. Microsoft's real FY2026 response looks like this:
// GET /api/footnotes/backlog?symbol=MSFT&period=annual&limit=1
[
{
"period": "2026-06-30",
"fiscalYear": 2026,
"fiscalPeriod": "FY",
"currency": "USD",
"remainingPerformanceObligation": 684000000000,
"dateFiled": "2026-07-29"
}
]/api/footnotes/backlog requires the Professional plan. Revenue for the same period, needed to compute a growth comparison, comes from /api/financials/income-statement, free tier, no paid plan required:
// GET /api/financials/income-statement?symbol=MSFT&period=annual&limit=1
{
"period": "2026-06-30",
"fiscalYear": 2026,
"facts": {
"revenue": 331839000000
}
}Some filers tag a second field, expectedShareInWindow, the fraction of RPO expected to convert within the filer's disclosed near-term window. Microsoft, Salesforce, and CrowdStrike do not tag it, but Adobe does: its FY2025 filing shows expectedShareInWindow of 65% on $22.5B of RPO, filed 2026-01-15. Coverage for this whole disclosure is thin by design: roughly 15% of active filers tag it at all, concentrated in subscription and long-contract businesses that have something worth disclosing. Always check that the response is non-empty for a given ticker before building on it.
RPO growth vs revenue growth: the bookings momentum signal
Comparing a company's RPO growth rate to its revenue growth rate over the same stretch is the classic bookings-momentum read: if RPO is growing faster than revenue, the contracted pipeline is filling up faster than the company is recognizing it, a forward signal revenue alone cannot show. Three companies with clean six-year histories illustrate three different shapes of that signal.
Indexed to their own FY2021 starting point, the divergence is visible immediately. Microsoft's RPO is 4.7x its FY2021 level; CrowdStrike's is 6.4x; Salesforce's, the steadiest of the three, is 2.0x.
The five-year compound annual growth rates make the same point in a different shape. Microsoft's RPO grew at a 36.2% CAGR against 14.6% revenue growth, a gap wide enough that RPO went from 86.9% of annual revenue in FY2021 to 206.1% by FY2026, more than two years of current revenue sitting in contracted backlog. The size and timing of that jump lines up with the large, multi-year Azure and AI infrastructure commitments Microsoft has been reporting through fiscal 2026.
CrowdStrike shows a different pattern: both metrics are growing fast (40.6% revenue CAGR, 45.1% RPO CAGR), with RPO consistently a step ahead, 160.1% of revenue in FY2021 climbing to 187.0% by FY2026. Salesforce is the control case: RPO and revenue have grown in near lockstep, 14.9% and 14.3% CAGR respectively, holding RPO at a stable 169.9% to 174.4% of revenue for six straight years. Stable is not a weaker signal here, it is what a maturely forecastable subscription book looks like next to two companies still re-rating their own growth curve.
This is disclosure data, not investment advice: none of the above is a recommendation to buy, sell, or hold any of these companies, only a read on what each one has actually filed.
Why filing-sourced RPO beats a press-release metric
Go back to the number this post opened with. Microsoft's FY2026 earnings materials headline an 84% increase in "commercial remaining performance obligation" to $678B, a company-defined figure that excludes some consumer commitments. The audited, XBRL-tagged total under us-gaap:RevenueRemainingPerformanceObligation, the one /api/footnotes/backlog returns, is $684B, filed in accession 0001193125-26-323660. Both numbers are real. Only one of them is independently checkable against a specific tagged fact in a specific filing rather than a company's own curated presentation.
/api/filings/search-by-accession-number resolves any accession number returned by this endpoint straight back to the source filing, free tier, so a claim never has to be taken on faith. It is the same point-in-time discipline covered in point-in-time fundamentals data, and the same extraction pipeline, SEC filings run through Arelle, the open-source XBRL processor, that backs the sibling Debt Tranche Structure API and Operating vs Finance Lease API. Every figure in this post traces back to a filing on SEC EDGAR the same way, which is also the standard StockFit's broader fundamentals API for quant research holds every other dataset to.
FAQ
Q.What is remaining performance obligation (RPO) and how is it different from backlog?
Q.How do I get a company's remaining performance obligation data via API?
/api/footnotes/backlog with a ticker, CIK, CUSIP, or FIGI, and period=annual or period=quarter. The response returns one entry per period with remainingPerformanceObligation in US dollars (or the original filing currency with currency=original), plus dateFiled. Pair it with /api/financials/income-statement for the matching period's revenue to compute a growth comparison.Q.What is the difference between RPO and deferred revenue?
Q.Why did Microsoft's remaining performance obligation grow 82% in fiscal 2026?
Q.Does every public company disclose remaining performance obligation?
Q.How can I tell if a company's bookings are accelerating faster than its revenue?
Q.What is current remaining performance obligation (cRPO)?
/api/footnotes/backlog surfaces it as expectedShareInWindow, a fraction of 1.Q.Which StockFit plan includes remaining performance obligation data?
/api/footnotes/backlog requires the Professional plan ($99/mo, $69/mo billed annually), the same tier as the rest of the footnotes family (debt structure, stock compensation, REIT property schedules). /api/financials/income-statement and /api/filings/search-by-accession-number, both used in this post for revenue and source verification, are free tier.Ready to build?
Free API key, no credit card.