Skip to main content
Glama

find_apis

Read-only

Paginated, sortable list of APIs across providers — filter by tag, provider, artifact type, industry, region, or rating band. q is lexical over the API's own name and description; include=["via_provider"] adds APIs of providers whose name matched (the union apis_io_search counts). Use apis_io_search first for a cross-type overview. Parameter reference: apis://docs/tools/find_apis.

Input Schema

NameRequiredDescriptionDefault
qNoFree text over name + description, e.g. "sms".
areaNoArea slugs, e.g. ["security"].
bandNoexemplar | strong | developing | thin | minimal.
pageNoPage number, 1-based (default 1).
sortNoDefault: relevance with `q`, else composite.
tagsNoTag slugs, e.g. ["payments"]. On providers: what the company does (see api_tags).
viewNosummary (default, lean) or full.summary
limitNoResults per page, 1-100 (default 25).
matchNoHow `tags` combine: any (default) or all.any
fieldsNoOnly these top-level keys, e.g. ["slug","score"].
publicNoCallable with no signup (onboarding=open).
regionNoRegion slugs, e.g. ["north-america"].
contextNoOptional: one sentence on why you are asking. Never used to rank; read only if a result is wrong.
includeNovia_provider: also return APIs of providers whose name matched `q`. Needs `q`.
pricingNofree | freemium | free-trial | paid | enterprise, e.g. ["free"].
resolveNoon (default) uses a tag `q` names; off = text only.on
try_nowNoUsable at no cost right now (free/trial + self-serve/open).
industryNoIndustry slugs, e.g. ["fintech"].
min_scoreNoMinimum Kin Score composite (0-100), e.g. 60.
providersNoProvider slugs, e.g. ["stripe"].
onboardingNoopen (no key) | self-serve | approval.
provenanceNomodeled | unpublished | published | documented, e.g. "documented". Omit for all. Meanings: apis://docs/tools/find_apis.
artifact_typesNoArtifact types required, e.g. ["OpenAPI"].
onboarding_descriptorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / onboarding_descriptor
      Added value: +{
      +  "type": "boolean"
      +}
  2. Changed22 schema fields changed
    • changedInput schema / properties / area / description
      Previous value: -"Area slugs, as find_areas returns them, e.g. [\"security\"]."New value: +"Area slugs, e.g. [\"security\"]."
    • changedInput schema / properties / artifact_types / description
      Previous value: -"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."New value: +"Artifact types required, e.g. [\"OpenAPI\"]."
    • changedInput schema / properties / band / description
      Previous value: -"Rating bands: exemplar, strong, developing, thin, minimal."New value: +"exemplar | strong | developing | thin | minimal."
    • changedInput schema / properties / context / description
      Previous value: -"Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable."New value: +"Optional: one sentence on why you are asking. Never used to rank; read only if a result is wrong."
    • changedInput schema / properties / fields / description
      Previous value: -"Return exactly these top-level keys (overrides view)."New value: +"Only these top-level keys, e.g. [\"slug\",\"score\"]."
    • changedInput schema / properties / include / description
      Previous value: -"via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one."New value: +"via_provider: also return APIs of providers whose name matched `q`. Needs `q`."
    • changedInput schema / properties / industry / description
      Previous value: -"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."New value: +"Industry slugs, e.g. [\"fintech\"]."
    • changedInput schema / properties / match / description
      Previous value: -"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."New value: +"How `tags` combine: any (default) or all."
    • changedInput schema / properties / min_score / description
      Previous value: -"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."New value: +"Minimum Kin Score composite (0-100), e.g. 60."
    • changedInput schema / properties / onboarding / description
      Previous value: -"Access model — how to start: open (no key), self-serve, approval. (providers only)"New value: +"open (no key) | self-serve | approval."
    • changedInput schema / properties / page / description
      Previous value: -"Page number, 1-based (default 1). Use with `limit` to walk a long list."New value: +"Page number, 1-based (default 1)."
    • changedInput schema / properties / pricing / description
      Previous value: -"Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)"New value: +"free | freemium | free-trial | paid | enterprise, e.g. [\"free\"]."
    • changedInput schema / properties / provenance / description
      Previous value: -"modeled: real APIs behind a partner/contract gate whose shape API Evangelist drew (no public reference); unpublished: product areas with NO API behind them (listed for completeness, not counted); published: every real API, modeled included; documented: only entries with neither mark. Omit to list all; every marked row carries `provenance`."New value: +"modeled | unpublished | published | documented, e.g. \"documented\". Omit for all. Meanings: apis://docs/tools/find_apis."
    • changedInput schema / properties / providers / description
      Previous value: -"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."New value: +"Provider slugs, e.g. [\"stripe\"]."
    • changedInput schema / properties / public / description
      Previous value: -"Only providers callable publicly with no signup (onboarding=open). (providers only)"New value: +"Callable with no signup (onboarding=open)."
    • changedInput schema / properties / q / description
      Previous value: -"Free text over name + description."New value: +"Free text over name + description, e.g. \"sms\"."
    • changedInput schema / properties / region / description
      Previous value: -"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."New value: +"Region slugs, e.g. [\"north-america\"]."
    • changedInput schema / properties / resolve / description
      Previous value: -"When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for \"order\" become the 92 that claim it; on APIS the tag's members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`."New value: +"on (default) uses a tag `q` names; off = text only."
    • changedInput schema / properties / sort / description
      Previous value: -"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."New value: +"Default: relevance with `q`, else composite."
    • changedInput schema / properties / tags / description
      Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."New value: +"Tag slugs, e.g. [\"payments\"]. On providers: what the company does (see api_tags)."
    • changedInput schema / properties / try_now / description
      Previous value: -"Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)"New value: +"Usable at no cost right now (free/trial + self-serve/open)."
    • changedInput schema / properties / view / description
      Previous value: -"summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity)."New value: +"summary (default, lean) or full."
  3. Changed9 schema fields changed
    • addedInput schema / properties / area / description
      Added value: +"Area slugs, as find_areas returns them, e.g. [\"security\"]."
    • addedInput schema / properties / artifact_types / description
      Added value: +"Artifact types an API must carry, e.g. [\"OpenAPI\",\"AsyncAPI\",\"Postman\"]. Synonyms fold (MCPServer = MCP)."
    • addedInput schema / properties / industry / description
      Added value: +"Industry slugs, as find_industries returns them, e.g. [\"artificial-intelligence\"]."
    • addedInput schema / properties / limit / description
      Added value: +"Results per page, 1-100 (default 25)."
    • addedInput schema / properties / match / description
      Added value: +"How multiple `tags` combine: \"any\" (default, at least one) or \"all\" (every tag)."
    • addedInput schema / properties / min_score / description
      Added value: +"Only providers whose Kin Score composite is at or above this, 0-100, e.g. 60."
    • addedInput schema / properties / page / description
      Added value: +"Page number, 1-based (default 1). Use with `limit` to walk a long list."
    • addedInput schema / properties / providers / description
      Added value: +"Provider slugs to restrict results to, e.g. [\"stripe\",\"adyen\"]."
    • addedInput schema / properties / region / description
      Added value: +"Region slugs, as find_regions returns them, e.g. [\"north-america\"]."
  4. Changed1 schema field changed
    • addedInput schema / properties / provenance
      Added value: +{
      +  "description": "modeled: real APIs behind a partner/contract gate whose shape API Evangelist drew (no public reference); unpublished: product areas with NO API behind them (listed for completeness, not counted); published: every real API, modeled included; documented: only entries with neither mark. Omit to list all; every marked row carries `provenance`.",
      +  "enum": [
      +    "modeled",
      +    "unpublished",
      +    "published",
      +    "documented"
      +  ],
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / include
      Added value: +{
      +  "description": "via_provider — also return the APIs of providers whose name matched `q`, the union apis_io_search counts. Needs `q`; adds nothing without one.",
      +  "items": {
      +    "enum": [
      +      "via_provider"
      +    ]
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / tags / description
      Previous value: -"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or find_providers?api_tags= to reach companies whose APIs merely touch it."
  6. Changed1 schema field changed
    • addedInput schema / properties / resolve
      Added value: +{
      +  "default": "on",
      +  "description": "When `q` exactly names a tag, apis.io uses it: on PROVIDERS a resource tag (order, webhook, image) replaces the text search with the companies that classify themselves there — 2,182 text matches for \"order\" become the 92 that claim it; on APIS the tag's members are ADDED to the text matches, never swapped for them. Market tags (payments) and tags almost no company claims are reported and not applied. Set `off` for pure text. The resolution is always echoed as `resolved_tag`.",
      +  "enum": [
      +    "on",
      +    "off"
      +  ],
      +  "type": "string"
      +}
  7. Changed1 schema field changed
    • changedInput schema / properties / tags / description
      Previous value: -"Tag slugs."New value: +"Tag slugs. On PROVIDERS this is identity — what the company says it does, from its own apis.yml. A resource or operation term (webhook, saml, order, oai-pmh) will correctly match no provider; use find_apis?tags= for those, or api_tags below."
  8. Changed1 schema field changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Optional: why you are asking. One sentence — the task you are trying to complete, or what you expect to get back. Never included in the answer and never used to rank; it is read only when a result turns out to be wrong, which is when knowing the intent is what makes the report actionable.",
      +  "type": "string"
      +}
  9. Changed4 schema fields changed
    • addedInput schema / properties / onboarding
      Added value: +{
      +  "description": "Access model — how to start: open (no key), self-serve, approval. (providers only)",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / pricing
      Added value: +{
      +  "description": "Access model — pricing: free, freemium, free-trial, paid, enterprise. (providers only)",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / public
      Added value: +{
      +  "description": "Only providers callable publicly with no signup (onboarding=open). (providers only)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / try_now
      Added value: +{
      +  "description": "Only providers a developer can start using at no cost right now (free/trial + self-serve/open). (providers only)",
      +  "type": "boolean"
      +}
  10. Changed4 schema fields changed
    • addedInput schema / properties / fields / description
      Added value: +"Return exactly these top-level keys (overrides view)."
    • addedInput schema / properties / sort / description
      Added value: +"Order results. Default: relevance with a query, composite (quality) when browsing. `demand` = Fortune-1000 adoption, scoped to the query."
    • addedInput schema / properties / sort / enum
      Added value: +[
      +  "relevance",
      +  "composite",
      +  "name",
      +  "created",
      +  "modified",
      +  "api_count",
      +  "demand"
      +]
    • addedInput schema / properties / view
      Added value: +{
      +  "default": "summary",
      +  "description": "summary (default) returns lean discovery records + *_count for dropped sections; full returns the whole record (use get_api / get_provider for one entity).",
      +  "enum": [
      +    "summary",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  11. Changed1 schema field changed
    • addedInput schema / properties / area
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  12. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description still adds real behavior: results are paginated and sortable, q is a lexical match against the API's own name/description, and via_provider deliberately unions in provider-name matches (the same union apis_io_search counts). These are non-obvious behaviors an agent would otherwise get wrong. It does not discuss result volume limits or rate limits, keeping it out of the top band.

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?

Four tight sentences: what it returns, how filtering works, the key caveat, the sibling alternative, and a docs pointer. Scoping information is front-loaded and nothing repeats the schema verbatim.

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?

For a 24-parameter, zero-required search tool with no output schema, the description covers purpose, filtering model, pagination, and a documentation escape hatch for the many enum/slug parameters. A brief note on the response envelope (beyond 'paginated') would make it fully self-sufficient, but it is adequate to call correctly.

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 96%, so the baseline is 3; the description earns above baseline by clarifying the subtle interactions the schema does not spell out — the lexical scope of q and the union semantics of include=["via_provider"] needing q. It also delegates the full parameter reference to apis://docs/tools/find_apis, which is honest but leaves some depth external.

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?

Opens with a specific verb and resource plus scope: 'Paginated, sortable list of APIs across providers', then enumerates the filter dimensions. It also explicitly differentiates itself from the sibling apis_io_search ('cross-type overview'), so an agent can choose between them without opening either schema.

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

Usage Guidelines4/5

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

Gives clear routing guidance ('Use apis_io_search first for a cross-type overview') and a conditional usage note for include=["via_provider"] which requires q. It stops short of stating when NOT to use this tool or naming get_api/find_similar_apis as follow-ons, so it is clear context without full exclusions.

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