---
title: "Recommendation Survival — the business-adaptive generalization of Local Decision Survival: whether a business survives as the AI recommendation across a simulated buyer journey shaped by its Business Profile (near-me for local, \"best {product} for {job}\" for products, vs-alternatives for online/B2B), decomposed per offering — with the verbatim AI reply at each step, competitor mentions, cited sources, and the drop-out point, plus the survival rate (95% Wilson), stage-survival curve, offramp concentration, and top displacers. Deterministic zero-LLM read."
method: GET
path: "/entities/{entityId}/recommendation-survival"
tags: ["Layer 1 — Profile"]
---

# Recommendation Survival — the business-adaptive generalization of Local Decision Survival: whether a business survives as the AI recommendation across a simulated buyer journey shaped by its Business Profile (near-me for local, "best {product} for {job}" for products, vs-alternatives for online/B2B), decomposed per offering — with the verbatim AI reply at each step, competitor mentions, cited sources, and the drop-out point, plus the survival rate (95% Wilson), stage-survival curve, offramp concentration, and top displacers. Deterministic zero-LLM read.

`GET /entities/{entityId}/recommendation-survival`

## Request

- Base URL: `https://entidex.com/api/v1`
- URL: `https://entidex.com/api/v1/entities/{entityId}/recommendation-survival`
- Auth: HTTP bearer

## Path parameters

- `entityId` string, required

## Response `200`

Recommendation Survival, or { available: false } for unmeasured entities.

- union
  - RecommendationSurvival: Business-adaptive Recommendation Survival: whether a business survives as the AI recommendation across a simulated buyer journey shaped by its Business Profile, decomposed per offering, with per-step AI replies, competitor mentions, cited sources, and the drop-out point.
    - `entityId` string, required
    - `available` true, required
    - `business` string, required
    - `model` 'local_service' | 'product' | 'online_service' | 'b2b_saas' | 'marketplace' | 'content_creator' | 'other', required
    - `category` string, required
    - `locality` string, nullable, required
    - `survivalRatePct` number, nullable, required
    - `wilsonLowPct` number, nullable, required
    - `wilsonHighPct` number, nullable, required
    - `sampleJourneys` integer, required
    - `measuring` boolean, required
    - `stageSurvival` LocalSurvivalStagePoint[], required
      - `turn` string, required
      - `role` string, required
      - `presentPct` number, nullable, required
      - `sample` integer, required
    - `offrampConcentration` LocalSurvivalOfframp[], required
      - `label` string, required: Plain-English constraint label (which follow-up dropped the focal).
      - `count` integer, required
      - `sharePct` number, required
    - `topDisplacers` LocalSurvivalDisplacer[], required
      - `name` string, required
      - `href` string, nullable, required
      - `count` integer, required
    - `offerings` OfferingSurvival[], required
      - `offering` object, required
        - `id` string, required
        - `name` string, required
        - `useCase` string, nullable, required
      - `survivalRatePct` number, nullable, required
      - `wilsonLowPct` number, nullable, required
      - `wilsonHighPct` number, nullable, required
      - `sampleJourneys` integer, required
      - `measuring` boolean, required
      - `stageSurvival` LocalSurvivalStagePoint[], required
        - `turn` string, required
        - `role` string, required
        - `presentPct` number, nullable, required
        - `sample` integer, required
      - `offrampConcentration` LocalSurvivalOfframp[], required
        - `label` string, required: Plain-English constraint label (which follow-up dropped the focal).
        - `count` integer, required
        - `sharePct` number, required
      - `topDisplacers` LocalSurvivalDisplacer[], required
        - `name` string, required
        - `href` string, nullable, required
        - `count` integer, required
      - `journeys` LocalSurvivalJourney[], required
        - `path` 'urgency' | 'quality', required
        - `outcome` 'survived' | 'eliminated' | 'never_surfaced' | 'measuring', required
        - `survived` boolean, required
        - `firstDropTurn` string, nullable, required
        - `offrampConstraint` string, nullable, required: The plain-English constraint that dropped the focal.
        - `neverSurfaced` boolean, required
        - `displacer` string, nullable, required: The business that took the slot the focal lost.
        - `turns` LocalSurvivalTurn[], required
          - `turn` string, required
          - `role` 'open' | 'constrain' | 'constrain_2' | 'force_pick', required
          - `query` string, required: The simulated buyer’s search at this step (a plain query, never an instruction).
          - `answered` boolean, required
          - `named` boolean, required: The focal business is named in Google's AI answer at this step.
          - `rank` integer, nullable, required
          - `totalNamed` integer, required
          - `replyExcerpt` string, required: Verbatim excerpt of Google's AI answer for this step — the evidence.
          - `droppedHere` boolean, required: true when this is the step where the focal dropped out.
          - `citations` LocalSurvivalCitation[], required
            - `source` string, nullable, required
            - `domain` string, nullable, required
            - `url` string, nullable, required
            - `title` string, nullable, required
          - `competitors` LocalSurvivalCompetitor[], required
            - `name` string, required
            - `rank` integer, required
            - `leader` boolean, required: true when this business held slot 1 (the one Google's AI led with).
            - `href` string, nullable, required: Entity page href when tracked, else null.
    - `collectedAt` string, date-time, required
    - `computationVersion` string, required
    - `methodology` string, required
    - `provenance` object, required
      - `issuer` string, required
      - `methodologyUrl` string, uri, required
      - `note` string, required
  - RecommendationSurvivalUnavailable
    - `entityId` string, required
    - `available` false, required
    - `reason` 'disabled' | 'no_signal_yet', required

## Other responses

- `404`: Entity or resource not found.

---

[API](https://skmtc.dev/entidex/apis/entidex-api.md) · [All operations](https://skmtc.dev/entidex/apis/entidex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/entidex/apis/entidex-api/revisions/86b92f21a09a?raw)
