Crawdar Business Research
Evidence-backed public business research for agents with compact, pageable output.
Should I use this
Quality & Safety
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": {
"business-research": {
"url": "https://crawdar.com/api/mcp"
}
}
}Remote endpoints
https://crawdar.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟢scan_review_pain_points(business, website, target, geography, reviewUrls, ...)
Scan a named business or discover up to three businesses for recent recurring complaints. Returns individually sourced reviews and possible technical solutions. Coverage is sampled; unavailable reviews never mean no problems. Five scans per day. Google reviews require a configured provider.
Input Schema
{
"type": "object",
"properties": {
"business": {
"type": "string"
},
"website": {
"type": "string"
},
"target": {
"type": "string"
},
"geography": {
"type": "string"
},
"reviewUrls": {
"type": "array",
"maxItems": 3,
"items": {
"type": "string"
}
},
"googlePlaceId": {
"type": "string"
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"reports": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"limitations": {
"type": "string"
}
},
"additionalProperties": true
}🟢research_businesses(brief, geography, fields, output, limit, ...)
Use for a quick synchronous search when the user supplies one natural-language brief and can wait for results in the current tool call. For durable progress, retry, export, or large agent workflows, use start_lead_search instead.
Input Schema
{
"type": "object",
"properties": {
"brief": {
"type": "string",
"minLength": 8,
"maxLength": 1200,
"description": "Example: Independent veterinary clinics in Berlin with an active first-party website. Exclude directories and chains."
},
"geography": {
"type": "string",
"minLength": 2,
"maxLength": 140,
"description": "Optional explicit geography. Use when the brief does not make location clear."
},
"fields": {
"type": "array",
"description": "Business fields to retain. Website and source evidence remain available for verification.",
"items": {
"enum": [
"Website",
"Business email",
"Phone",
"Location",
"Owner type",
"Description",
"Source links"
]
}
},
"output": {
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "Compact minimizes tokens. Full preserves every returned field."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Maximum businesses in this response page."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Zero-based result offset for this response page."
},
"includeDiagnostics": {
"type": "boolean",
"default": true,
"description": "Include source status and explained exclusions."
}
},
"required": [
"brief"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"description": "Version of the result contract."
},
"requestId": {
"type": "string",
"description": "Request identifier for support and diagnostics."
},
"resultCount": {
"type": "integer",
"description": "Total accepted prospects before response pagination."
},
"returnedCount": {
"type": "integer",
"description": "Prospects returned in this response page."
},
"offset": {
"type": "integer",
"description": "Zero-based offset of this page."
},
"limit": {
"type": "integer",
"description": "Maximum prospects requested for this page."
},
"hasMore": {
"type": "boolean",
"description": "Whether another result page is available."
},
"nextOffset": {
"type": [
"integer",
"null"
],
"description": "Offset for the next synchronous result page, or null when complete."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"prospectStatus",
"whyMatch",
"criteria",
"contactRoute"
],
"properties": {
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"city": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"prospectStatus": {
"enum": [
"qualified",
"possible"
]
},
"whyMatch": {
"type": "array",
"items": {
"type": "string"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"contactRoute": {
"type": "object",
"additionalProperties": true
},
"fitStatus": {
"enum": [
"verified",
"likely"
]
},
"confidence": {
"type": "number"
},
"entityConfidence": {
"type": "number"
},
"qualificationConfidence": {
"type": "number"
},
"evidenceQuality": {
"enum": [
"strong",
"moderate",
"weak"
]
},
"sourceUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"additionalProperties": true
}
},
"qualificationChecks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}
},
"searchedSources": {
"type": "array",
"description": "Discovery and first-party source types consulted.",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"description": "Limitations the agent should retain with downstream data.",
"items": {
"type": "string"
}
},
"diagnostics": {
"type": "object",
"description": "Source status and explained candidate exclusions.",
"additionalProperties": true
},
"remainingFreeSearches": {
"type": "integer"
},
"durationMs": {
"type": "integer"
}
},
"required": [
"schemaVersion",
"requestId",
"resultCount",
"returnedCount",
"offset",
"limit",
"hasMore",
"results",
"searchedSources",
"warnings"
],
"additionalProperties": true
}🟢search_businesses(target, geography, qualifier, fields, output, ...)
Use for a quick synchronous search when target, geography, and qualification fields are already structured. Use research_businesses for a plain-language brief, or start_lead_search for durable asynchronous work.
Input Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 3,
"maxLength": 220,
"description": "Business type or concise target."
},
"geography": {
"type": "string",
"minLength": 2,
"maxLength": 140,
"description": "City, region, country, or Worldwide."
},
"qualifier": {
"type": "string",
"maxLength": 900,
"description": "Optional required signals and exclusions that can be checked in public evidence."
},
"fields": {
"type": "array",
"description": "Business fields to retain. Website and source evidence remain available for verification.",
"items": {
"enum": [
"Website",
"Business email",
"Phone",
"Location",
"Owner type",
"Description",
"Source links"
]
}
},
"output": {
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "Compact minimizes tokens. Full preserves every returned field."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Maximum businesses in this response page."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Zero-based result offset for this response page."
},
"includeDiagnostics": {
"type": "boolean",
"default": true,
"description": "Include source status and explained exclusions."
}
},
"required": [
"target",
"geography"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"description": "Version of the result contract."
},
"requestId": {
"type": "string",
"description": "Request identifier for support and diagnostics."
},
"resultCount": {
"type": "integer",
"description": "Total accepted prospects before response pagination."
},
"returnedCount": {
"type": "integer",
"description": "Prospects returned in this response page."
},
"offset": {
"type": "integer",
"description": "Zero-based offset of this page."
},
"limit": {
"type": "integer",
"description": "Maximum prospects requested for this page."
},
"hasMore": {
"type": "boolean",
"description": "Whether another result page is available."
},
"nextOffset": {
"type": [
"integer",
"null"
],
"description": "Offset for the next synchronous result page, or null when complete."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"prospectStatus",
"whyMatch",
"criteria",
"contactRoute"
],
"properties": {
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"city": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"prospectStatus": {
"enum": [
"qualified",
"possible"
]
},
"whyMatch": {
"type": "array",
"items": {
"type": "string"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"contactRoute": {
"type": "object",
"additionalProperties": true
},
"fitStatus": {
"enum": [
"verified",
"likely"
]
},
"confidence": {
"type": "number"
},
"entityConfidence": {
"type": "number"
},
"qualificationConfidence": {
"type": "number"
},
"evidenceQuality": {
"enum": [
"strong",
"moderate",
"weak"
]
},
"sourceUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"additionalProperties": true
}
},
"qualificationChecks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}
},
"searchedSources": {
"type": "array",
"description": "Discovery and first-party source types consulted.",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"description": "Limitations the agent should retain with downstream data.",
"items": {
"type": "string"
}
},
"diagnostics": {
"type": "object",
"description": "Source status and explained candidate exclusions.",
"additionalProperties": true
},
"remainingFreeSearches": {
"type": "integer"
},
"durationMs": {
"type": "integer"
}
},
"required": [
"schemaVersion",
"requestId",
"resultCount",
"returnedCount",
"offset",
"limit",
"hasMore",
"results",
"searchedSources",
"warnings"
],
"additionalProperties": true
}🟢sandbox_businesses(target, geography)
Return deterministic fictional businesses without consuming provider capacity. Use this to test schemas, clients, and agent loops.
Input Schema
{
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 3,
"maxLength": 220,
"description": "Fictional business type echoed into deterministic test results."
},
"geography": {
"type": "string",
"minLength": 2,
"maxLength": 140,
"description": "Fictional location echoed into deterministic test results."
}
},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"description": "Version of the result contract."
},
"requestId": {
"type": "string",
"description": "Request identifier for support and diagnostics."
},
"resultCount": {
"type": "integer",
"description": "Total accepted prospects before response pagination."
},
"returnedCount": {
"type": "integer",
"description": "Prospects returned in this response page."
},
"offset": {
"type": "integer",
"description": "Zero-based offset of this page."
},
"limit": {
"type": "integer",
"description": "Maximum prospects requested for this page."
},
"hasMore": {
"type": "boolean",
"description": "Whether another result page is available."
},
"nextOffset": {
"type": [
"integer",
"null"
],
"description": "Offset for the next synchronous result page, or null when complete."
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"prospectStatus",
"whyMatch",
"criteria",
"contactRoute"
],
"properties": {
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"city": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"prospectStatus": {
"enum": [
"qualified",
"possible"
]
},
"whyMatch": {
"type": "array",
"items": {
"type": "string"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"contactRoute": {
"type": "object",
"additionalProperties": true
},
"fitStatus": {
"enum": [
"verified",
"likely"
]
},
"confidence": {
"type": "number"
},
"entityConfidence": {
"type": "number"
},
"qualificationConfidence": {
"type": "number"
},
"evidenceQuality": {
"enum": [
"strong",
"moderate",
"weak"
]
},
"sourceUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"additionalProperties": true
}
},
"qualificationChecks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}
},
"searchedSources": {
"type": "array",
"description": "Discovery and first-party source types consulted.",
"items": {
"type": "string"
}
},
"warnings": {
"type": "array",
"description": "Limitations the agent should retain with downstream data.",
"items": {
"type": "string"
}
},
"diagnostics": {
"type": "object",
"description": "Source status and explained candidate exclusions.",
"additionalProperties": true
},
"remainingFreeSearches": {
"type": "integer"
},
"durationMs": {
"type": "integer"
}
},
"required": [
"schemaVersion",
"requestId",
"resultCount",
"returnedCount",
"offset",
"limit",
"hasMore",
"results",
"searchedSources",
"warnings"
],
"additionalProperties": true
}🟢start_lead_search(brief, target, geography, qualifier, fields, ...)
Use for the recommended durable asynchronous workflow. Creates a private queued search job and returns a job id plus jobToken for progress polling, cursor paging, refinement, retry, cancellation, and CSV or JSON export.
Input Schema
{
"type": "object",
"properties": {
"brief": {
"type": "string",
"minLength": 8,
"maxLength": 500,
"description": "Natural-language business, geography, required signals, and exclusions. Use this instead of separate target and geography."
},
"target": {
"type": "string",
"minLength": 3,
"maxLength": 220,
"description": "Business type or concise ideal-customer target. Pair with geography when brief is omitted."
},
"geography": {
"type": "string",
"minLength": 2,
"maxLength": 140,
"description": "City, region, country, or Worldwide. Required with target when brief is omitted."
},
"qualifier": {
"type": "string",
"maxLength": 900,
"description": "Publicly verifiable requirements and exclusions."
},
"fields": {
"type": "array",
"description": "Business fields to retain. Website and source evidence remain available for verification.",
"items": {
"enum": [
"Website",
"Business email",
"Phone",
"Location",
"Owner type",
"Description",
"Source links"
]
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 50,
"description": "Maximum accepted prospects retained by the job."
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 128,
"description": "Stable key for safely retrying the same job creation request."
}
},
"anyOf": [
{
"required": [
"brief"
]
},
{
"required": [
"target",
"geography"
]
}
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable job identifier. Use it with jobToken in every lifecycle call."
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed",
"canceled"
],
"description": "Current durable job state."
},
"jobToken": {
"type": "string",
"description": "Private bearer token required to read, refine, or export this job."
},
"statusUrl": {
"type": "string",
"description": "Authenticated REST URL for job status and result pages."
},
"exportUrl": {
"type": "string",
"description": "Authenticated CSV export URL. Add format=json for JSON."
},
"retryUrl": {
"type": "string",
"description": "Authenticated REST URL for creating a replacement after retryable failure."
},
"cancelUrl": {
"type": "string",
"description": "Authenticated REST URL for canceling queued or running work."
},
"expiresInSeconds": {
"type": "integer",
"description": "Seconds until the private job and token expire."
},
"cacheHit": {
"type": "boolean"
},
"resultCount": {
"type": "integer"
}
},
"required": [
"id",
"status",
"statusUrl",
"exportUrl",
"retryUrl",
"cancelUrl",
"expiresInSeconds"
],
"additionalProperties": true
}🟢get_lead_search(id, jobToken, cursor, limit, view)
Read job status or one cursor-paginated result page. Keep jobToken private and pass nextCursor back unchanged.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"description": "Job id returned by start_lead_search, refine_lead_search, or retry_lead_search."
},
"jobToken": {
"type": "string",
"minLength": 20,
"maxLength": 100,
"description": "Private token returned with the job. Do not log or share it."
},
"cursor": {
"type": "string",
"description": "Opaque nextCursor from the previous response."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Maximum prospects in this result page."
},
"view": {
"enum": [
"compact",
"full"
],
"default": "compact",
"description": "Compact minimizes tokens. Full retains detailed evidence fields."
}
},
"required": [
"id",
"jobToken"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed",
"canceled"
]
},
"progress": {
"type": "object",
"additionalProperties": true
},
"retryAfter": {
"type": "integer"
},
"resultCount": {
"type": "integer"
},
"returned": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"prospectStatus",
"whyMatch",
"criteria",
"contactRoute"
],
"properties": {
"name": {
"type": "string"
},
"website": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"city": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"prospectStatus": {
"enum": [
"qualified",
"possible"
]
},
"whyMatch": {
"type": "array",
"items": {
"type": "string"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"contactRoute": {
"type": "object",
"additionalProperties": true
},
"fitStatus": {
"enum": [
"verified",
"likely"
]
},
"confidence": {
"type": "number"
},
"entityConfidence": {
"type": "number"
},
"qualificationConfidence": {
"type": "number"
},
"evidenceQuality": {
"enum": [
"strong",
"moderate",
"weak"
]
},
"sourceUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
},
"kind": {
"type": "string"
}
},
"additionalProperties": true
}
},
"qualificationChecks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"additionalProperties": true
}
},
"nextCursor": {
"type": [
"string",
"null"
]
},
"diagnostics": {
"type": "object",
"additionalProperties": true
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"searchedSources": {
"type": "array",
"items": {
"type": "string"
}
},
"createdAt": {
"type": "string"
},
"completedAt": {
"type": [
"string",
"null"
]
},
"error": {
"type": "string"
},
"errorCode": {
"type": "string"
}
},
"required": [
"id",
"status"
],
"additionalProperties": true
}🟡refine_lead_search(id, jobToken, brief, target, geography, ...)
Create a new private search job by changing the brief or criteria of a completed job. The original job stays unchanged.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"description": "Completed source job id returned by an earlier durable search call."
},
"jobToken": {
"type": "string",
"minLength": 20,
"maxLength": 100,
"description": "Private token belonging to the source job."
},
"brief": {
"type": "string",
"minLength": 8,
"maxLength": 500,
"description": "Replacement natural-language brief for the new job."
},
"target": {
"type": "string",
"minLength": 3,
"maxLength": 220,
"description": "Replacement business target for the new job."
},
"geography": {
"type": "string",
"minLength": 2,
"maxLength": 140,
"description": "Replacement city, region, country, or Worldwide."
},
"qualifier": {
"type": "string",
"maxLength": 900,
"description": "Replacement public requirements and exclusions."
},
"fields": {
"type": "array",
"description": "Business fields to retain. Website and source evidence remain available for verification.",
"items": {
"enum": [
"Website",
"Business email",
"Phone",
"Location",
"Owner type",
"Description",
"Source links"
]
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Maximum prospects retained by the new job."
}
},
"required": [
"id",
"jobToken"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable job identifier. Use it with jobToken in every lifecycle call."
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed",
"canceled"
],
"description": "Current durable job state."
},
"jobToken": {
"type": "string",
"description": "Private bearer token required to read, refine, or export this job."
},
"statusUrl": {
"type": "string",
"description": "Authenticated REST URL for job status and result pages."
},
"exportUrl": {
"type": "string",
"description": "Authenticated CSV export URL. Add format=json for JSON."
},
"retryUrl": {
"type": "string",
"description": "Authenticated REST URL for creating a replacement after retryable failure."
},
"cancelUrl": {
"type": "string",
"description": "Authenticated REST URL for canceling queued or running work."
},
"expiresInSeconds": {
"type": "integer",
"description": "Seconds until the private job and token expire."
},
"cacheHit": {
"type": "boolean"
},
"resultCount": {
"type": "integer"
}
},
"required": [
"id",
"status",
"statusUrl",
"exportUrl",
"retryUrl",
"cancelUrl",
"expiresInSeconds"
],
"additionalProperties": true
}🟡retry_lead_search(id, jobToken)
Create a replacement job when a prior job failed or exceeded its execution window. The original job stays available for audit.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"description": "Failed or timed-out source job id."
},
"jobToken": {
"type": "string",
"minLength": 20,
"maxLength": 100,
"description": "Private token belonging to the source job."
}
},
"required": [
"id",
"jobToken"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable job identifier. Use it with jobToken in every lifecycle call."
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed",
"canceled"
],
"description": "Current durable job state."
},
"jobToken": {
"type": "string",
"description": "Private bearer token required to read, refine, or export this job."
},
"statusUrl": {
"type": "string",
"description": "Authenticated REST URL for job status and result pages."
},
"exportUrl": {
"type": "string",
"description": "Authenticated CSV export URL. Add format=json for JSON."
},
"retryUrl": {
"type": "string",
"description": "Authenticated REST URL for creating a replacement after retryable failure."
},
"cancelUrl": {
"type": "string",
"description": "Authenticated REST URL for canceling queued or running work."
},
"expiresInSeconds": {
"type": "integer",
"description": "Seconds until the private job and token expire."
},
"cacheHit": {
"type": "boolean"
},
"resultCount": {
"type": "integer"
}
},
"required": [
"id",
"status",
"statusUrl",
"exportUrl",
"retryUrl",
"cancelUrl",
"expiresInSeconds"
],
"additionalProperties": true
}🔴cancel_lead_search(id, jobToken)
Cancel a queued or running search job. Completed and failed jobs remain immutable.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"description": "Queued or running job id."
},
"jobToken": {
"type": "string",
"minLength": 20,
"maxLength": 100,
"description": "Private token belonging to the job."
}
},
"required": [
"id",
"jobToken"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"canceled"
]
},
"canceledAt": {
"type": "string"
}
},
"required": [
"id",
"status"
],
"additionalProperties": true
}🟢explain_crawdar
Get result semantics, limits, interface URLs, and safe operating guidance. This tool does not consume a search.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"resultLanes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"guidance": {
"type": "array",
"items": {
"type": "string"
}
},
"interfaces": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"resultLanes",
"guidance",
"interfaces"
],
"additionalProperties": false
}Community
Evidence