lookup_otc_ticker
Retrieve detailed company information for OTC-traded stocks using ticker symbols, including financials, SEC filings, short interest, and shell risk scores from verified data sources.
Instructions
Look up a single OTC-traded company by ticker symbol. Returns full company details including CIK, SIC code, financials (revenue, assets, net income), short interest, shell risk score, and filing recency score. Source: SEC EDGAR + FINRA.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The ticker symbol (e.g. ACME) |
Implementation Reference
- src/tools/otc.ts:115-152 (handler)The handler and registration for 'lookup_otc_ticker' tool.
server.registerTool( "lookup_otc_ticker", { title: "Lookup OTC Company", description: "Look up a single OTC-traded company by ticker symbol. Returns full company details " + "including CIK, SIC code, financials (revenue, assets, net income), short interest, " + "shell risk score, and filing recency score. Source: SEC EDGAR + FINRA.", inputSchema: { ticker: z .string() .regex(/^[A-Za-z]{1,10}$/, "Ticker must be 1-10 letters") .describe("The ticker symbol (e.g. ACME)"), }, }, async ({ ticker }) => { const res = await apiGet<{ dataset: string; data: Record<string, unknown> }>( `/api/v1/otc/${encodeURIComponent(ticker.toUpperCase())}`, ); if (!res.ok) { const msg = res.status === 404 ? `Ticker ${ticker.toUpperCase()} not found in the OTC 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.data, null, 2) }, ], }; }, );