@chartlibraryio/chartlibrary
v0.2.0
Published
Chart Library JavaScript SDK — the stock market memory for AI agents
Downloads
61
Maintainers
Readme
Chart Library JavaScript SDK
Pattern intelligence for AI agents. Search 24 million historical chart patterns and see what happened next.
Zero dependencies. Uses native fetch (Node.js 18+).
Install
npm install chartlibraryQuick Start
const { ChartLibrary } = require('chartlibrary');
const cl = new ChartLibrary({ apiKey: 'cl_your_key' }); // or set CHART_LIBRARY_KEY env var
// One call — full intelligence
const intel = await cl.intelligence('NVDA');
console.log(`Top match: ${intel.matches[0].symbol} ${intel.matches[0].date}`);
console.log(`5-day outlook: ${intel.follow_through.horizon_returns['5']}`);
console.log(`Market regime: ${intel.regime.spy_summary?.slice(0, 100)}...`);
// Market regime snapshot
const regime = await cl.regime();
for (const [sym, data] of Object.entries(regime.regime)) {
console.log(`${sym}: ${data.avg_10d > 0 ? '+' : ''}${data.avg_10d.toFixed(1)}% 10d outlook`);
}
// Pattern search
const results = await cl.search('AAPL 2024-06-15');
for (const match of results.results.slice(0, 5)) {
console.log(` ${match.symbol} ${match.date} — ${match.match_score}%`);
}ESM
import { ChartLibrary } from 'chartlibrary';API Methods
| Method | What it does |
|--------|-------------|
| cl.intelligence(symbol, options?) | One-call full picture (matches + regime + summary) |
| cl.regime(options?) | Market-wide regime snapshot (SPY + QQQ + 11 sectors) |
| cl.regimeDetail(symbol?) | Detailed regime analysis with overlay data |
| cl.search(query, options?) | Pattern similarity search |
| cl.analyze(query) | Search + follow-through + summary |
| cl.followThrough(results) | Forward returns for a set of matches |
| cl.discover(options?) | Daily top patterns |
| cl.status() | Database stats |
Constructor Options
const cl = new ChartLibrary({
apiKey: 'cl_...', // or CHART_LIBRARY_KEY env var
baseUrl: 'https://chartlibrary.io/api/v1', // default
timeout: 30000, // ms, default
});Error Handling
const { ChartLibrary, ChartLibraryError } = require('chartlibrary');
try {
const intel = await cl.intelligence('NVDA');
} catch (err) {
if (err instanceof ChartLibraryError) {
console.error(`API error ${err.status}: ${err.message}`);
console.error('Response body:', err.body);
}
}TypeScript
Type definitions are included. No extra @types/ package needed.
import { ChartLibrary, IntelligenceResult } from 'chartlibrary';
const cl = new ChartLibrary({ apiKey: 'cl_your_key' });
const intel: IntelligenceResult = await cl.intelligence('NVDA');Free API Key
Get one at chartlibrary.io/developers -- 200 calls/day, no credit card.
License
MIT
