---
title: "Snapshot-bound, paginated StreetProof PBI city records"
method: GET
path: "/api/v1/city/{city}/index"
---

# Snapshot-bound, paginated StreetProof PBI city records

`GET /api/v1/city/{city}/index`

## Request

- Base URL: `https://streetproof.com`
- URL: `https://streetproof.com/api/v1/city/{city}/index`
- Auth: none required

## Path parameters

- `city` string, required

## Query parameters

- `industry` string
- `ranking_state` 'eligible' | 'insufficient_evidence' | 'frozen'
- `claim_status` 'claimed' | 'unclaimed'
- `limit` integer
- `cursor` string

## Response `200`

One stable page from a 30-minute immutable snapshot. Only aggregate statistics expressly marked open are CC BY 4.0; entity records and PPS remain governed by the StreetProof Terms.

- object
  - `city` object
    - `slug` string
    - `name` string
    - `region` string, nullable
    - `region_code` string, nullable
    - `country` string: ISO 3166-1 alpha-2 country code.
    - `country_name` string
    - `geoname_id` integer, nullable
    - `display_label` string
    - `publication_status` 'published' | 'unpublished'
    - `collection_status` 'active' | 'onboarding' | 'blocked' | 'not_started'
    - `public_index_url` string, nullable
    - `launched` boolean: Compatibility alias for publication_status=published.
  - `launch_status` 'launched' | 'collecting' | 'planned'
  - `coverage_status_deprecated` true
  - `coverage_status` 'active' | 'collecting' | 'planned'
  - `coverage_message` string
  - `demand` object, nullable
  - `data_available` boolean
  - `industry` string, nullable
  - `ranking_state` 'eligible' | 'insufficient_evidence' | 'frozen' | 'null', nullable
  - `claim_status` 'claimed' | 'unclaimed' | 'null', nullable
  - `license` string
  - `returned_count` integer
  - `total_count` integer
  - `count` integer: Compatibility alias for returned_count.
  - `has_more` boolean
  - `next_cursor` string, nullable
  - `snapshot_id` string, uuid, nullable
  - `ranking_summary` RankingSummary
    - `eligible` integer, required
    - `evidence_building` integer, required
    - `integrity_review` integer, required
  - `rankings` object[]
    - `record_type` 'presence_record', required: A city-specific evidence record. It is not itself a legal organization or a global brand identity.
    - `identity_hierarchy` ReviewedIdentityHierarchy, required: Only manually reviewed identity relationships are published. An unreviewed value means StreetProof has not published a relationship; it does not prove that no relationship exists.
      - `review_state` 'reviewed' | 'unreviewed', required
      - `scope` ReviewedEntityScope, required
        - `value` 'local_independent' | 'local_franchise' | 'regional' | 'national' | 'multinational' | 'public_institution' | 'unknown', required
        - `review_state` 'reviewed' | 'unreviewed', required
        - `methodology_version` 'entity-scope-v2', required
      - `brand` ReviewedBrandIdentity, required
        - `public_id` string, required
        - `name` string, required
        - `canonical_domain` string, nullable, required
      - `organizations` ReviewedOrganizationRelationship[], required
        - `relationship_type` 'operating_organization' | 'parent_organization' | 'franchise_system', required
        - `public_id` string, required
        - `name` string, required
        - `organization_type` 'company' | 'public_institution' | 'nonprofit' | 'other', required
        - `canonical_domain` string, nullable, required
      - `organization_brand_relationships` ReviewedOrganizationBrandRelationship[]
        - `organization_public_id` string, required
        - `brand_public_id` string, required
        - `relationship_type` 'owns' | 'operates' | 'licenses', required
      - `organization_parent_relationships` ReviewedOrganizationParentRelationship[]
        - `parent_organization_public_id` string, required
        - `child_organization_public_id` string, required
        - `relationship_type` 'parent' | 'subsidiary' | 'operating_group', required
      - `locations` ReviewedOperatingLocation[]
        - `public_id` string, required
        - `name` string, required
        - `city_name` string, nullable, required
        - `organization_public_id` string, nullable, required
        - `brand_public_id` string, nullable, required
        - `official_url` string, uri, nullable, required
      - `note` string, required
    - `public_id` string
    - `name` string
    - `city` string, nullable
    - `industry` string, nullable
    - `record_status` 'active' | 'dissolved': Lifecycle state of the public Presence Record.
    - `identity_status` 'unclaimed' | 'claimed' | 'identity_verified': Whether a claimant has proved control of the business identity. This is independent of observation verification.
    - `status` 'unclaimed' | 'claimed' | 'verified' | 'dissolved': Deprecated 2026-07-29; remove after 2026-10-27. Use record_status and identity_status.
    - `is_synthetic` boolean: true = public-beta demonstration data
    - `pps` number, nullable
    - `provisional_pps` number, nullable: 0-100 visibility score shown before independent rank eligibility
    - `score_state` 'official' | 'provisional' | 'pending'
    - `ranking_state` 'insufficient_evidence' | 'eligible' | 'frozen'
    - `ranking_reason` string, nullable
    - `independent_observer_count` integer
    - `independent_observation_count` integer
    - `observation_day_count` integer
    - `ranking_gate` RankingGate
      - `status` 'eligible' | 'evidence_building' | 'integrity_review', required
      - `methodology_version` '2026-07-30.v3', required
      - `independent_observers` RankingGateProgress, required
        - `current` integer, required
        - `required` integer, required
        - `met` boolean, required
      - `countable_observations` RankingGateProgress, required
        - `current` integer, required
        - `required` integer, required
        - `met` boolean, required
      - `observation_days` RankingGateProgress, required
        - `current` integer, required
        - `required` integer, required
        - `met` boolean, required
      - `industry_classification` object, required
        - `industry` string, nullable, required
        - `state` string, nullable, required
        - `method` string, nullable, required
        - `authoritative_for_ranking` boolean, required
      - `missing_requirements` string[], required
    - `first_observed` string, date-time, nullable
    - `last_observed` string, date-time, nullable
    - `record_url` string, uri
    - `identifiers` EntityIdentifiers
      - `organizationId` string, nullable, required
      - `brandId` string, nullable, required
      - `presenceRecordId` string, required
      - `locationId` string, nullable, required
      - `assetId` string, nullable, required
      - `parentOrganizationId` string, nullable, required
      - `franchiseSystemId` string, nullable, required
      - `operatingEntityId` string, nullable, required
    - `classification` EntityClassification
      - `industryCode` string, nullable, required
      - `industryLabel` string, nullable, required
      - `classificationStatus` 'unclassified' | 'suggested' | 'reviewed' | 'approved' | 'rejected', required
      - `classificationConfidence` number, nullable, required
      - `classificationSource` 'model' | 'registry' | 'website' | 'owner' | 'human_review' | 'merged' | 'null', nullable, required
      - `classificationModelVersion` string, nullable, required
      - `classifiedAt` string, date-time, nullable, required
      - `classifiedBy` string, nullable, required
      - `entityScope` 'local_independent' | 'local_franchise' | 'regional' | 'national' | 'multinational' | 'public_institution' | 'unknown', required
      - `entityScopeConfidence` number, nullable, required
      - `entityScopeStatus` 'suggested' | 'reviewed' | 'approved' | 'unknown', required
      - `entityScopeReason` string, nullable, required
    - `rank` integer, nullable
    - `rank_tie_policy` 'dense_rank_on_full_precision_pps'
  - `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

## Other responses

- `400`: Invalid parameter.
- `404`: Resource not found (or entity opted out).
- `409`: The snapshot was invalidated by a privacy/visibility change or the cursor filters do not match. Restart pagination.
- `410`: The snapshot or cursor expired. Restart pagination.
- `503`: City index snapshot service temporarily unavailable.

---

[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)
