organization_search
Search for organizations by domain or location to identify and connect with potential business partners or clients.
Instructions
Use the Organization Search endpoint to find organizations
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q_organization_domains_list | No | List of organization domains to search for | |
| organization_locations | No | List of organization locations to search for |
Implementation Reference
- src/index.ts:153-171 (registration)Tool registration in the list of available tools, including name, description, and JSON input schema.
{ name: 'organization_search', description: 'Use the Organization Search endpoint to find organizations', inputSchema: { type: 'object', properties: { q_organization_domains_list: { type: 'array', items: { type: 'string' }, description: 'List of organization domains to search for' }, organization_locations: { type: 'array', items: { type: 'string' }, description: 'List of organization locations to search for' } } } }, - src/index.ts:262-270 (handler)MCP tool handler switch case that calls the ApolloClient organizationSearch method and formats the result as text content.
case 'organization_search': { const result = await this.apollo.organizationSearch(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } - src/apollo-client.ts:54-58 (schema)TypeScript interface defining the input parameters for the organizationSearch query.
export interface OrganizationSearchQuery { q_organization_domains_list?: string[]; organization_locations?: string[]; [key: string]: any; } - src/apollo-client.ts:162-177 (helper)Helper method in ApolloClient class that performs the HTTP POST request to Apollo.io's organization search endpoint.
async organizationSearch(query: OrganizationSearchQuery): Promise<any> { try { const url = `${this.baseUrl}/mixed_companies/search`; const response = await this.axiosInstance.post(url, query); if (response.status === 200) { return response.data; } else { console.error(`Error: ${response.status} - ${response.statusText}`); return null; } } catch (error: any) { console.error(`Error: ${error.response?.status} - ${error.response?.statusText || error.message}`); return null; } }