Reputation & Reviews

App & SaaS Reputation API API

The App Reputation API enriches a mobile app as clean JSON.

3 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary app_reputation endpoint resolves an app and returns store references, developer, match confidence and a reputation signal, with a rich variant and batch. It is built for app-intelligence, fraud and due-diligence workflows that need to vet an app without manual store lookups. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, app_reputation, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/enrich-app/v1/app_reputation",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "https://apps.apple.com/us/app/notion/id1232780281",
    "include": [
      "stores"
    ]
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "enrich-app",
    "endpoint": "app_reputation",
    "mode": "basic",
    "latency_ms": 4604.3,
    "record_count": 1,
    "bytes": 0,
    "cache_hit": false,
    "completeness_pct": 100,
    "groups_run": [
      "stores"
    ],
    "subcalls": [
      {
        "api": "app-store",
        "action": "appDetails",
        "status": "ok",
        "latency_ms": 1873.4
      },
      {
        "api": "app-store",
        "action": "search",
        "status": "ok",
        "latency_ms": 1254.7
      },
      {
        "api": "app-store",
        "action": "appDetails",
        "status": "ok",
        "latency_ms": 848
      }
    ]
  },
  "data": {
    "provenance": {
      "reviews_sample": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "trust": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "developer": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "status": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "news": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "launch": {
        "status": "skipped",
        "missing_reason": "skipped"
      },
      "entity": {
        "status": "matched",
        "engine": "app-store/search+google-search",
        "match": "store-id",
        "match_confidence": 0.99
      },
      "stores": {
        "status": "matched",
        "engine": "app-store"
      }
    },
    "entity": {
      "query": "https://apps.apple.com/us/app/notion/id[redacted-phone]",
      "input_kind": "store_url",
      "resolved_name": "Notion",
      "match": "store-id",
      "match_confidence": 0.99,
      "domain": "notion.so",
      "store_refs": [
        {
          "store": "apple",
          "app_id": "[redacted-phone]",
          "country": "us"
        },
        {
          "store": "google_play",
          "app_id": "notion.id",
          "country": null
        }
      ],
      "developer": "Notion Labs, Incorporated",
      "evidence": [
        {
          "kind": "store-appDetails",
          "store": "apple",
          "app_id": "[redacted-phone]",
          "name": "Notion"
        },
        {
          "kind": "store-backfill",
          "store": "google_play",
          "app_id": "notion.id",
          "via": "name-exact",
          "score": 0.6
        }
      ],
      "candidates": []
    },
    "stores": {
      "apple": {
        "app_id": "[redacted-phone]",
        "name": "[redacted-name]",
        "developer": "Notion Labs, Incorporated",
        "rating": 4.77824,
        "rating_count": 88621,
        "review_count": null,
        "current_version_score": 4.77824,
        "histogram": {
          "1": 2277,
          "2": 853,
          "3": 1568,
          "4": 4850,
          "5": 79073,
          "total": 88621
        },
        "installs": null,
        "price": 0,
        "free": true,
        "content_rating": "4+",
        "categories": [
          "Productivity",
          "Business"
        ],
        "version": "1.7.322",
        "updated": "[redacted-phone]T07:10:18Z",
        "url": "https://apps.apple.com/us/app/notion-notes-tasks-ai/id[redacted-phone]?uo=4"
      },
      "google_play": {
        "app_id": "notion.id",
        "name": "[redacted-name]",
        "developer": "Notion Labs, Inc.",
        "rating": 4.5734596,
        "rating_count": 376083,
        "review_count": 4775,
        "current_version_score": null,
        "histogram": {
          "1": 18415,
          "2": 6980,
          "3": 14394,
          "4": 36980,
          "5": 299281
        },
        "installs": "10,000,000+",
        "price": null,
        "free": true,
        "content_rating": "Everyone",
        "categories": [
          "Productivity"
        ],
        "version": "0.6.4006",
        "updated": "Jul 15, 2026",
        "url": "https://play.google.com/store/apps/details?id=notion.id&hl=en&gl=us"
      }
    },
    "summary": {
      "reputation_index": 93.3,
      "scale": "0-100 (normalized blend of matched 5-/10-star sources)",
      "signals": [
        {
          "source": "store:apple",
          "rating": 4.78,
          "scale": 5,
          "rating_count": 88621
        },
        {
          "source": "store:google_play",
          "rating": 4.57,
          "scale": 5,
          "rating_count": 376083
        }
      ],
      "sources_matched": [
        "entity",
        "stores"
      ],
      "entity_confidence": 0.99,
      "note": "reputation_index is a transparent average of the rating sources listed in `signals`, weighted by store popularity; it is null when no rating source matched (not zero)."
    },
    "coverage_note": "Source coverage varies by product type: a consumer (B2C) app is store-rich but often thin on Trustpilot/TrustRadius; a B2B SaaS is the reverse (store-empty, TrustRadius-rich). A null field means 'not found at that source', not zero. G2 and Capterra are intentionally OUT of scope."
  }
}
Actions

What the App & SaaS Reputation API API does

ActionDescriptionConcrete use caseKey params
app_reputationname|store-URL|domain → entity-resolved app/SaaS reputation: store ratings + Trustpilot + GitHub + Product Hunt (basic) — see app_reputation_rich for the full fan-out (review samples + TrustRadius + status + news)Support teams call app_reputation to get name|store-URL|domain → entity-resolved app/SaaS reputation.query, country, stores, include, exclude, ...
app_reputation_richeverything in app_reputation + a recent store-review sample + TrustRadius B2B reviews + vendor live status/incidents + recent news mentionsReputation platforms call app_reputation_rich to get everything in app_reputation + a recent store-review sample + TrustRadius B2B reviews + vendo….query, country, stores, include, exclude, ...
batchreputation for up to 10 apps/domains in one call (basic groups, cache-first, per-item ok/error)Market researchers call batch to get reputation for up to 10 apps/domains in one call (basic groups, cache-first, per-item ok/error).queries, country, stores, include, exclude
Code samples

Call app_reputation from your stack

curl -X POST https://api.reefapi.com/enrich-app/v1/app_reputation \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"https://apps.apple.com/us/app/notion/id1232780281","include":["stores"]}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.enrich-app.app_reputation with {"query":"https://apps.apple.com/us/app/notion/id1232780281","include":["stores"]}.
Use cases

Who uses this API and why

  • Fraud tools call app_reputation to score an app before trusting it.
  • App-intelligence products resolve an app name to its store listings and developer.
  • Due-diligence workflows use batch to vet a portfolio of apps.
FAQ

Questions developers ask before integrating

What is the App & SaaS Reputation API API?

App & SaaS Reputation API API is a ReefAPI endpoint group for app & saas reputation api It returns live JSON through POST requests under /enrich-app/v1.

Is the App & SaaS Reputation API API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. App & SaaS Reputation API calls use the same shared credit balance as every other ReefAPI engine.

Do I need a App & SaaS Reputation API login or account?

No login to App & SaaS Reputation API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the App & SaaS Reputation API data?

The page example is captured from a live app_reputation call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the App & SaaS Reputation API API use?

App & SaaS Reputation API actions currently cost 4-10 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call App & SaaS Reputation API from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call enrich-app actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the App & SaaS Reputation API API a App & SaaS Reputation API scraper?

It is the managed alternative to a DIY App & SaaS Reputation API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same app & saas reputation api back as clean JSON.

Why does my App & SaaS Reputation API scraper keep getting blocked?

Most App & SaaS Reputation API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / enrich-app

App & SaaS Reputation API

App & SaaS Reputation API

base /enrich-app/v13 endpoints
post/enrich-app/v1/app_reputation5 credits

name|store-URL|domain → entity-resolved app/SaaS reputation: store ratings + Trustpilot + GitHub + Product Hunt (basic) — see app_reputation_rich for the full fan-out (review samples + TrustRadius + status + news)

ParameterAllowed / rangeDescription
queryrequiredApp name, store URL/id, OR SaaS domain. PREFER a store URL or app id (apps.apple.com/.../id1232780281 or play.google.com/store/apps/details?id=notion.id) — it resolves the EXACT app deterministically. A SaaS domain (notion.so) is next-best (anchors Trustpilot/TrustRadius/GitHub). A bare name ('Notion') triggers a search + fuzzy match with a match_confidence score and surfaces same-name rivals in entity.candidates.
country = usoptionalStore region (ISO-2) for Apple/Play ratings & reviews. Defaults to us. Use tr/jp/de/… for regional store data.
storesoptionalapple · google_playWhich app stores to query. Default: both.
includeoptionalstores · reviews_sample · trust · developer · status · news · launchRun ONLY these field groups (cost control). `entity` is always computed. Default: all groups of this action.
excludeoptionalstores · reviews_sample · trust · developer · status · news · launchDrop these field groups from this action's default set.
trustradius_slugoptionalOptional explicit TrustRadius product slug. When omitted it is derived from the brand; provide it when the brand stem differs from the TrustRadius URL slug.
Try in playground →
post/enrich-app/v1/app_reputation_rich10 credits

everything in app_reputation + a recent store-review sample + TrustRadius B2B reviews + vendor live status/incidents + recent news mentions

ParameterAllowed / rangeDescription
queryrequiredApp name, store URL/id, OR SaaS domain. PREFER a store URL or app id (apps.apple.com/.../id1232780281 or play.google.com/store/apps/details?id=notion.id) — it resolves the EXACT app deterministically. A SaaS domain (notion.so) is next-best (anchors Trustpilot/TrustRadius/GitHub). A bare name ('Notion') triggers a search + fuzzy match with a match_confidence score and surfaces same-name rivals in entity.candidates.
country = usoptionalStore region (ISO-2) for Apple/Play ratings & reviews. Defaults to us. Use tr/jp/de/… for regional store data.
storesoptionalapple · google_playWhich app stores to query. Default: both.
includeoptionalstores · reviews_sample · trust · developer · status · news · launchRun ONLY these field groups (cost control). `entity` is always computed. Default: all groups of this action.
excludeoptionalstores · reviews_sample · trust · developer · status · news · launchDrop these field groups from this action's default set.
trustradius_slugoptionalOptional explicit TrustRadius product slug. When omitted it is derived from the brand; provide it when the brand stem differs from the TrustRadius URL slug.
Try in playground →
post/enrich-app/v1/batch4 credits

reputation for up to 10 apps/domains in one call (basic groups, cache-first, per-item ok/error)

ParameterAllowed / rangeDescription
queriesrequiredUp to 10 app names / store URLs / domains (array or comma-separated). Each is enriched like app_reputation (basic groups, cache-first), with per-item ok/error.
country = usoptionalStore region (ISO-2) for Apple/Play ratings & reviews. Defaults to us. Use tr/jp/de/… for regional store data.
storesoptionalapple · google_playWhich app stores to query. Default: both.
includeoptionalstores · reviews_sample · trust · developer · status · news · launchRun ONLY these field groups (cost control). `entity` is always computed. Default: all groups of this action.
excludeoptionalstores · reviews_sample · trust · developer · status · news · launchDrop these field groups from this action's default set.
Try in playground →