{"openapi":"3.0.3","info":{"title":"Gnist Context — ETF Data","description":"ETF and mutual fund portfolio data — top holdings, asset allocation, and country exposure from SEC N-PORT filings.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/etf/`\n- **Toolkit page:** `/toolkits/etf`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/etf/get_etf_holdings":{"post":{"tags":["Finance"],"summary":"get_etf_holdings","description":"Get top portfolio holdings for an ETF or mutual fund.\n\nReturns the largest holdings by market value from the fund's most recent\nN-PORT-P filing (quarterly portfolio disclosure filed with SEC).\n\nEach holding includes name, CUSIP, market value, percentage of NAV,\nshare count, asset category, and country of domicile.\n\nExamples:\n    get_etf_holdings(\"SPY\") → Top 25 holdings of SPDR S&P 500 ETF\n    get_etf_holdings(\"QQQ\", limit=10) → Top 10 Invesco QQQ holdings\n    get_etf_holdings(\"VTI\", limit=50) → Top 50 Vanguard Total Stock Market\n\nReturns:\n    Fund name, report date, net assets, total holding count,\n    and a list of holdings with value, weight, and classification.","operationId":"etf_get_etf_holdings","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"ticker_or_cik":{"description":"ETF or mutual fund ticker (e.g. \"SPY\", \"QQQ\", \"VTI\") or numeric CIK.","type":"string"},"limit":{"default":25,"description":"Maximum holdings to return, sorted by market value (default 25).","type":"integer"}},"required":["ticker_or_cik"],"type":"object"}}}}}},"/rest/etf/get_etf_allocation":{"post":{"tags":["Finance"],"summary":"get_etf_allocation","description":"Get asset allocation breakdown for an ETF or mutual fund.\n\nReturns portfolio composition grouped by asset category (equity, debt,\nderivatives, etc.) and by country — from the most recent N-PORT-P filing.\n\nUseful for understanding an ETF's diversification, geographic exposure,\nand asset mix without reading the full holdings list.\n\nExamples:\n    get_etf_allocation(\"SPY\") → S&P 500 ETF allocation (mostly US equity)\n    get_etf_allocation(\"BND\") → Vanguard Bond ETF allocation (debt categories)\n    get_etf_allocation(\"VT\") → Vanguard Total World — global country breakdown\n\nReturns:\n    Fund info, asset category breakdown with NAV percentages,\n    and country breakdown with NAV percentages.","operationId":"etf_get_etf_allocation","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"ticker_or_cik":{"description":"ETF or mutual fund ticker (e.g. \"SPY\", \"QQQ\", \"BND\") or numeric CIK.","type":"string"}},"required":["ticker_or_cik"],"type":"object"}}}}}},"/rest/etf/report_feedback":{"post":{"tags":["Finance"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"etf_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Finance","description":"Data sources: Finance"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}