
Security News
pnpm 12’s Rust Rewrite Cuts Install Times by Up to 90%
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.
@furlpay/market-data
Advanced tools
Real-time stock/ETF market data for FurlPay — Alpha Vantage + Nasdaq Data Link aggregator with a deterministic demo fallback. Zero runtime dependencies.
Real-time stock/ETF market data for FurlPay — a thin, zero-dependency aggregator over Alpha Vantage and Nasdaq Data Link with a deterministic demo fallback. It powers live prices in the FurlPay dashboard and is drop-in usable in any Node service.
fetch (Node 18+).Maintained by FurlPay · MIT licensed.
npm i @furlpay/market-data
import { MarketData } from "@furlpay/market-data";
const md = new MarketData({
alphaVantageKey: process.env.ALPHA_VANTAGE_KEY, // optional
nasdaqKey: process.env.NASDAQ_DATA_LINK_KEY, // optional (daily bars)
});
md.live; // false until a key is set
await md.quote("AAPL");
// { symbol: "AAPL", price: 241.75, change: 1.9, changePercent: 0.79,
// open, high, low, previousClose, volume, currency: "USD", asOf, source }
await md.quotes(["AAPL", "VOO", "NVDA"]); // batch, never rejects
await md.bars("VOO", { interval: "daily", limit: 100 });
// { symbol, interval, bars: [{ t, o, h, l, c, v }, ...], source }
await md.search("vanguard");
// [{ symbol: "VOO", name: "Vanguard S&P 500 ETF", type: "ETF", ... }]
Keys are read from the constructor first, then from ALPHA_VANTAGE_KEY /
NASDAQ_DATA_LINK_KEY in the environment.
| Method | Returns | Notes |
|---|---|---|
new MarketData(opts?) | — | alphaVantageKey?, nasdaqKey?, fetchImpl?, timeoutMs? |
md.live | boolean | true when any provider key is configured |
md.quote(symbol) | Promise<Quote> | latest quote; demo fallback on error |
md.quotes(symbols) | Promise<Quote[]> | batch; resolves all, never rejects |
md.bars(symbol, { interval?, limit? }) | Promise<BarsResult> | interval: 1min|5min|15min|30min|60min|daily (default daily); daily prefers Nasdaq |
md.search(query) | Promise<AssetMatch[]> | symbol/name lookup |
All shapes are exported types (Quote, Bar, BarsResult, AssetMatch).
| Provider | Used for | Key |
|---|---|---|
| Alpha Vantage | quotes, intraday & daily bars, search | alphaVantageKey |
| Nasdaq Data Link | historical daily bars (preferred when set) | nasdaqKey |
npm run example # demo data
npm run example -- TSLA # different symbol
ALPHA_VANTAGE_KEY=xxx npm run example
npm test # tsc build + node --test (runs in demo mode, no network)
The suite asserts the contract: demo quotes are deterministic per symbol, batch quotes resolve, bars are chronological with valid OHLC, search matches by symbol and name, and a failing live provider falls back to demo instead of throwing.
MIT
FAQs
Real-time stock/ETF market data for FurlPay — Alpha Vantage + Nasdaq Data Link aggregator with a deterministic demo fallback. Zero runtime dependencies.
We found that @furlpay/market-data demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.

Research
/Security News
Thirteen malicious Packagist themes expose visitors on unpatched iPhones to a WebKit-to-kernel exploit chain that steals device data and wallet seeds.