---
title: "Search and AI readiness report"
method: GET
path: "/api/v1/search-ai-readiness"
---

# Search and AI readiness report

`GET /api/v1/search-ai-readiness`

## Request

- Base URL: `https://streetproof.com`
- URL: `https://streetproof.com/api/v1/search-ai-readiness`
- Auth: none required

Machine-readable status for search engines, AI platforms, agent frameworks and data partners: llms.txt, sitemap, OpenAPI, MCP, licenses, attribution examples, data freshness, coverage-confidence semantics and known limitations.

## Response `200`

Search and AI readiness report.

- SearchAiReadinessReport
  - `schema` 'com.streetproof.search_ai_readiness.v1'
  - `generated_at` string, date-time
  - `status` 'public_beta' | 'active'
  - `canonical_url` string, uri
  - `machine_json_url` string, uri
  - `summary` object
    - `metrics_available` boolean
    - `metrics_status` 'current' | 'stale' | 'unavailable'
    - `public_entities` integer, nullable
    - `public_observations` integer, nullable
    - `public_assets` integer, nullable
    - `cities_with_production_evidence` integer, nullable
    - `synthetic_entities` integer, nullable
    - `latest_public_observation_at` string, date-time, nullable
    - `coverage_is_city_specific` true
    - `city_distribution` object, nullable
      - `unlaunched` integer
      - `seed` integer
      - `building` integer
      - `dense` integer
    - `freshness_distribution` object, nullable
      - `current` integer
      - `aging` integer
      - `stale` integer
  - `surfaces` object[]
    - `key` string
    - `label` string
    - `status` 'published' | 'active' | 'queued' | 'public_beta' | 'limited'
    - `url` string
    - `format` string
    - `purpose` string
  - `access_policy` object
  - `freshness` object
  - `usage_visibility` object
  - `machine_activity` MachineActivityReport
    - `schema` 'com.streetproof.machine_activity.v2'
    - `generated_at` string, date-time
    - `window_start` string, date-time
    - `window_end` string, date-time
    - `window_days` integer
    - `raw_event_retention_days` 90
    - `aggregate_retention` 'indefinite'
    - `counts` object
      - `external_requests` integer
      - `excluded_internal_requests` integer
      - `external_daily_client_instances` integer: Distinct daily-rotating client instances. This is not a count of companies or stable clients.
      - `attributed_recurring_clients` integer: Stable attributed clients observed on at least two calendar days in the reporting window.
      - `transport` object: Mutually exclusive transport buckets that sum to external_requests.
        - `rest_requests` integer
        - `mcp_requests` integer
        - `other_machine_requests` integer
      - `client_class` object: Mutually exclusive client classes that sum to external_requests.
        - `search_crawler_requests` integer
        - `ai_crawler_requests` integer
        - `authenticated_partner_requests` integer
        - `anonymous_or_unattributed_requests` integer
        - `other_client_requests` integer
      - `response_status` object: Mutually exclusive status buckets that sum to external_requests.
        - `status_2xx` integer
        - `status_3xx` integer
        - `status_4xx` integer
        - `status_5xx` integer
        - `unclassified` integer
      - `timeout_requests` integer
      - `schema_validation_failures` integer
      - `rate_limited_requests` integer
    - `latest_external_request_at` string, date-time, nullable
    - `week_over_week` object
    - `traffic_classes` object[]
    - `attribution_confidence` object[]
      - `confidence` 'verified_provider' | 'known_user_agent' | 'self_declared' | 'unknown'
      - `requests` integer
    - `top_endpoints` object[]
      - `endpoint` string
      - `requests` integer
      - `p50_latency_ms` number, nullable
      - `p95_latency_ms` number, nullable
    - `top_mcp_tools` object[]
      - `tool` string
      - `requests` integer
      - `p50_latency_ms` number, nullable
      - `p95_latency_ms` number, nullable
    - `most_queried_cities` object[]
    - `most_queried_entities` object[]
    - `daily` object[]
    - `note` string
    - `methodology_url` string, uri
    - `data_as_of` string, date-time: Server-authoritative timestamp.
    - `metric_snapshot` MetricSnapshot
      - `snapshot_id` string, uuid, nullable, required
      - `scope` 'live_ledger', required
      - `data_as_of` string, date-time, required
      - `calculated_at` string, date-time, required
      - `snapshot_type` 'live_ledger', required
      - `metric_scope` 'multi_scope_snapshot', required: This receipt contains metrics from multiple explicitly named scopes; inspect scopes and scope_definitions before using a field.
      - `includes_synthetic` true, required: At least one field in this multi-scope receipt can include labeled synthetic demonstration data. Production-only fields remain identified by their scope.
      - `methodology_version` 'public-metrics-v3', required
      - `scopes` string[], required
      - `scope_definitions` object, required
        - `production_non_synthetic` 'Accepted public physical citations and related counts with synthetic records excluded.', required
        - `public_including_synthetic` 'All public observations, including clearly labeled synthetic demonstration records.', required
        - `ledger_all_rows` 'All ledger rows, including provisional, redacted, rejected, and non-public records.', required
    - `coverage_snapshot` CoverageSnapshot
      - `snapshot_id` string, uuid, nullable, required
      - `scope` 'coverage_snapshot', required
      - `data_as_of` string, date-time, nullable, required
      - `calculated_at` string, date-time, nullable, required
      - `snapshot_type` 'coverage_snapshot', required
      - `metric_scope` 'production_non_synthetic', required
      - `includes_synthetic` false, required
      - `methodology_version` string, nullable, required
      - `evaluated_city_count` integer, required
      - `city_catalog_count` integer, required
      - `cities_with_evidence` integer, required
      - `coverage_tiers` object, required
        - `seed` integer, required
        - `building` integer, required
        - `dense` integer, required
        - `pending_calculation` integer, required
    - `evidence_claim_boundary` EvidenceClaimBoundary
      - `schema` 'com.streetproof.evidence_claim_boundary.v1', required
      - `contract_version` string, required
      - `positive_result` object, required
        - `summary` string, required
        - `presence_kinds` object, required
          - `location_presence` string, required
          - `mobile_presence` string, required
          - `brand_mention` string, required
      - `no_result` object, required
        - `meaning` string, required
        - `limitation` string, required
      - `what_this_proves` string[], required
      - `what_this_does_not_prove` string[], required
    - `coverage_confidence` CoverageConfidence: Versioned per-city dataset maturity. Coverage never changes the evidence standard for an individual citation. A missing record never proves a business is not operating.
      - `level` 'none' | 'low' | 'medium' | 'high'
      - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
      - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
      - `observed_cells` integer
      - `methodology_version` string
      - `calculated_at` string, date-time, nullable
      - `limitations` string
      - `note` string
    - `coverage_context` CoverageContext: Versioned city dataset maturity and freshness. It does not change individual-citation evidence requirements, and a missing record never proves absence.
      - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
      - `label` string
      - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
      - `confidence` 'none' | 'low' | 'medium' | 'high'
      - `tier_since` string, date, nullable
      - `calculated_at` string, date-time, nullable
      - `methodology_version` string
      - `limitations` string
      - `metrics` object
  - `limitations` string[]
  - `recommended_citations` object
  - `methodology_url` string, uri
  - `data_as_of` string, date-time: Server-authoritative timestamp.
  - `metric_snapshot` MetricSnapshot
    - `snapshot_id` string, uuid, nullable, required
    - `scope` 'live_ledger', required
    - `data_as_of` string, date-time, required
    - `calculated_at` string, date-time, required
    - `snapshot_type` 'live_ledger', required
    - `metric_scope` 'multi_scope_snapshot', required: This receipt contains metrics from multiple explicitly named scopes; inspect scopes and scope_definitions before using a field.
    - `includes_synthetic` true, required: At least one field in this multi-scope receipt can include labeled synthetic demonstration data. Production-only fields remain identified by their scope.
    - `methodology_version` 'public-metrics-v3', required
    - `scopes` string[], required
    - `scope_definitions` object, required
      - `production_non_synthetic` 'Accepted public physical citations and related counts with synthetic records excluded.', required
      - `public_including_synthetic` 'All public observations, including clearly labeled synthetic demonstration records.', required
      - `ledger_all_rows` 'All ledger rows, including provisional, redacted, rejected, and non-public records.', required
  - `coverage_snapshot` CoverageSnapshot
    - `snapshot_id` string, uuid, nullable, required
    - `scope` 'coverage_snapshot', required
    - `data_as_of` string, date-time, nullable, required
    - `calculated_at` string, date-time, nullable, required
    - `snapshot_type` 'coverage_snapshot', required
    - `metric_scope` 'production_non_synthetic', required
    - `includes_synthetic` false, required
    - `methodology_version` string, nullable, required
    - `evaluated_city_count` integer, required
    - `city_catalog_count` integer, required
    - `cities_with_evidence` integer, required
    - `coverage_tiers` object, required
      - `seed` integer, required
      - `building` integer, required
      - `dense` integer, required
      - `pending_calculation` integer, required
  - `evidence_claim_boundary` EvidenceClaimBoundary
    - `schema` 'com.streetproof.evidence_claim_boundary.v1', required
    - `contract_version` string, required
    - `positive_result` object, required
      - `summary` string, required
      - `presence_kinds` object, required
        - `location_presence` string, required
        - `mobile_presence` string, required
        - `brand_mention` string, required
    - `no_result` object, required
      - `meaning` string, required
      - `limitation` string, required
    - `what_this_proves` string[], required
    - `what_this_does_not_prove` string[], required
  - `coverage_confidence` CoverageConfidence: Versioned per-city dataset maturity. Coverage never changes the evidence standard for an individual citation. A missing record never proves a business is not operating.
    - `level` 'none' | 'low' | 'medium' | 'high'
    - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
    - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
    - `observed_cells` integer
    - `methodology_version` string
    - `calculated_at` string, date-time, nullable
    - `limitations` string
    - `note` string
  - `coverage_context` CoverageContext: Versioned city dataset maturity and freshness. It does not change individual-citation evidence requirements, and a missing record never proves absence.
    - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
    - `label` string
    - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
    - `confidence` 'none' | 'low' | 'medium' | 'high'
    - `tier_since` string, date, nullable
    - `calculated_at` string, date-time, nullable
    - `methodology_version` string
    - `limitations` string
    - `metrics` object

---

[API](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api.md) · [All operations](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api/llms.txt) · [OpenAPI document](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api/revisions/81072718cfa2?raw)
