OpenStock
OpenStock is a free, open-source alternative to expensive market platforms. Track prices, watch the whole market, and explore company insights, built openly for everyone.
Visit Open-Dev-Society/OpenStockOverview
OpenStock is a community-built, open-source market platform for tracking prices, watching markets, and exploring company insights without an expensive terminal subscription. It provides market dashboards, stock pages, watchlists, alerts, and sentiment views, and can be used on the hosted site or self-hosted.
Key Features
- A dashboard for seven markets: US, India, Germany, Canada, Australia, Crypto and Forex, with an index pulse, a sector heatmap, market leaders and top stories.
- Stock pages with TradingView candles, drawing tools, fullscreen charts, selectable indicators, financials, technicals and company profiles.
- A watchlist of up to 50 stocks saved to an account, plus price alerts above or below a target that are checked every five minutes and emailed in realtime mode.
- Sentiment from Reddit, X, news and Polymarket side by side for each stock, using an Adanos key.
- Search across every exchange Finnhub covers with Command-K and keep stocks open as browser-style tabs.
- A weekly, AI-written news digest by email every Monday for the stocks a user watches.
Use Cases
- Following broad market indices, sectors and top stories before the bell.
- Researching individual companies with charts, indicators, financials and technicals.
- Tracking a personal watchlist and setting price alerts for target levels.
- Running a self-hosted market dashboard for a team with your own Finnhub keys.
Getting Started
- You need Node.js 22 LTS, a MongoDB database and a free Finnhub key.
- Clone the repository, run npm ci, copy .env.example to .env, and fill in MONGODB_URI, BETTER_AUTH_SECRET and FINNHUB_API_KEY.
- Run node scripts/check-env.mjs and npm run test:db to check the environment and MongoDB connection, then run npm run dev.
- For Docker Compose, fill in .env and run docker compose up -d --build, then open the app on localhost port 3000.
Deployment & Requirements
- A MongoDB database and MongoDB connection URI are required.
- BETTER_AUTH_SECRET is required to sign sessions, and BETTER_AUTH_URL is required for auth callbacks and email links.
- A Finnhub API key is required for market data; multiple free keys can be supplied comma-separated and are rotated.
- Production background jobs for welcome emails, price alerts and the weekly digest require Inngest signing and event keys.
- Email sending uses Nodemailer with Gmail and an app password; without those settings, emails are skipped.
Before You Adopt
- License: AGPL-3.0. Review its terms before using, modifying, or distributing the project.
- OpenStock is community-built, is not a brokerage, and its market data may be delayed depending on the provider and setup; it does not provide financial advice.
- OpenStock Cloud is listed as coming soon, so hosted live quotes and email price alerts are not yet generally available.
- Self-hosted realtime pricing depends on supplying your own Finnhub keys; each key adds 60 requests per minute, and realtime mode refreshes prices every 15 seconds.