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
TableJSON 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; } }