Skip to main content
Glama

apis/search

apis_search
Read-only

3 free MCP calls per day (all tools together), then $0.001 USDC via x402 or card credits (paid in-band: params._meta["x402/payment"]). API search: Search 2,230 link-checked public & free-tier APIs (59 categories). Filters: q, category, auth=none, alive=yes, https=yes, kind, limit<=50.

Input Schema

NameRequiredDescriptionDefault
qNofree-text search in name/description/category
authNo'none' = no API key
kindNo
aliveNo
httpsNo
limitNo1-50, default 10
categoryNo

Output Schema

NameRequiredDescriptionDefault
countNo
sourceNo
resultsNo
sourcesNo
returnedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / description
      Previous value: -"Inferred from a real response captured on 2026-10-24; extra fields may appear, null-valued fields are untyped."New value: +"Inferred from a real response captured on 2026-10-26; extra fields may appear, null-valued fields are untyped."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Inferred from a real response captured on 2026-10-24; extra fields may appear, null-valued fields are untyped.",
      +  "properties": {
      +    "count": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "results": {
      +      "items": {
      +        "properties": {
      +          "alive": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "auth": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "category": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "checked_at": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "cors": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "free_tier_details": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "http_status": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "https": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "kind": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "returned": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sources": {
      +      "items": {
      +        "properties": {
      +          "license": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A3.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds the crucial behavioral facts an agent cannot see elsewhere: 3 free calls per day across all tools, then $0.001 USDC via x402 or card credits, and the in-band payment mechanism params._meta["x402/payment"]. That is exactly the rate-limit and payment/auth context the annotations do not cover.

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?

Three dense sentences with no filler; the cost/limit constraint is front-loaded, followed by corpus scope, then filter list. The filter enumeration is telegraphic but functional rather than wasteful.

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

Completeness3/5

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

Output schema exists so return values need not be explained, and the payment model is fully covered. However, for a 7-parameter tool at 43% schema coverage, the description should clarify category semantics and what alive/kind actually filter on; an agent calling it without those details may build a poorly targeted query.

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 coverage is only 43%, and the description compensates partially: it explains auth=none as "no API key" and limit<=50 (matching the schema's "1-50, default 10"). It adds nothing for category, kind, alive, or https beyond restating the enum key names, leaving the low-coverage gap only half filled.

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

Purpose4/5

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

The description names a specific verb and resource ("API search") plus the exact corpus scope ("2,230 link-checked public & free-tier APIs, 59 categories"), which separates it from generic siblings like api_directory_sample or list_endpoints. It stops short of explicitly contrasting itself with the closest overlapping siblings (free_tiers, x402_services), so an agent still has to infer boundaries.

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

Usage Guidelines3/5

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

Listing the available filters (q, category, auth=none, alive=yes, https=yes, kind, limit) implies how to narrow a search, but there is no stated when-to-use / when-not rule and no named alternative. The agent must infer that this is the discovery step before tools like link_check or free_tiers.

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