{"authentication":{"example":"X-API-Key: sd_live_xxx","header":"X-API-Key","method":"API Key"},"common_tasks":{"avoid_lookahead_bias":"Add ?as_of=YYYY-MM-DD to get point-in-time data","bulk_query":"POST /api/v1/query with universe, fields, and range","compare_companies":"GET /api/v1/compare?tickers=AAPL,MSFT,GOOGL&metrics=revenue,net_income","get_etf_holdings":"GET /api/v1/holdings/{etf_ticker}","get_financials":"GET /api/v1/fundamentals/{ticker}?periods=4","get_insider_activity":"GET /api/v1/insiders/transactions?ticker={ticker} (Quant tier; Forms 3/4/5, 10b5-1-aware)","get_stock_price":"GET /api/v1/prices/{ticker}?start=YYYY-MM-DD&end=YYYY-MM-DD","screen_insiders_by_metro":"GET /api/v1/insiders/screen?metro=Houston&trigger=unplanned_selling (Quant tier)"},"error_handling":{"401":"Invalid or missing API key","403":"Subscription tier does not include this feature","404":"Entity not found - check ticker or use /resolve","429":"Rate limit exceeded - wait or upgrade tier"},"key_concepts":{"adjustment_models":{"raw":"Unadjusted prices as traded","split_adjusted":"Adjusted for stock splits (default)","total_return":"Adjusted for splits and dividends"},"point_in_time":"Query data as it was known at a specific date to prevent lookahead bias","synapse_id":"Permanent identifier that never changes, even across ticker changes or mergers"},"mcp":{"auth":"No key = anonymous TRIAL quota (low daily cap). Add --header \"X-API-Key: sd_live_...\" to use your PAID PLAN limits. Or call request_email_verification(email) in-protocol for the full free tier (100/day). See connect_authenticated above.","connect_anonymous":"claude mcp add --transport http synapse https://synapsediscovery.io/mcp/jsonrpc","connect_authenticated":"claude mcp add --transport http synapse https://synapsediscovery.io/mcp/jsonrpc --header \"X-API-Key: sd_live_...\"","discovery":"https://synapsediscovery.io/mcp","endpoint":"https://synapsediscovery.io/mcp/jsonrpc","flow":"JSON-RPC 2.0: POST \"initialize\" -> read the Mcp-Session-Id response header -> \"tools/list\" to discover tools -> \"tools/call\". Resend Mcp-Session-Id on every request. With an X-API-Key you may SKIP the handshake and POST a single tools/call.","summary":"PREFERRED for AI agents: a native MCP server exposes typed tools (get_price_history, get_fund_holdings, get_macro_series, ...) so the model calls them directly.","tool_catalog":"https://synapsediscovery.io/mcp/tools"},"purpose":"Synapse Discovery is a financial data API providing stock prices, fundamentals, ETF holdings, and macro data with AI-native design.","quick_start":["1. Get your API key from https://synapsediscovery.io/portal/api-keys","2. Discover capabilities: GET /api/v1/meta","3. Understand field types: GET /api/v1/schema","4. Resolve a company: GET /api/v1/resolve?q=Apple","5. Get prices: GET /api/v1/prices/AAPL?start=2024-01-01"],"response_structure":{"cost":"API units consumed and cache status","data":"The actual response payload","meta":"Additional context (counts, identifiers, etc.)","provenance":"Source and collection metadata for audit","quality":"Data completeness and freshness metrics"},"tips":["Use /resolve for fuzzy matching when unsure of exact ticker","Always specify adjustment_model for prices to avoid ambiguity","Use point_in_time=true for backtesting to prevent lookahead bias","The /query endpoint is more efficient for multi-entity requests"]}
