Valuation
Use this when the user asks what the company could be worth: an ARR multiple range from growth, net revenue retention, gross margin and burn multiple…
Authentication
Authorization<token>A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
companyId*string1 <= lengthapplication/json- body
lens?stringfundraising prices like a venture round, acquisition like a private M&A buyer. Defaults to the company's saved lens, then fundraising.
"fundraising""acquisition"category?stringtraditional, aiEnhanced or aiNative. Defaults to the company's saved category, then traditional.
"traditional""aiEnhanced""aiNative"arrStage?stringPrice against this ARR stage's peers instead of the company's own.
"lt1m""from1to3m""from3to10m""from10to20m""gte20m"acvSegment?stringPrice against this ACV segment's peers instead of the company's own.
"mice""rabbits""deer""elephants"scenario?What-if driver values (fractions for percentages, so 0.4 is 40% growth) that replace the measured ones. The response then carries both the measured estimate and the scenario. Nothing is saved.
timeZone?stringIANA time zone. Defaults to BatchContext.timeZone, then UTC.
valuation result
application/json- response
asOfMonth*stringLast complete month the drivers are read from.
multiplesAsOf*stringMarket snapshot the multiple corridors encode.
lens*string"fundraising""acquisition"category*string"traditional""aiEnhanced""aiNative"inputs*estimate*|The estimate from the measured values. Null when there is nothing honest to show, see unavailableReason.
scenarioEstimate?|Present when scenario was sent: the estimate with those driver values.
unavailableReason?stringnoCompanySize: committed ARR and the paying customer count are not known yet. They are computed nightly and after a subscription import, and need active subscriptions. noDriverMetrics: none of the four drivers has a value, usually because there are fewer than 12 months of history.
"noCompanySize""noDriverMetrics"curl -X POST 'https://api.saasflow.com/companies/string/data/valuation' \ -H 'Content-Type: application/json' \ -d '{}'{ "asOfMonth": "string", "multiplesAsOf": "string", "lens": "fundraising", "category": "traditional", "inputs": { "arrEur": 0, "peerCell": { "arrStage": "lt1m", "acvSegment": "mice" }, "factorValues": { "mrrGrowthRateAnnual": 0, "netRevenueRetention": 0, "grossProfitMargin": 0, "burnMultiple": 0 }, "grossMarginCovered": true, "profitable": true }, "estimate": { "arrEur": 0, "arrStage": "lt1m", "lens": "fundraising", "category": "traditional", "corridor": { "low": 0, "mid": 0, "high": 0 }, "multipleLow": 0, "multipleMid": 0, "multipleHigh": 0, "low": 0, "mid": 0, "high": 0, "factors": [ { "metric": "mrrGrowthRateAnnual", "value": 0, "zone": "green", "score": 0, "weight": 0, "deltaMultiple": 0 } ], "missingFactors": [ "mrrGrowthRateAnnual" ] }, "scenarioEstimate": { "arrEur": 0, "arrStage": "lt1m", "lens": "fundraising", "category": "traditional", "corridor": { "low": 0, "mid": 0, "high": 0 }, "multipleLow": 0, "multipleMid": 0, "multipleHigh": 0, "low": 0, "mid": 0, "high": 0, "factors": [ { "metric": "mrrGrowthRateAnnual", "value": 0, "zone": "green", "score": 0, "weight": 0, "deltaMultiple": 0 } ], "missingFactors": [ "mrrGrowthRateAnnual" ] }, "unavailableReason": "noCompanySize"}Benchmarks
Use this when the user asks how the company compares with SaaS peers: growth, retention, churn, gross margin, Rule of 40, CAC payback and burn multiple…
List search
Free-text search across a company, grouped by entity type. Use it when you know a name but not an id: one call matches customers, vendors, and accounts on…