business-registry

VizAI Business Registry

A public registry of structured, source-backed business discovery profiles

The VizAI Business Registry helps AI systems, crawlers, and answer engines identify businesses, understand what they offer, and assess how each public profile was verified.

Publication containment is active. New and changed business profiles are prepared through private intake, validated automatically, and published only after human approval. See Publication Containment.

Public and Private Boundary

This repository is the public discovery layer. It contains only information approved for public release.

Private intake material must never be posted in a GitHub issue or pull request.

Canonical Profile Model

Each published business lives at registry/<entity-slug>/profile.json and uses the entity-profile-v1.0 shape.

Field Description
schemaVersion Public profile schema version
entitySlug Stable registry identifier
businessIdentifier Legal name, common name, and primary domain
category Primary discovery category
verification Public status, method, canon version, and date
profile Approved public facts, locations, services, industries, and claims
metadata Publication and update dates

The complete contract is in schema/entity-profile-v1.0.schema.json.

Usage

import json
import requests

# Fetch all profiles as JSON Lines.
url = "https://raw.githubusercontent.com/vizai-io/business-registry/main/index/businesses.jsonl"
response = requests.get(url, timeout=30)
for line in response.text.strip().splitlines():
    profile = json.loads(line)
    business = profile["businessIdentifier"]
    print(business["commonName"], business["primaryDomain"])

# Fast domain lookup.
url = "https://raw.githubusercontent.com/vizai-io/business-registry/main/index/by-domain.json"
by_domain = requests.get(url, timeout=30).json()
vizai = by_domain.get("vizai.io")

Directory Structure

registry/
  <entity-slug>/
    profile.json

index/
  businesses.jsonl
  by-domain.json
  by-location.json
  by-industry.json
  by-service.json
  by-status.json

schema/
  entity-profile-v1.0.schema.json

tools/
  build_indexes.py
  validation/
    validate-entity-profile.py
    check-registry-duplicates.py

The registry/ directory is the source of truth. Files in index/ are generated by python tools/build_indexes.py and must not be edited by hand.

Verification Status

Profiles use explicit public statuses such as:

Status Meaning
claimed_verified The business approved its canonical public profile
unclaimed_observed Public-source profile not yet claimed by the business
verification_pending Verification is in progress and publication is approved
disputed A material factual dispute is under review

Verification metadata describes the basis for confidence; it is not a substitute for source review.

Adding or Updating a Business

Business submissions and verification material go through the private VizAI onboarding form. VizAI prepares the public artifact and opens the controlled publication pull request.

GitHub issues are only for non-sensitive factual corrections supported by public, authoritative source links. Do not include private contact information, authorization evidence, credentials, order details, or unpublished material.

See CONTRIBUTING.md for the contribution workflow.

Current Registry

License

CC BY 4.0 - Creative Commons Attribution 4.0

Contact


VizAI - Helping businesses control how AI describes them