Skip to main content
Glama
outscraper

Outscraper MCP

Official
by outscraper

Company Insights

company_insights

Enrich known companies or domains with structured firmographic data: size, revenue, industry, and founding details. Use for company profile enrichment instead of contact extraction.

Instructions

Get structured company-level insight data from Outscraper.

Best for:

  • enriching known companies or domains

  • pulling structured company metadata instead of raw search results

  • larger async enrichment jobs that can be tracked later with requests_get

Prefer this tool when:

  • the user already has domains or company URLs

  • the goal is firmographics, company profile data, size, revenue, industry, or founding details

  • you want structured company enrichment rather than contact extraction

Use async mode when:

  • you send many companies at once

  • the endpoint is expected to do expensive enrichment work

Use emails_and_contacts instead when:

  • the user mainly wants emails, phones, socials, or people/contact data

  • company profile enrichment is secondary to lead/contact discovery

Returns:

  • direct response payload in sync mode

  • async request metadata in async mode

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asyncNoDeprecated compatibility flag. Prefer execution_mode.
queryYesOne or more company domains, company names, or URLs supported by Outscraper.
fieldsNoSpecific company insight fields to return. Leave empty to receive the default payload.
webhookNoOptional webhook URL for async completion.
enrichmentsNoOptional enrichments supported by Outscraper for company insights.
execution_modeNoExecution strategy. Use auto to let the MCP server choose between sync and async.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
metaYes
asyncNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.5
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.2.3

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains distinct sync vs async behaviors and the return payloads for each mode ('direct response payload' vs 'async request metadata'), and mentions the async tracking via requests_get. It does not disclose error handling, rate limits, or side effects, but for a read-oriented enrichment tool the description is reasonably transparent. It does not contradict any annotations (none exist).

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

Conciseness4/5

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

The description is organized with clear sections ('Best for', 'Prefer this tool when', 'Use async mode when', 'Use emails_and_contacts instead when', 'Returns'). It is longer than a one-liner but each bullet point adds decision-relevant information. The structure front-loads the core purpose and then drills into when/how to use it, making it efficient to scan.

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?

Given the tool's complexity (6 parameters, sync/async modes, multiple use scenarios) and the presence of an output schema (which obviates the need to describe return structure in full), the description covers the key decision points: use cases, alternatives, and mode selection. It omits details like error handling or rate limits, but those are often outside the scope of tool descriptions and the core info needed for correct invocation is present.

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

Parameters4/5

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

Schema description coverage is 100%, so parameters are already documented. The description adds meaningful context beyond the schema: it explains when to prefer async mode, how execution_mode relates to sync/async, and how async jobs can be tracked with requests_get. This goes beyond simple repetition of the schema's fields and helps the agent make parameter choices.

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?

The description states exactly what the tool does: 'Get structured company-level insight data from Outscraper.' It clearly distinguishes itself from siblings by explicitly positioning it for company enrichment (firmographics, size, revenue, industry) versus contact extraction, which is a key differentiator from tools like emails_and_contacts. The purpose is unambiguous.

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?

The description gives explicit 'Prefer this tool when...' conditions, contrasts with emails_and_contacts, and provides async mode guidance including when to use it and how results can be tracked with requests_get. It covers both positive and negative usage cases, leaving no ambiguity about when to invoke this tool.

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