company_profile
Retrieve comprehensive company intelligence by searching with ticker symbol, CIK number, or company name. Access SEC filings, financial data, patent portfolios, trademark registrations, and court cases in a single unified profile.
Instructions
Get a unified company profile across all Verilex datasets. Searches by ticker symbol, SEC CIK number, or company name. Returns SEC filings, OTC data (shell risk, financials), patent portfolio, trademark registrations, and court cases — all in one response. This is the premium cross-dataset intelligence endpoint.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Company identifier: ticker symbol (e.g. AAPL), CIK number (e.g. 0000320193), or company name |
Implementation Reference
- src/tools/company.ts:18-57 (handler)The 'company_profile' tool registration and handler implementation. It uses a zod schema for input validation and calls the /api/v1/company/ endpoint to retrieve profile data.
server.registerTool( "company_profile", { title: "Company Profile", description: "Get a unified company profile across all Verilex datasets. Searches by ticker symbol, " + "SEC CIK number, or company name. Returns SEC filings, OTC data (shell risk, financials), " + "patent portfolio, trademark registrations, and court cases — all in one response. " + "This is the premium cross-dataset intelligence endpoint.", inputSchema: { identifier: z .string() .min(1) .max(100) .describe("Company identifier: ticker symbol (e.g. AAPL), CIK number (e.g. 0000320193), or company name"), }, }, async ({ identifier }) => { const res = await apiGet<Record<string, unknown>>( `/api/v1/company/${encodeURIComponent(identifier)}`, ); if (!res.ok) { const msg = res.status === 404 ? `No data found for '${identifier}' across any dataset.` : `API error (${res.status}): ${JSON.stringify(res.data)}`; return { content: [{ type: "text" as const, text: msg }], isError: res.status !== 404, }; } return { content: [ { type: "text" as const, text: JSON.stringify(res.data, null, 2) }, ], }; }, );