Version 1.0
The VizAI Business Profile schema defines a structured format for business information optimized for AI system consumption. It balances completeness with practicality, ensuring data is both comprehensive and maintainable.
Every business profile MUST include:
{
"schemaVersion": "1.0",
"businessIdentifier": { ... },
"description": { ... },
"verification": { ... },
"metadata": { ... }
}
Core identifying information that uniquely identifies the business.
Required fields:
legalName (string) - Official registered business namecommonName (string) - Name commonly used in business (may match legalName)primaryDomain (string) - Primary website domain (e.g., “vizai.io”)Optional fields:
aliases (array of strings) - Other names the business usesidentifiers (object) - External platform identifiers
linkedin - LinkedIn company page URL or slugcrunchbase - Crunchbase profile URL or slugtwitter - Twitter/X handlegithub - GitHub organization nameExample:
{
"businessIdentifier": {
"legalName": "Acme Corporation Inc.",
"commonName": "Acme",
"aliases": ["Acme Corp"],
"primaryDomain": "acme.com",
"identifiers": {
"linkedin": "acme-corporation",
"github": "acme-corp"
}
}
}
Business descriptions at different levels of detail.
Required fields:
elevator (string, max 280 chars) - One-sentence descriptiondetailed (string) - 2-3 paragraph comprehensive descriptionOptional fields:
founding (string) - Founding story and contextyearFounded (integer) - Year business was foundedBest practices:
Example:
{
"description": {
"elevator": "Acme provides cloud-based project management software for remote teams.",
"detailed": "Acme is a B2B SaaS company that provides project management and collaboration software designed specifically for distributed teams. The platform includes task management, video conferencing, document collaboration, and time tracking features integrated into a single interface.\n\nFounded by former remote workers frustrated with existing tools, Acme focuses on asynchronous-first workflows that respect different time zones and work schedules. The company serves over 5,000 teams across 40 countries.\n\nAcme differentiates through its emphasis on async communication, deep integrations with developer tools, and transparent pricing with no user limits.",
"yearFounded": 2020,
"founding": "Founded in 2020 by three remote workers who experienced the challenges of coordinating across time zones firsthand."
}
}
Products, services, and target customers.
Fields:
primary (array) - List of primary offerings
name (string) - Product/service namedescription (string) - What it doestargetCustomers (string) - Description of ideal customer profileExample:
{
"offerings": {
"primary": [
{
"name": "Acme Workspace",
"description": "All-in-one collaboration platform for remote teams"
},
{
"name": "Acme API",
"description": "Developer API for custom integrations"
}
],
"targetCustomers": "Technology companies and digital agencies with 10-500 employees working remotely or in hybrid arrangements"
}
}
Business location information.
Required fields (if location provided):
headquarters (object)
city (string)country (string)Optional fields:
headquarters.stateProvince (string)additionalLocations (array) - Other offices or locationsExample:
{
"location": {
"headquarters": {
"city": "Toronto",
"stateProvince": "Ontario",
"country": "Canada"
},
"additionalLocations": [
{
"city": "New York",
"stateProvince": "New York",
"country": "United States",
"type": "office"
}
]
}
}
Contact information for the business.
Fields:
email (string, email format) - General contact emailphone (string) - Main phone numberKey leadership and organizational information.
Fields:
ceo (string) - Current CEO namefounders (array of strings) - Founder nameskeyExecutives (array) - Other key executives
name (string)title (string)Metadata about verification status and data quality.
Required fields:
status (enum) - Verification status
verified - Completed VizAI verificationcommunity - Community-submittedpending - Verification in progresstier (enum) - Service tier
verified - Paid verified tiercommunity - Free community tierenterprise - Enterprise tierlastVerified (string, date) - Date of last verification (YYYY-MM-DD)Optional fields:
method (enum) - Verification method used
domain-ownershipemail-verificationmanual-reviewself-reportedverificationUrl (string, URI) - URL showing proof of verificationqualityScore (integer, 0-100) - Data quality scoreExample:
{
"verification": {
"status": "verified",
"tier": "verified",
"method": "domain-ownership",
"lastVerified": "2025-01-06",
"verificationUrl": "https://vizai.io/verify/acme-2025",
"qualityScore": 95
}
}
Attribution for information in the profile.
Required fields (if sources provided):
type (enum) - Source type
official-websitepress-releaselinkedinnews-articlecrunchbaseotherurl (string, URI) - Source URLaccessed (string, date) - Date accessed (YYYY-MM-DD)Optional fields:
description (string) - What information came from this sourceExample:
{
"sources": [
{
"type": "official-website",
"url": "https://acme.com/about",
"accessed": "2025-01-06",
"description": "Company description and founding story"
},
{
"type": "crunchbase",
"url": "https://www.crunchbase.com/organization/acme",
"accessed": "2025-01-06",
"description": "Funding and leadership information"
}
]
}
Registry-specific metadata.
Required fields:
dateAdded (string, date) - Date added to registry (YYYY-MM-DD)lastUpdated (string, date) - Date of last update (YYYY-MM-DD)Optional fields:
submittedBy (string) - Who submitted the entrynotes (string) - Internal notes or contextExample:
{
"metadata": {
"dateAdded": "2025-01-06",
"lastUpdated": "2025-01-06",
"submittedBy": "VizAI Team",
"notes": "Initial verified entry"
}
}
See examples/technology-company.json for a complete example.
All profiles must validate against the JSON Schema before being accepted into the registry.
Use our validation tool:
python tools/validation/validate-profile.py your-profile.json
schema/examples/