Skip to main content
Glama

AIsa Apollo

Search for Accounts

post_apollo_accounts_search
Read-onlyIdempotent

Search for accounts. Requires a master API key.

Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / account_label_ids
      Removed value: -{
      -  "description": "Filter by account label IDs",
      -  "type": "string"
      -}
    • removedInput schema / properties / account_stage_ids
      Removed value: -{
      -  "description": "Filter by account stage IDs",
      -  "type": "string"
      -}
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "account_label_ids": {
      +      "description": "The Apollo IDs for the labels that you want to include in your search results. If you add multiple labels, Apollo will include all accounts connected to any of the labels, along with the other parameters, in the search results. Example: `['6095a710bd01d100a506d4ae']`",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "account_stage_ids": {
      +      "description": "The Apollo IDs for the account stages that you want to include in your search results. If you add multiple account stages, Apollo will include all accounts that match any of the stages, along with the other parameters, in the search results. Call the [list account stages endpoint](https://docs.apollo.io/reference/list-account-stages) to retrieve a list of all the account stage IDs available in your Apollo account. Example: `61b8e913e0f4d2012e3af74e`",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "page": {
      +      "description": "The page number of the Apollo data that you want to retrieve. Use this parameter in combination with the `per_page` parameter to make search results navigable and improve the performance of the endpoint. Example: `4`",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "per_page": {
      +      "description": "The number of search results that should be returned for each page. Limiting the number of results per page improves the endpoint's performance. Use the `page` parameter to navigate through the different pages of data. Example: `10`",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "q_organization_name": {
      +      "description": "Add keywords to narrow the search of the accounts in your team's Apollo account. Keywords should directly match at least part of an account's name. For example, searching the keyword `marketing` might return the result `NY Marketing Unlimited`, but not `NY Market Analysts`. This parameter only searches account names, not other account fields. Examples: `apollo`; `microsoft`; `marketing`",
      +      "type": "string"
      +    },
      +    "sort_ascending": {
      +      "default": false,
      +      "description": "Set to `true` to sort the matching accounts in ascending order. This parameter must be used with `sort_by_field`. Otherwise, the sorting logic is not applied. Example: `true`",
      +      "type": "boolean"
      +    },
      +    "sort_by_field": {
      +      "description": "Sort the matching accounts by 1 of the following options:\n- `account_last_activity_date`: The most recent activity date recorded first.\n- `account_created_at`: The most recently created first.\n- `account_updated_at`: The most recently updated first.",
      +      "enum": [
      +        "account_last_activity_date",
      +        "account_created_at",
      +        "account_updated_at"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / page
      Removed value: -{
      -  "description": "Page number",
      -  "type": "integer"
      -}
    • removedInput schema / properties / per_page
      Removed value: -{
      -  "description": "Items per page",
      -  "type": "integer"
      -}
    • removedInput schema / properties / q_organization_name
      Removed value: -{
      -  "description": "Organization name query",
      -  "type": "string"
      -}
    • removedInput schema / properties / sort_ascending
      Removed value: -{
      -  "description": "Sort ascending",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / sort_by_field
      Removed value: -{
      -  "description": "Sort field (e.g. account_last_activity_date, account_created_at, account_updated_at)",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "body"
      +]
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety is covered. The description adds two genuinely non-annotated traits: the master API key auth requirement and a per-request cost ($0.012 per successful request), which an agent weighing cost/credentials needs. It stops short of 5 because it says nothing about result volume or pagination behavior.

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?

Two short sentences, purpose front-loaded, no filler. The embedded pricing comment block is boilerplate but is at least clearly delimited and does not obscure the purpose line.

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?

An output schema exists so return values need not be explained, and the nested schema covers all filters and pagination. Against that real complexity (seven filter/sort parameters on a nested body), the description is thin: it never summarizes that this is a filtered/paginated list search or how it relates to the parallel contact and mixed-company search endpoints.

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?

The description contributes zero parameter meaning, and the top-level 'body' parameter has no description (0% coverage by the stated metric), so per the rubric the description should compensate but does not. In practice the nested body properties are documented thoroughly with examples and enum semantics, which keeps this at the baseline 3 rather than lower.

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 gives a clear verb+resource ('Search for accounts'), which an agent can distinguish from the sibling create/patch account tools and from get_apollo_accounts_id. However, it offers no differentiation against the other search endpoints (post_apollo_contacts_search, post_apollo_mixed_companies_search), so it stops short of a 5.

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

Usage Guidelines2/5

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

The only guidance is a prerequisite ('Requires a master API key'), which is auth information rather than a when-to-use statement. Nothing tells the agent when to prefer this over get_apollo_accounts_id, post_apollo_mixed_companies_search, or the create/patch siblings, and there are no 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