Skip to main content
Glama

Crawdar Business Research

Search businesses with structured criteria

search_businesses
Read-only

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

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum businesses in this response page.
fieldsNoBusiness fields to retain. Website and source evidence remain available for verification.
offsetNoZero-based result offset for this response page.
outputNoCompact minimizes tokens. Full preserves every returned field.compact
targetYesBusiness type or concise target.
geographyYesCity, region, country, or Worldwide.
qualifierNoOptional required signals and exclusions that can be checked in public evidence.
includeDiagnosticsNoInclude source status and explained exclusions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYesMaximum prospects requested for this page.
offsetYesZero-based offset of this page.
hasMoreYesWhether another result page is available.
resultsYes
warningsYesLimitations the agent should retain with downstream data.
requestIdYesRequest identifier for support and diagnostics.
durationMsNo
nextOffsetNoOffset for the next synchronous result page, or null when complete.
diagnosticsNoSource status and explained candidate exclusions.
resultCountYesTotal accepted prospects before response pagination.
returnedCountYesProspects returned in this response page.
schemaVersionYesVersion of the result contract.
searchedSourcesYesDiscovery and first-party source types consulted.
remainingFreeSearchesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / fields / description
      Added value: +"Business fields to retain. Website and source evidence remain available for verification."
    • addedOutput schema / properties / diagnostics / description
      Added value: +"Source status and explained candidate exclusions."
    • addedOutput schema / properties / hasMore / description
      Added value: +"Whether another result page is available."
    • addedOutput schema / properties / limit / description
      Added value: +"Maximum prospects requested for this page."
    • addedOutput schema / properties / nextOffset / description
      Added value: +"Offset for the next synchronous result page, or null when complete."
    • addedOutput schema / properties / offset / description
      Added value: +"Zero-based offset of this page."
    • addedOutput schema / properties / requestId / description
      Added value: +"Request identifier for support and diagnostics."
    • addedOutput schema / properties / resultCount / description
      Added value: +"Total accepted prospects before response pagination."
    • addedOutput schema / properties / returnedCount / description
      Added value: +"Prospects returned in this response page."
    • addedOutput schema / properties / schemaVersion / description
      Added value: +"Version of the result contract."
    • addedOutput schema / properties / searchedSources / description
      Added value: +"Discovery and first-party source types consulted."
    • addedOutput schema / properties / warnings / description
      Added value: +"Limitations the agent should retain with downstream data."
  2. Changed5 schema fields changed
    • addedOutput schema / properties / results / items / properties / contactRoute
      Added value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / criteria
      Added value: +{
      +  "items": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / results / items / properties / prospectStatus
      Added value: +{
      +  "enum": [
      +    "qualified",
      +    "possible"
      +  ]
      +}
    • addedOutput schema / properties / results / items / properties / whyMatch
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "name"
      -]New value: +[
      +  "name",
      +  "prospectStatus",
      +  "whyMatch",
      +  "criteria",
      +  "contactRoute"
      +]
  3. Changed7 schema fields changed
    • addedInput schema / properties / includeDiagnostics
      Added value: +{
      +  "default": true,
      +  "description": "Include source status and explained exclusions.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 10,
      +  "description": "Maximum businesses in this response page.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Zero-based result offset for this response page.",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / output
      Added value: +{
      +  "default": "compact",
      +  "description": "Compact minimizes tokens. Full preserves every returned field.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ]
      +}
    • changedInput schema / properties / qualifier / description
      Previous value: -"Optional public-evidence requirements."New value: +"Optional required signals and exclusions that can be checked in public evidence."
    • changedInput schema / properties / target / description
      Previous value: -"Business type or plain-language target."New value: +"Business type or concise target."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "diagnostics": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "durationMs": {
      +      "type": "integer"
      +    },
      +    "hasMore": {
      +      "type": "boolean"
      +    },
      +    "limit": {
      +      "type": "integer"
      +    },
      +    "nextOffset": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "offset": {
      +      "type": "integer"
      +    },
      +    "remainingFreeSearches": {
      +      "type": "integer"
      +    },
      +    "requestId": {
      +      "type": "string"
      +    },
      +    "resultCount": {
      +      "type": "integer"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "city": {
      +            "type": "string"
      +          },
      +          "confidence": {
      +            "type": "number"
      +          },
      +          "email": {
      +            "type": "string"
      +          },
      +          "entityConfidence": {
      +            "type": "number"
      +          },
      +          "evidence": {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "kind": {
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "evidenceQuality": {
      +            "enum": [
      +              "strong",
      +              "moderate",
      +              "weak"
      +            ]
      +          },
      +          "fitStatus": {
      +            "enum": [
      +              "verified",
      +              "likely"
      +            ]
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "phone": {
      +            "type": "string"
      +          },
      +          "qualificationChecks": {
      +            "items": {
      +              "additionalProperties": true,
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "qualificationConfidence": {
      +            "type": "number"
      +          },
      +          "sourceUrls": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "website": {
      +            "type": "string"
      +          },
      +          "websiteUrl": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "returnedCount": {
      +      "type": "integer"
      +    },
      +    "schemaVersion": {
      +      "type": "string"
      +    },
      +    "searchedSources": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "warnings": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "schemaVersion",
      +    "requestId",
      +    "resultCount",
      +    "returnedCount",
      +    "offset",
      +    "limit",
      +    "hasMore",
      +    "results",
      +    "searchedSources",
      +    "warnings"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful context by characterizing the call as quick and synchronous, and there is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the primary use case, and efficiently contrasts sibling tools without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with the parameter schema and annotations, provides enough context for invoking a synchronous search and interpreting paging-related outputs. It could mention return shape more explicitly, but the output enum and parameter descriptions cover the essentials.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover 100% of parameters, so the baseline applies. The tool description does not add much beyond the schema, though it does reinforce that target, geography, and qualifier are the structured search fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses the specific verb 'search' and identifies the resource 'businesses.' It clearly distinguishes from siblings by noting the structured-criteria synchronous use case versus research_businesses for plain-language briefs and start_lead_search for durable async work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use the tool: quick synchronous search when target, geography, and qualification fields are already structured. It also names alternatives for different scenarios, leaving little ambiguity about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources