organization_search
Search for organizations by domain names or locations to identify companies and retrieve their data for business intelligence and lead generation purposes.
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:262-269 (handler)MCP tool handler for organization_search that delegates to ApolloClient.organizationSearch and formats the response as JSON text.case 'organization_search': { const result = await this.apollo.organizationSearch(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
- src/index.ts:153-171 (registration)Registration of the organization_search tool in the MCP listTools handler, including name, description, and 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/apollo-client.ts:54-58 (schema)TypeScript interface defining the OrganizationSearchQuery parameters used by the organizationSearch method.export interface OrganizationSearchQuery { q_organization_domains_list?: string[]; organization_locations?: string[]; [key: string]: any; }
- src/apollo-client.ts:162-177 (helper)Core implementation of organization search using Apollo.io API endpoint /mixed_companies/search.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; } }