TexasRatedPros Rankings
Texas service-company rankings, profiles, comparisons, score breakdowns, and methodology.
Should I use this
Quality & Safety
Findings (2)
- LOWin list_categories
- LOWin get_score_breakdown
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"rankings": {
"url": "https://www.texasratedpros.com/api/mcp"
}
}
}Remote endpoints
https://www.texasratedpros.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢list_metros
The metropolitan areas with published rankings, and which service categories each one covers. Call this first to learn the slugs the other tools expect.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"metros": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"slug",
"name",
"region",
"categories"
],
"additionalProperties": false
}
}
},
"required": [
"metros"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_categories
Every service category the site ranks, with a note on what Texas does and does not license for that trade.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"vertical": {
"type": "string"
},
"licensingNote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"name",
"vertical",
"licensingNote"
],
"additionalProperties": false
}
}
},
"required": [
"categories"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_rankings(metro, category, limit, include_bubble)
The ranked list of independent companies for one category in one metropolitan area, with scores, verification status, and the reasons any tracked company is unranked. Franchise and chain locations are excluded by editorial policy.
Input Schema
{
"type": "object",
"properties": {
"metro": {
"type": "string",
"description": "Metro slug, e.g. austin"
},
"category": {
"type": "string",
"description": "Category slug, e.g. house-cleaning"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"include_bubble": {
"description": "Include eligible companies below the published cap",
"type": "boolean"
}
},
"required": [
"metro",
"category"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"metro": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"name",
"region"
],
"additionalProperties": false
},
"category": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"totalRanked": {
"type": "number"
},
"totalTracked": {
"type": "number"
},
"franchisesExcluded": {
"type": "number"
},
"excludedBrands": {
"type": "array",
"items": {
"type": "string"
}
},
"reviewsAnalyzed": {
"type": "number"
},
"marketMedianRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Null when tracked but not ranked"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"confidenceTier": {
"type": "string"
},
"rankChange": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Positions gained since the previous reconstitution"
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"rank",
"slug",
"name",
"city",
"trpScore",
"scoreBand",
"confidenceTier",
"rankChange",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"disclosures",
"profileUrl"
],
"additionalProperties": false
}
},
"bubble": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Null when tracked but not ranked"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"confidenceTier": {
"type": "string"
},
"rankChange": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Positions gained since the previous reconstitution"
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"rank",
"slug",
"name",
"city",
"trpScore",
"scoreBand",
"confidenceTier",
"rankChange",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"disclosures",
"profileUrl"
],
"additionalProperties": false
},
"description": "Eligible companies below the published cap; scores shown, ranks withheld"
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"metro",
"category",
"updatedAt",
"totalRanked",
"totalTracked",
"franchisesExcluded",
"excludedBrands",
"reviewsAnalyzed",
"marketMedianRating",
"companies",
"bubble",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_business_profile(slug)
Everything published about one company: score breakdown by pillar, what was verified and with which authority, what could not be verified, review figures with the date they were read, and every ranking it appears in.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Company slug from a ranking or search result"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"legalName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"website": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"establishedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"establishedSource": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Which record the founding date came from"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"ratingDistribution": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
{
"type": "null"
}
],
"description": "Counts per star, 1 through 5"
},
"ownerResponseRate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"scoreBand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"score": {
"type": "number",
"description": "Pillar score in [0,1]"
},
"contribution": {
"type": "number",
"description": "Points this pillar added to the total"
}
},
"required": [
"pillar",
"weight",
"score",
"contribution"
],
"additionalProperties": false
}
},
"rankings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug",
"rank",
"outOf",
"trpScore",
"url"
],
"additionalProperties": false
}
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"notVerified": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
}
},
"required": [
"slug",
"name",
"authority"
],
"additionalProperties": false
},
"description": "Checklist items this company does not hold"
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"corrections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"occurredAt": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"occurredAt",
"note"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"slug",
"name",
"legalName",
"city",
"region",
"website",
"phone",
"establishedOn",
"establishedSource",
"yearsInBusiness",
"googleRating",
"googleReviewCount",
"ratingDistribution",
"ownerResponseRate",
"trpScore",
"scoreBand",
"pillars",
"rankings",
"verifications",
"notVerified",
"disclosures",
"corrections",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_businesses(query, metro, category, min_score, verified_only, ...)
Find tracked companies by name, metropolitan area, category, or minimum score.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Part of a company name",
"type": "string"
},
"metro": {
"type": "string"
},
"category": {
"type": "string"
},
"min_score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"verified_only": {
"description": "Only companies matched to a state entity record",
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"bestRank": {
"anyOf": [
{
"type": "object",
"properties": {
"rank": {
"type": "number"
},
"outOf": {
"type": "number"
},
"metro": {
"type": "string"
},
"category": {
"type": "string"
}
},
"required": [
"rank",
"outOf",
"metro",
"category"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"profileUrl": {
"type": "string"
}
},
"required": [
"slug",
"name",
"city",
"trpScore",
"googleRating",
"googleReviewCount",
"bestRank",
"profileUrl"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"total",
"results",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compare_businesses(slugs, metro, category)
Compare two to four companies side by side, pillar by pillar, with a one-sentence verdict naming which pillar separates them.
Input Schema
{
"type": "object",
"properties": {
"slugs": {
"minItems": 2,
"maxItems": 4,
"type": "array",
"items": {
"type": "string"
}
},
"metro": {
"description": "Optional metro slug selecting a shared ranking context",
"type": "string"
},
"category": {
"description": "Optional category slug selecting a shared ranking context",
"type": "string"
}
},
"required": [
"slugs"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"requiresContext": {
"type": "boolean"
},
"context": {
"anyOf": [
{
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"availableContexts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
}
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"scoreBand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"slug",
"name",
"rank",
"outOf",
"trpScore",
"scoreBand",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"profileUrl"
],
"additionalProperties": false
}
},
"pillarComparison": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"scores": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"leader": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"pillar",
"weight",
"scores",
"leader"
],
"additionalProperties": false
}
},
"verdict": {
"type": "string",
"description": "One sentence naming the leader and why"
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"requiresContext",
"context",
"availableContexts",
"companies",
"pillarComparison",
"verdict",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_score_breakdown(slug, metro, category)
Return one company's score in one metro/category ranking, including rank, all five weighted pillars, each pillar's point contribution, and provenance.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Company slug"
},
"metro": {
"description": "Metro slug",
"type": "string"
},
"category": {
"description": "Category slug",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"business": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"context": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"score": {
"type": "number",
"description": "Pillar score in [0,1]"
},
"contribution": {
"type": "number",
"description": "Points this pillar added to the total"
}
},
"required": [
"pillar",
"weight",
"score",
"contribution"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"business",
"context",
"rank",
"outOf",
"trpScore",
"scoreBand",
"pillars",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_methodology
The exact weights, thresholds, eligibility rules, data sources, and stated limitations behind every score. Read this before characterising what a TRP Score means.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"version": {
"type": "string"
},
"effectiveDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"summary": {
"type": "string"
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"name": {
"type": "string"
},
"weight": {
"type": "number"
},
"rationale": {
"type": "string"
}
},
"required": [
"pillar",
"name",
"weight",
"rationale"
],
"additionalProperties": false
}
},
"scoreBands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"label": {
"type": "string"
}
},
"required": [
"min",
"label"
],
"additionalProperties": false
}
},
"eligibility": {
"type": "object",
"properties": {
"minReviewsToList": {
"type": "number"
},
"minReviewsToRank": {
"type": "number"
},
"minReviewAgeMonths": {
"type": "number"
},
"minRating": {
"type": "number"
},
"entityMatchRequired": {
"type": "boolean"
},
"franchisesExcluded": {
"type": "boolean",
"const": true
}
},
"required": [
"minReviewsToList",
"minReviewsToRank",
"minReviewAgeMonths",
"minRating",
"entityMatchRequired",
"franchisesExcluded"
],
"additionalProperties": false
},
"reputation": {
"type": "object",
"properties": {
"halfLifeDays": {
"type": "number"
},
"priorReviews": {
"type": "number",
"description": "Phantom reviews every company starts with, at the market median"
},
"priorStatistic": {
"type": "string"
}
},
"required": [
"halfLifeDays",
"priorReviews",
"priorStatistic"
],
"additionalProperties": false
},
"ranking": {
"type": "object",
"properties": {
"listSize": {
"type": "number"
},
"swapThreshold": {
"type": "number"
},
"entryThreshold": {
"type": "number"
}
},
"required": [
"listSize",
"swapThreshold",
"entryThreshold"
],
"additionalProperties": false
},
"dataSources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"provider": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cadence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"provider",
"cadence",
"caveat"
],
"additionalProperties": false
}
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"version",
"effectiveDate",
"summary",
"pillars",
"scoreBands",
"eligibility",
"reputation",
"ranking",
"dataSources",
"limitations",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence