{
  "service": "Agent Outposts",
  "logging": "Intent registrations are logged in aggregate (brand, intent, result counts, hashed caller id) for demand statistics. No raw IP addresses are stored; free-text fields are stored only as provided.",
  "disclaimer": "Agent Outposts is not affiliated with CVS. This Outpost is a demand registry operated by Agent Outposts; door-state data is compiled from public sources (evidence linked per claim) and is not provided, reviewed, or endorsed by CVS.",
  "outpost": "cvs",
  "brand": "CVS",
  "category": "Pharmacy",
  "status": "collecting_demand",
  "headline": "CVS is partner-gated for prescription APIs (approval + possible BAA), aggregator-only for retail browse/prices via Instacart/Shipt, human-only for tracking - but it does publish a real /llms.txt.",
  "wall_summary": "CVS splits by aisle: retail browse and prices are aggregator-only through Instacart and Shipt (also DoorDash for non-prescription items), because its Developer Portal lists only healthcare APIs, not a front-store catalog. Prescription availability and ordering sit behind the partner-gated Retail Pharmacy API — a select developer group needing CVS prior written approval and possibly a Business Associate Agreement — and tracking is human-only in the CVS.com and CVS Health app account.",
  "door_state_version": "census-2026-11-01",
  "door_state": {
    "inventory": {
      "state": "partner_gated",
      "via": "CVS Health Developer Portal - Retail Pharmacy API",
      "evidence_url": "https://developer.cvshealth.com/",
      "checked_at": "2026-11-01",
      "note": "Portal states Retail Pharmacy API enables guest users to check prescription refill/renewal eligibility, confirm availability at nearby locations, and place a prescription order - that is Rx availability, partner-gated. Retail front-store inventory is effectively shown via aggregators, not a direct API. Portal home says 'Request a CVS Developer Account / Request access to view our API Products', not self-serve open access."
    },
    "menu_browse": {
      "state": "aggregator_only",
      "via": "Instacart and Shipt (also DoorDash for non-prescription items)",
      "evidence_url": "https://www.cvs.com/extracare/overview?cid=sm_pnw#pharmacyrewards",
      "checked_at": "2026-11-01",
      "note": "CVS official ExtraCare page confirms qualifying CVS purchases made on Instacart and Shipt. No retail product-catalog API found: CVS Developer Portal (developer.cvshealth.com) lists only healthcare APIs - Retail Pharmacy (Rx), PBM, MinuteClinic, Pharmacy Immunization - not a front-store catalog. Retail browse is via aggregator storefronts; prescription services are not browsable as a catalog."
    },
    "ordering": {
      "state": "partner_gated",
      "via": "CVS Health Developer Portal - Retail Pharmacy API (prescriptions); Instacart/Shipt for retail delivery",
      "evidence_url": "https://developer.cvshealth.com/api-program-terms-and-conditions",
      "checked_at": "2026-11-01",
      "note": "Prescription ordering is programmatic but gated: Retail API Program Terms say API Program is for a 'select group of developers', use requires CVS prior written Approval (sec 2.3), credentials issued by CVS, and a Business Associate Agreement may be required for PHI/HIPAA. Retail (non-Rx) ordering has no direct API; it runs via CVS.com/app human checkout or aggregators."
    },
    "prices": {
      "state": "aggregator_only",
      "via": "Instacart and Shipt",
      "evidence_url": "https://www.cvs.com/extracare/overview?cid=sm_pnw#pharmacyrewards",
      "checked_at": "2026-11-01",
      "note": "Retail prices are visible on Instacart/Shipt CVS storefronts (official CVS page confirms purchases there). No direct public price API in the CVS Developer Portal categories checked 2026-11-01. Prescription drug-cost tools are member/human channels (Caremark) or partner PBM APIs, not a self-serve retail price API - ambiguous, so retail price door scored aggregator_only."
    },
    "tracking": {
      "state": "human_only",
      "via": "CVS.com / CVS Health app account (Prescription Management, email/text alerts)",
      "evidence_url": "https://developer.cvshealth.com/",
      "checked_at": "2026-11-01",
      "note": "Checked developer portal categories and agent-native surfaces on 2026-11-01: no order-status/tracking API listed among Retail Pharmacy, PBM, MinuteClinic or Immunization APIs, and /.well-known/api-catalog returned 404. Order/Rx status is only in signed-in CVS.com/app and shipping-confirmation email/text links. Aggregator delivery orders can be tracked in the aggregator app, but that is not a CVS door for CVS.com/Rx orders."
    }
  },
  "official_channels": [
    {
      "name": "Instacart marketplace",
      "kind": "aggregator",
      "covers": [
        "menu_browse",
        "prices",
        "inventory",
        "ordering"
      ],
      "gate": "CVS's official ExtraCare page confirms qualifying CVS purchases made on Instacart; retail prices and front-store inventory are shown on the Instacart CVS storefront, with no direct CVS retail API.",
      "evidence_url": "https://www.cvs.com/extracare/overview?cid=sm_pnw#pharmacyrewards"
    },
    {
      "name": "Shipt marketplace",
      "kind": "aggregator",
      "covers": [
        "menu_browse",
        "prices",
        "ordering"
      ],
      "gate": "CVS's official ExtraCare page confirms qualifying CVS purchases made on Shipt; retail prices are visible on the Shipt CVS storefront.",
      "evidence_url": "https://www.cvs.com/extracare/overview?cid=sm_pnw#pharmacyrewards"
    },
    {
      "name": "DoorDash marketplace",
      "kind": "aggregator",
      "covers": [
        "menu_browse",
        "ordering"
      ],
      "gate": "Listed in the census as an aggregator route for non-prescription CVS items only.",
      "evidence_url": "https://www.cvs.com/extracare/overview?cid=sm_pnw#pharmacyrewards"
    },
    {
      "name": "CVS Health Developer Portal - Retail Pharmacy API",
      "kind": "partner_program",
      "covers": [
        "inventory",
        "ordering"
      ],
      "gate": "Access is by requesting a CVS Developer Account and access to API products, not self-serve: the program is for a select group of developers, use requires CVS prior written approval and issued credentials, and a Business Associate Agreement may be required for PHI/HIPAA.",
      "evidence_url": "https://developer.cvshealth.com/"
    },
    {
      "name": "CVS.com / CVS Health app",
      "kind": "human_channel",
      "covers": [
        "tracking"
      ],
      "gate": "Human signed-in account channels only, with prescription management and email/text alerts; no order-status or tracking API is listed in the developer portal.",
      "evidence_url": "https://developer.cvshealth.com/"
    }
  ],
  "agent_native": {
    "mcp_server": false,
    "llms_txt": true,
    "api_catalog": false
  },
  "bot_posture": {
    "summary": "AI crawlers restricted narrowly, transactional paths blocked for all: GPTBot, ClaudeBot, CCBot, ChatGPT-User, anthropic-ai, Google-Extended and cohere-ai are Disallowed only /druginfo; User-agent * is Disallowed /search/, /account/, /pharmacy/-/guest/ and many /shop/ paths in robots.txt",
    "evidence_url": "https://www.cvs.com/robots.txt"
  },
  "alternatives": {
    "menu_browse": {
      "count": 1,
      "access": "register_intent"
    },
    "prices": {
      "count": 0,
      "access": "register_intent"
    },
    "inventory": {
      "count": 1,
      "access": "register_intent"
    },
    "ordering": {
      "count": 1,
      "access": "register_intent"
    },
    "tracking": {
      "count": 0,
      "access": "register_intent"
    }
  },
  "alternatives_policy": "Ranked by fit only. Placement is never sold.",
  "register_intent": {
    "method": "POST",
    "url": "https://api.agentoutposts.com/outposts/cvs/intent",
    "body": {
      "intent": "one of: menu_browse | prices | inventory | ordering | tracking",
      "detail": "optional context for the brand (max 500 chars), e.g. the task you were trying to complete. Never include personal data — no names, addresses, or order details.",
      "agent_label": "optional self-declared agent name (max 80 chars). Never put personal data in this field.",
      "est_frequency": "optional, e.g. '40/day'",
      "notify": "'poll' (default) or 'webhook'",
      "notify_url": "required when notify = 'webhook'"
    },
    "returns": "A receipt: ticket, queue position, live demand snapshot, alternatives for your intent, and (poll mode) a notify URL that reports door-state changes.",
    "limits": "100 intent registrations per caller per day"
  }
}