Time series pattern matching API — pay-per-call via x402 on Base.
Price
from $0.0100
up to $0.5000 per request
Network
base
Category
other
On-chain txns
22
Uptime
100%
Avg latency
674ms
Checks
88
Status
Healthy
Discovered from on-chain x402 payment activity. Prices shown are per-call in USDC.
Natural Language Query — ask a market question in plain English. HOW TO CALL: POST /analyze?question=what+moved+today POST /analyze?question=is+NVDA+overvalued POST /analyze?question=options+for+SPY POST /analyze?question=give+me+a+daily+brief PARAMETERS: question — natural language query (required) SUPPORTED INTENTS: • Market movers: 'what moved today?', 'top gainers' • Fear & Greed: 'how's market sentiment?', 'fear greed index' • Fundamentals: 'is AAPL overvalued?', 'NVDA margins' • Options: 'options for SPY', 'put/call ratio TSLA' • Calendars: 'earnings today', 'macro events this week' • Daily brief: 'morning summary', 'daily digest' • Price: 'AAPL price', 'what is SPY trading at' RESPONSE: { question, intent, insight (1-sentence summary), data (raw endpoint output) } PRICING: $0.05 per call.
Daily Brief — one-call morning digest for trading agents. Bundles 4 data sources into a single paid call: • Fear & Greed Index (score + rating + weekly delta) • Market Movers (top 5 gainers, losers, 3 most active) • Earnings Today (companies reporting today with EPS estimates) • Economic Events Today (high/medium impact macro events) HOW TO CALL: POST /daily_brief (no parameters) All four sources are fetched in parallel. Results use each source's own cache TTL. PRICING: $0.05 per call (vs $0.06 calling each source individually).
Earnings Calendar — companies reporting earnings on a given date. HOW TO CALL: POST /get_earnings_calendar?date=2026-06-09 PARAMETERS: date — YYYY-MM-DD (default: today UTC) RESPONSE FIELDS (per company): ticker, company, time (BMO=before open / AMC=after close), eps_estimate, eps_actual, revenue_estimate, revenue_actual, market_cap, last_year_eps Source: Nasdaq public API; falls back to yfinance watchlist. Cached 6 hours. PRICING: $0.02 per call.
Economic Calendar — macro events (CPI, Fed meetings, NFP, GDP, PMI, etc.). HOW TO CALL: POST /get_economic_calendar?period=this_week¤cies=USD,EUR&importance=high PARAMETERS: period — 'today' | 'tomorrow' | 'this_week' (default) | 'next_week' | 'this_month' currencies — comma-separated codes: USD, EUR, GBP, JPY, CNY, AUD, CAD, CHF, etc. (default: USD,EUR,GBP,JPY) importance — comma-separated: 'high', 'medium', 'low' (default: all three) RESPONSE FIELDS (per event): date, time (UTC), currency, impact, event, actual, forecast, previous Source: Investing.com AJAX; serves stale cache if live fetch fails. Cached 6 hours. PRICING: $0.02 per call.
Fear & Greed Index — CNN's composite market sentiment score (0=Extreme Fear, 100=Extreme Greed). HOW TO CALL: POST /get_fear_greed (no parameters) RESPONSE FIELDS: score — current index value (0–100) rating — 'Extreme Fear' | 'Fear' | 'Neutral' | 'Greed' | 'Extreme Greed' previous_week — score from 1 week ago previous_month — score from 1 month ago previous_year — score from 1 year ago components — breakdown of the 7 sub-indicators (momentum, VIX, put/call, etc.) history_30d — daily score for the last 30 days Data cached 4 hours. PRICING: $0.01 per call.
Company Fundamentals — comprehensive financial metrics for any stock ticker. HOW TO CALL: POST /get_fundamentals?ticker=AAPL PARAMETERS: ticker — stock symbol (required, e.g. 'AAPL', 'MSFT', 'NVDA') RESPONSE SECTIONS: valuation — market_cap, P/E, P/B, P/S, EV/EBITDA, PEG profitability — gross/operating/net margin, ROE, ROA, EBITDA growth — revenue_growth, earnings_growth (YoY) per_share — EPS (TTM + forward), book value, revenue per share dividends — yield, rate, payout ratio, ex-date balance_sheet — total cash/debt, D/E ratio, current & quick ratio price_stats — 52-week high/low, 50/200d MA, beta, short interest analyst — recommendation, price target (mean/high/low) revenue_annual_B / net_income_annual_B — last 4 years, in billions Cached 24 hours. PRICING: $0.02 per call.
Hardware Price Index — daily-refreshed CPU and GPU price data. Returns two data layers: 1. hardware_prices — retail prices scraped from PCPartPicker, bucketed by tier (budget / mid-range / high-end). Null if scraping is unavailable. 2. market_index — live semiconductor stock prices (NVDA, AMD, INTC) as a market-sentiment proxy. Always available via yfinance. HOW TO CALL: POST /get_hardware_prices?category=gpu PARAMETERS: category — 'cpu', 'gpu', or 'all' (returns both) CPU tier thresholds: budget <$150 | mid $150–$350 | high >$350 GPU tier thresholds: budget <$300 | mid $300–$600 | high >$600 RESPONSE: { date, category, fetched_at, cached, market_index, hardware_prices } Data is cached for 24 hours (daily refresh). PRICING: $0.03 per call.
Latest Price — returns the most recent closing price and 1-day change for a ticker. Cheapest endpoint; ideal for quick price checks before or after pattern analysis. HOW TO CALL: POST /get_latest_price?ticker=AAPL PARAMETERS: ticker — asset symbol (e.g. AAPL, BTC-USD, SPY) RESPONSE: { ticker, date, close, change_pct }
Market Movers — real-time top gainers, losers, and most-active stocks from US markets. HOW TO CALL: POST /get_market_movers — all three lists, 10 stocks each POST /get_market_movers?category=gainers&count=5 — top 5 gainers only PARAMETERS: category — 'gainers' | 'losers' | 'active' | 'all' (default: all) count — results per category, 1–25 (default 10) RESPONSE FIELDS (per ticker): symbol, name, price, change (absolute), change_pct (%), volume, avg_volume, market_cap TOP-LEVEL: market_status — 'open' | 'pre_market' | 'after_hours' | 'closed' as_of — ISO 8601 timestamp Source: Yahoo Finance screener. Cached 5 minutes. PRICING: $0.02 per call.
Options Chain — full calls and puts for a ticker and expiration date. HOW TO CALL: POST /get_options_chain?ticker=AAPL POST /get_options_chain?ticker=AAPL&expiration=2026-07-18 PARAMETERS: ticker — stock symbol (required) expiration — expiration date 'YYYY-MM-DD' (default: nearest available) RESPONSE FIELDS: available_expirations — all available expiry dates spot_price — current underlying price atm_implied_volatility — avg IV of contracts within 5% of spot put_call_ratio — total put OI / total call OI calls / puts — arrays of: strike, bid, ask, lastPrice, volume, openInterest, impliedVolatility, inTheMoney Cached 1 hour. PRICING: $0.05 per call.
Pattern Machine — vectorized time series motif search. Given a query window (ticker + date range), finds the top-k closest historical price patterns using normalized L1/L2 distance. Returns matched pattern dates, closes, similarity scores, and aggregated 7-day and 30-day forward return statistics. HOW TO CALL: POST /get_patterns?ticker=AAPL&start_date=2024-01-02&end_date=2024-03-01&k=5&metric=l2&wrap=true&timeframe=1d PARAMETERS: ticker — asset symbol (e.g. AAPL, BTC-USD, SPY) start_date — query window start, inclusive (YYYY-MM-DD) end_date — query window end, exclusive (YYYY-MM-DD); must be > start_date k — number of analog patterns to return (default 3) metric — distance metric: 'l1' (Manhattan) or 'l2' (Euclidean, default) wrap — allow circular search across the full history (default true) timeframe — bar size: '1d' (default), '1h', '30m', '15m', etc. RESPONSE FIELDS (per match): dates — list of bar dates for the analog w
Pattern Machine OHLC — same vectorized motif search as /get_patterns, but returns full Open/High/Low/Close candlestick data for each matched pattern. Use this endpoint when you need to render candlestick charts of historical analogs. HOW TO CALL: POST /get_patterns_ohlc?ticker=AAPL&start_date=2024-01-02&end_date=2024-03-01&k=5&metric=l2&wrap=true&timeframe=1d PARAMETERS: identical to /get_patterns (ticker, start_date, end_date, k, metric, wrap, timeframe). RESPONSE FIELDS (per match): pattern_id — rank of this analog (1 = closest) dates — list of bar dates for the analog window opens — list of open prices highs — list of high prices lows — list of low prices closes — list of closing prices similarity — normalized distance score (lower = closer match) query_return — total return of your query window (%) description — human-readable label TOP-LEVEL RESPONSE FIELDS: ticker, start_date, end_date, timeframe, query_re
Pattern Machine Raw — cheapest tier. Same motif search as /get_patterns but returns only the matched dates, closes, and similarity scores. No forward-return statistics are computed. Use this for high-volume scanning or when you only need raw analog windows. HOW TO CALL: POST /get_patterns_raw?ticker=AAPL&start_date=2024-01-02&end_date=2024-03-01&k=5&metric=l2&wrap=true&timeframe=1d PARAMETERS: ticker — asset symbol (e.g. AAPL, BTC-USD, SPY) start_date — query window start, inclusive (YYYY-MM-DD) end_date — query window end, exclusive (YYYY-MM-DD); must be > start_date k — number of analog patterns to return (default 3) metric — distance metric: 'l1' (Manhattan) or 'l2' (Euclidean, default) wrap — allow circular search across the full history (default true) timeframe — bar size: '1d' (default), '1h', '30m', '15m', etc. RESPONSE FIELDS (per match): dates — list of bar dates for the analog window closes — list of closi
Price History — returns OHLC candlestick bars for any ticker and date range. Data is fetched from yfinance on first request and cached locally. Supports daily and intraday timeframes. HOW TO CALL: POST /get_price_history?ticker=AAPL&start_date=2024-01-02&end_date=2024-03-01 PARAMETERS: ticker — asset symbol (e.g. AAPL, BTC-USD, SPY, QQQ) start_date — inclusive start date (YYYY-MM-DD) end_date — inclusive end date (YYYY-MM-DD) timeframe — bar size: '1d' (default), '1h', '30m', '15m' RESPONSE: { ticker, timeframe, bars: [{date, open, high, low, close}] }
Google Trends — returns the top trending search queries for a country or worldwide, for a given time window (daily, weekly, or monthly). HOW TO CALL: POST /get_trends?period=daily&geo=US PARAMETERS: period — time window: 'daily' (today's hot searches), 'weekly' (last 7 days real-time trends), 'monthly' (top searches for the current year) geo — ISO 3166-1 alpha-2 country code (e.g. US, IN, GB, FR, DE, JP, BR, AU) or 'WORLDWIDE' for global trends RESPONSE: { period, geo, fetched_at, count, trends: [string], cached, note? } Results are cached: daily=6h, weekly=12h, monthly=24h. NOTES: • Daily worldwide is not available from Google Trends; US is used as a global proxy. • Monthly returns the current year's top annual searches (previous year if current unavailable). • If Google Trends rate-limits the request, a 503 is returned — retry in a few minutes. PRICING: $0.02 per call.
Portfolio Optimizer — Markowitz mean-variance optimization for a basket of assets. HOW TO CALL: POST /optimize_portfolio?tickers=AAPL,MSFT,NVDA,SPY&period=1y&objective=max_sharpe PARAMETERS: tickers — comma-separated list of 2–30 ticker symbols (required) period — historical window: '6mo' | '1y' (default) | '2y' | '3y' | '5y' objective — 'max_sharpe' (default) | 'min_volatility' | 'max_return' risk_free_rate — annual risk-free rate for Sharpe ratio (default: 0.04) RESPONSE FIELDS: allocation — {ticker: weight} dict, weights sum to 1.0 metrics — expected_annual_return, annual_volatility, sharpe_ratio benchmark_equal_weight — same metrics for a naive equal-weight portfolio correlation_matrix — pairwise return correlations Cached 6 hours per (tickers, period, objective). PRICING: $0.10 per call.
Pattern Screener — scan up to 50 tickers in a single call and rank them by how closely their current price action matches historical patterns. Returns tickers ranked by similarity (best match first) with the top analog start date and query window return. Ideal for portfolio monitoring agents and quant bots that need to sweep a universe of symbols. HOW TO CALL: POST /screen?tickers=AAPL,MSFT,GOOGL,SPY,QQQ&start_date=2025-03-01&end_date=2025-06-01 PARAMETERS: tickers — comma-separated symbols, max 50 (e.g. AAPL,MSFT,BTC-USD,SPY) start_date — query window start, inclusive (YYYY-MM-DD) end_date — query window end, exclusive (YYYY-MM-DD) timeframe — bar size: '1d' (default), '1h', '30m', '15m' metric — distance metric: 'l1' or 'l2' (default) sort_by — 'similarity' (default, lower = better match) or 'return' RESPONSE: { screened, results: [{ ticker, similarity, query_return, top_match_start, status }] } Results are sorted ascending by similarity. Tickers t
arXiv Paper Search — find academic papers by keyword with optional category filter. HOW TO CALL: POST /search_arxiv?query=diffusion+model+finance&category=q-fin.ST&max_results=10 PARAMETERS: query — free-text search (required) category — arXiv category code (e.g. 'cs.AI', 'q-fin.ST', 'quant-ph') OR group alias: ai | finance | crypto | bio | physics | econ max_results — 1–50 (default 10) sort_by — 'submittedDate' (default) | 'relevance' | 'lastUpdatedDate' RESPONSE FIELDS (per paper): id, title, abstract (truncated to 600 chars), authors, published, updated, primary_category, categories, pdf_url, url Cached 12 hours per (query, category). PRICING: $0.02 per call.
Price Alert — register a webhook that fires when a stock crosses a threshold. HOW TO CALL: POST /watch/register?ticker=AAPL&condition=price_above&threshold=220&webhook_url=https://... PARAMETERS: ticker — stock symbol to monitor (required) condition — 'price_above' | 'price_below' | 'change_pct_above' | 'change_pct_below' threshold — trigger value: price in USD or % change (e.g. 5.0 = +5%) webhook_url — HTTPS URL to POST when triggered (required) ttl_days — alert lifetime 1–90 days (default 30) WEBHOOK PAYLOAD (sent when triggered): {watch_id, ticker, condition, threshold, current_price, change_pct, triggered_at, source} Alerts fire once then deactivate. Check status: GET /watch/status?watch_id=... PRICING: $0.10 per registration.
# one-time setup
npx @apihubio/cli register
npx @apihubio/cli topup 10
# call it
npx @apihubio/cli call https://market2000.xyz \
-X POST \
-d '{ /* check provider docs for input */ }'
# or save it to Claude/Cursor/Codex
npx @apihubio/cli install
npx @apihubio/cli add https://market2000.xyzimport { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const client = createWalletClient({ account, chain: base, transport: http() });
const x402Fetch = wrapFetchWithPayment(client);
const res = await x402Fetch("https://market2000.xyz", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ /* check provider docs for input */ }),
});
const data = await res.json();This is an external service not operated by APIHub. Listing data is sourced from public on-chain records and third-party indexes. Payment goes directly to the service provider via the x402 protocol. APIHub does not guarantee availability, accuracy, or quality of external services.