If you've ever built a personal finance dashboard or a trading bot, you know the pain of getting high-quality market data.
You usually have two bad options:
- Pay $50/mo for a premium API (AlphaVantage, Polygon).
- Build a brittle scraper for Yahoo Finance that breaks every time they change a CSS class.
I recently found a third option that fits perfectly into the "Local-First" stack.
The "Hidden" JSON Endpoint
Pocket Portfolio is a privacy-focused portfolio tracker, but the team did something interesting with their architecture. Instead of gating their data behind a backend, they exposed their normalized historical data as public JSON endpoints.
You don't need an API key. You don't need to login. You just hit the URL.
How to use it
If you want historical data for Apple (AAPL), you just GET the endpoint directly.
curl [https://www.pocketportfolio.app/api/ticker/AAPL/history](https://www.pocketportfolio.app/api/ticker/AAPL/history)
Or if you are building a React app:
const fetchStockData = async (symbol) => {
const response = await fetch(`https://www.pocketportfolio.app/s/${symbol}/json-api`);
const data = await response.json();
console.log(data); // Returns historical price array
};
This is massive for developers building "Read-Only" dashboards who don't want to manage secret keys or handle backend proxy servers just to hide tokens.
The Architecture: "Google Drive as Database"
The other cool part about this tool—and why I think it's relevant for the #LocalFirst movement—is how it handles user data.
Most fintech apps (Delta, Blockfolio) hoard your data on their AWS servers. Pocket Portfolio uses a pattern they call "Sovereign Sync."
- You authenticate with Google.
- The app creates a hidden folder in your Google Drive.
- It reads/writes your trade history as JSON files directly to your Drive.
The app effectively has no database of its own. It's just a UI layer over your own storage. This means you can programmatically read your own portfolio data just by parsing the JSON files in your Drive folder.
Building AI Financial Agents?
If you are building agents with LangChain or OpenAI, they also just dropped a /llms.txt file which is super helpful.
It acts as a context layer for robots, explaining exactly how to interpret the financial data structure. You can feed this directly into your system prompt:
"Use the context at https://www.pocketportfolio.app/llms.txt to understand the data schema."
Summary
If you need:
- ✅ Free Historical Data (JSON)
- ✅ Privacy (Your own Google Drive)
- ✅ No API Keys
Check out the NPM Package or just hit the endpoints directly.
Top comments (0)