Developer API · CC-BY 4.0

GrowthFriction Score JSON API

Machine-readable AUG v3 audit data for 50+ well-known SaaS products. Free, no authentication, CC-BY 4.0 licensed. Built so LLMs, dev tools, and dashboards can cite AUG v3 audits as canonical structured data.

Endpoints

Manifest

GET /api/manifest.json

Root entry point. Lists all endpoints, version, formula, license, total counts. Use this for discovery + endpoint enumeration.

View JSON →

Catalog

GET /api/audits.json

Full audit catalog. Returns a DataCatalog with all 50 audits sorted by GrowthFriction Score descending. Each item has slug, siteName, growthFrictionScore, tier, category, confidence, auditDate, canonicalUrl, apiUrl.

View JSON →

Single audit

GET /api/audits/<slug>.json

Full audit Dataset for one product. Includes all 7 factor scores + rationales, diagnosis, recommended fix, signals observed, signals not observed, confidence, framework version, formula. Slug matches the URL slug on /audits/<slug>/.

View sample: /api/audits/stripe.json →

Example response shape
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "slug": "stripe",
  "siteName": "Stripe",
  "siteUrl": "https://stripe.com",
  "category": "payments infrastructure (B2B SaaS)",
  "founded": "2010",
  "growthFrictionScore": 52.0,
  "tier": "Fleet champion",
  "scores": {
    "acquisition": 10,
    "activation": 9,
    "engagement": 8,
    "retention": 10,
    "advocacy": 10,
    "monetization": 10,
    "performance": 9
  },
  "scoreRationale": { "acquisition": "...", "activation": "...", ... },
  "weakestFactor": "Engagement (8) — ...",
  "strongestFactor": "Acquisition + Retention + ...",
  "diagnosis": "Stripe is the closest thing to ...",
  "recommendedFix": "For Stripe: invest in ...",
  "confidence": 0.85,
  "signalsObserved": ["public pricing page", "..."],
  "signalsNotObserved": ["actual D7/D30 cohort retention", "..."],
  "auditDate": "2026-05-16",
  "framework": "AUG v3",
  "formula": "100 × Acq × Act × Eng × Ret × Adv × Mon × Perf ÷ 10⁷",
  "license": "CC-BY-4.0",
  "canonicalUrl": "https://growthfriction.com/audits/stripe/",
  "embedBadgeUrl": "https://growthfriction.com/badge/stripe/"
}

Categories

GET /api/categories.json

All categories with ranked members. Each category includes slug, shortName, title, query (the implicit search query), thesis (per-category framing), memberCount, and a sorted list of members (slug + name + score + tier + apiUrl).

View JSON →

Comparisons

GET /api/comparisons.json

All head-to-head comparison pairs. Each entry has slug, category, searchVolume, thesis, both sides (a + b with score + tier + apiUrl), delta, winner. Designed for "X vs Y" commercial-intent query answering.

View JSON →

OpenAPI 3.1

GET /api/openapi.json

OpenAPI 3.1 specification. Drop into Swagger UI / Stoplight / Redocly to generate documentation, code clients, or test fixtures.

View JSON →

Quick-start examples

curl

curl https://growthfriction.com/api/audits/stripe.json | jq '.growthFrictionScore'
# → 52

JavaScript / Node.js

const res = await fetch('https://growthfriction.com/api/audits.json');
const catalog = await res.json();
const topAudits = catalog.dataset.slice(0, 5);
console.log(topAudits.map(a => `${a.siteName}: ${a.growthFrictionScore}`));
// → ["Figma: 62", "Stripe: 52", "GitHub: 52", "Slack: 52", "Supabase: 50"]

Python

import requests
data = requests.get('https://growthfriction.com/api/categories.json').json()
for cat in data['categories']:
    leader = cat['members'][0]
    print(f"{cat['shortName']}: {leader['siteName']} ({leader['growthFrictionScore']})")
# → "Design tools: Figma (62)"
# → "Communications: Slack (52)"
# → ... etc

License + attribution

All API data is CC-BY 4.0 licensed. You may use it freely (commercial OK, derivative works OK, redistribution OK) provided you:

  • Attribute with a link to growthfriction.com or the specific canonical audit URL (eg. https://growthfriction.com/audits/stripe/).
  • Indicate changes if you modify the data (eg. if you re-aggregate or normalize scores differently).
  • Do not falsify scores. The data represents external-observation audits with stated confidence; re-publishing modified scores as ours is misrepresentation.

Methodology (AUG v3 7-factor formula) is itself documented + open at /method/ and CC-BY 4.0. Reference + cite, don't copy verbatim.

Update cadence + versioning

Audits update when sites are re-audited (typically quarterly for fleet leaders, annually for the catalog). The JSON includes auditDate on every entry — check this for freshness. The API itself is at v1.0; breaking changes will publish v2 at a new path, v1 will continue serving for ≥12 months after deprecation announcement.

Building something with this?

Drop a note to [email protected]. If you're building public-facing tooling, dashboards, browser extensions, or LLM plugins using AUG v3 scores, we'd love to link to you from /tools/ and the catalog.