Connect your AI to live stock data
Real-time prices, technical indicators, AI-analysed news, and market intelligence — plug into Claude, Cursor, ChatGPT, or any AI agent in minutes. OAuth sign-in works with any supporting client — no key needed, works with Claude today, and with more providers as they add support. Client doesn't support OAuth yet (or it's not working)? Let us know — you can always fall back to a free API key below.
Get connected
Everything else, follow the 3 steps below.
- Go to /login and enter your email.
- Click the magic link — no password, no captcha.
- Your key is waiting on your account page, ready to use.
Free keys give you 200 calls/day and never expire. No key? You still get 25 free calls/day as a guest — enough to explore. See all 17 tools →
Pro is free for 7 days (cancel anytime), then $20/month — see /account or the upgrade flow for current pricing.
Tiers & limits
| Tier | Requests / day | Tools |
|---|---|---|
| guest (no key) | 25 | All 8 free tools (get_stock, get_stocks, get_stock_history, get_stock_news, get_screener, get_market_movers, get_market_pulse, get_earnings_calendar) — headlines only on news, no AI fields |
| free | 200 | Same 8 free tools, higher limit, stable account key |
| pro | 5,000 | All 17 tools — the 8 free tools with Pro extras unlocked, plus 9 Pro-only tools (get_stock_research, get_insider_activity, get_indicator_history, get_signals, get_news_feed, get_market_assessment, get_sector_intelligence, get_earnings_intelligence, get_watchlist) + pro-only rating/signals/stance_signals/relative_strength fields on get_stock + headline/near_term/longer_term stance fields on get_stock_research's ai_summary |
Exceeding the daily request limit returns HTTP 429. Limits reset at midnight UTC.
Batch tools bill per ticker, not per call. get_stocks, get_screener, and get_earnings_intelligence can each return up to 25 results in a single call, get_signals up to 50, and get_market_movers up to 20 — every ticker returned counts as one call toward your daily limit, not the HTTP request itself. A get_stocks call returning 25 symbols uses 25 of your daily calls. See each tool's page under Tools for its exact cap.
Every authenticated response includes these headers:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Your daily request cap |
| X-RateLimit-Remaining | Requests remaining today |
| X-RateLimit-Reset | Unix timestamp when the counter resets (midnight UTC) |
What can I ask?
Once connected (see Clients below), ask your agent:
- "What's the current price, RSI, and analyst rating for AAPL?"
- "Show me oversold tech stocks with market cap over $10B"
- "What's the market sentiment right now? VIX and fear/greed index?"
- "What earnings are coming up this week?"
- "What does the DeMark TD Sequential signal say for TSLA right now?"
- "Show me Williams %R and Elliott Wave phase for AMD"
- "Summarise the latest news for NVDA with AI analysis" pro
- "Which sectors are leading the market right now?" pro
All 17 tools with full parameter docs and response examples: Tool reference →
Claude — no key needed
One URL, no config file, no key to copy. On Claude.ai and Claude Desktop, sign-in happens as part of adding the connector. On Claude Code, add the server then run /mcp to authenticate (see below — the connector step alone doesn't trigger sign-in there). Hit a snag? Tell us and use the fallback: a free key via /login.
Also listed on the Claude Connectors Directory, Smithery, Glama, and LobeHub — one-click install from any of these for Claude Desktop and other MCP clients.
Claude.ai
- Go to claude.ai → Settings → Connectors.
- Search for "Stocklake," or enter URL: https://api.stocklake.dev/mcp
- Connect → sign in with a magic link — tools are available immediately.
Claude Desktop
Same flow as Claude.ai — Settings → Connectors → search for Stocklake, or paste URL below → connect → sign in with magic link.
Claude Code (CLI)
Adding the server does not auto-authenticate. Run /mcp inside Claude Code, select stocklake, and choose Authenticate — a browser opens, sign in with a magic link, done.
Our OAuth server (RFC 8414 / RFC 9728 discovery + Dynamic Client Registration) isn't Claude-specific — any MCP client that supports OAuth gets this same no-key flow automatically. ChatGPT (Settings → Connectors → Developer Mode → add custom connector) and Perplexity (Pro/Max/Enterprise, Developer Mode → add remote connector) both work today, same URL, same magic-link sign-in. Prefer a directory to browse from? See above for where we're listed. As Cursor, Windsurf, and others add OAuth-based MCP connectors, the same URL above will work there too, no changes needed on our side. Until then, use Tell your agent below with your key.
Tell your agent
For agents that don't support OAuth yet (Cursor, Windsurf, or anything else) — paste into any chat, project instructions, or agent system prompt:
Works with any agent that accepts system prompts or MCP config. Replace sl_your_key_here with your key from your account page.
Python (fastmcp)
curl / raw HTTP
Endpoint: POST https://api.stocklake.dev/mcp — MCP Streamable HTTP transport, protocol version 2025-11-25.
OAuth 2.1
Stocklake implements OAuth 2.1 with PKCE for agent and browser-based clients. The authorization server metadata is available at the standard discovery endpoint:
| Endpoint | Purpose |
|---|---|
| GET /oauth/authorize | Authorization endpoint — shows consent screen (redirects to login if no session) |
| POST /oauth/token | Token endpoint — exchange code for access + refresh tokens (authorization_code and refresh_token grants) |
| POST /oauth/register | Dynamic Client Registration (RFC 7591) — register a new OAuth client |
| POST /oauth/revoke | Revoke an access or refresh token |
Not Claude-specific: anthropic-claude is pre-registered as a trusted public client (PKCE-only, no secret required), but any other MCP client can self-register via Dynamic Client Registration and gets the same no-consent-screen flow. No per-provider setup needed on our end — Perplexity, Cursor, ChatGPT, Windsurf, or a custom agent all work the moment their client speaks MCP OAuth.
Token lifetimes: Access tokens expire after 1 hour. Refresh tokens expire after 30 days. All tokens are SHA-256 hashed in storage.
Scopes: mcp — access to all MCP tools permitted by your account tier.
For most users, the OAuth flow is fully automatic — no manual client setup required. Building your own client should use the discovery document and Dynamic Client Registration.
Errors
| HTTP status | Meaning |
|---|---|
| 401 | Missing or invalid Authorization: Bearer token |
| 429 | Daily rate limit exceeded. Resets midnight UTC. |
| 200 + isError: true | Tool-level error (e.g. ticker not found, tier required). Check the content[0].text field. |
Full tier comparison — 8 free tools vs 9 Pro tools — is on the home page.