Structured data, filing analysis, research context, and agentic workflows for modern value investing. 48 authenticated endpoints organized into three bundles, plus two async add-on services.
The full endpoint catalog remains below. Current access is a paid beta with manual token provisioning, three live Fly services, and some features kept contact-only.
Access is currently provisioned directly. Contact me through the homepage to request a token.
| item | current rule |
|---|---|
| Auth header | X-API-Key: YOUR_TOKEN |
| Provisioning | Manual paid-beta onboarding |
| Utility route | GET /api/billing/me to confirm plan and quota |
| Security | Keep tokens server-side when possible; do not expose them in public frontend code |
| service | base URL | public route | authenticated route |
|---|---|---|---|
| Data API Lite | data-api-lite.fly.dev | GET /api/health |
GET /api/billing/me |
| Meta-Thinking Lite | meta-thinking-lite.fly.dev | GET /api/health |
GET /api/billing/me |
| Corporate Sim | corporate-sim.fly.dev | GET /api/health |
GET /api/billing/me |
The catalog below documents the broader API surface. Availability in the current paid beta depends on bundle and provisioning.
| capability | status | current treatment |
|---|---|---|
| Screening and market data | Available now | Public paid-beta access. |
| Selected financials and filing capabilities | Available now | Provisioned by bundle and usage tier. |
| Meta-thinking and corporate simulation | Available now | Paid-beta add-ons. |
| Close Read full delivery | Available upon conversation | Private delivery or private provisioning. |
| RAG, ProQuest, CRSP, ad hoc SQL, graph traversal, Bayesian inference | Contact-only | Not public in the current lite deployment. |
All endpoints require an X-API-Key header except /data/health. Keys are issued per account and scoped to the endpoint bundles you subscribe to.
$ curl https://api.chenyu-li.info/data/screening/NVDA \ -H "X-API-Key: YOUR_KEY"
The fastest way to see the product: call the combined screening endpoint for any ticker.
$ curl https://api.chenyu-li.info/data/screening/NVDA \ -H "X-API-Key: YOUR_KEY" { "veto": { /* pass/fail quality checks */ }, "durability": { /* competitive position scores */ }, "price": { /* valuation metrics */ }, "two_track": { /* bull/bear scenario ranges */ } }
All errors return JSON. The current paid beta distinguishes invalid keys, plan restrictions, and features that are not public in the lite deployment.
| status | code | meaning |
|---|---|---|
| 401 | invalid_api_key | Missing, malformed, revoked, or unknown token |
| 402 | Payment Required | Plan does not include the requested endpoint family, add-on, or quota band |
| 403 | feature_not_public | Endpoint is intentionally not part of the current public lite deployment |
| 404 | not_found | Ticker, CIK, or resource not found |
| 429 | rate_limited | Rate limit exceeded |
| 500 | internal_error | Internal error |
Health check. No authentication required. Returns service status and version.
Machine-readable endpoint reference. Returns the curated contract with version hash, endpoint list, and parameter schemas.
Lists all available data tables, source families, and their update frequencies.
Column definitions, types, and sample values for a specific table.
table — table name from /data/schemaResolution, screening, market snapshots, ADR lookups, and special situations. The fastest entry point for dashboard builders and screener tools.
Batch ticker resolution. Accepts a comma-separated list and returns canonical identifiers, CIKs, and exchange info.
tickers — comma-separated list (e.g. NVDA,AAPL,KSPI)Single ticker resolution. Returns canonical name, CIK, exchange, sector, and industry.
Combined screening output: veto checks, durability scores, valuation metrics, and bull/bear two-track ranges. The single most useful endpoint for a first look at any company.
$ curl https://api.chenyu-li.info/data/screening/KSPI \ -H "X-API-Key: YOUR_KEY"
Quality veto checks only. Pass/fail flags for accounting red flags, governance issues, and structural concerns.
Competitive durability scores. Moat strength, margin stability, reinvestment quality, and capital allocation history.
Valuation metrics. Current multiples, historical ranges, and implied growth rates.
Bull/bear scenario ranges. Upside and downside price targets with key assumptions and probability-weighted expected value.
Market data by category. Returns latest snapshots for a predefined group (e.g. semiconductors, financials, adr-japan).
category — group name from available market categoriesSingle-ticker market snapshot. Price, volume, 52-week range, and basic technicals.
Top gainers, losers, and most active across the research universe.
Japanese ADR data. Local-listed price, ADR premium/discount, FX-adjusted fair value, and cross-listing details.
Full list of tracked ADRs with current premium/discount and liquidity metrics.
Active special situations watchlist. Spin-offs, mergers, restructurings, and catalyst-driven events being tracked.
Special situation detail for a specific ticker. Event type, timeline, catalyst, and current status.
Company financials, SEC filing analytics, RAG retrieval, ML-based scoring, and one-call context assembly. The bundle for deep issuer-level research.
Annual financial statements. Income statement, balance sheet, and cash flow with standardized line items.
Quarterly financial statements. Same structure as annual, with TTM calculations.
Derived financial ratios. Profitability, leverage, efficiency, and growth metrics across available history.
Filing section summary. Gap map, topic extraction, and specificity scores for a specific 10-K/10-Q item.
cik — SEC CIK number; year — filing year; item — section (e.g. 1A, 7)$ curl https://api.chenyu-li.info/data/filing/1045810/2024/7/summary \ -H "X-API-Key: YOUR_KEY"
Topic extraction across all sections of a filing year. Identifies key themes, risks, and strategic shifts.
Metadata for the most recent filing. Filing date, type, period, and available section items.
Gap map across all filing sections for a given year. Highlights sections with thin disclosure or boilerplate language.
Specificity analysis for a filing section. Measures concrete vs. vague language with sentence-level annotations.
Vector search across filings. Finds semantically similar passages from peer company filings.
{"query": "...", "ticker": "...", "top_k": 10}General vector search across the filing corpus. Not scoped to a specific ticker — searches all available documents.
ML-derived quality and risk scores. Composite scoring across financial health, disclosure quality, and competitive position.
Raw feature vectors used in ML scoring. Useful for building custom models on top of the platform's feature extraction.
Current ML scoring universe. Lists all tickers with available scores and the date of last model run.
One-call context assembly for a ticker. Pulls screening, financials, filing data, and ML scores into a single structured response. Designed for LLM and agent workflows.
{"ticker": "...", "sections": ["screening", "financials", "filing", "ml"]}$ curl -X POST https://api.chenyu-li.info/data/context \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "ticker": "KSPI", "sections": ["screening", "financials", "filing", "ml"] }'
Lists all available context sections and their fields. Useful for discovering what data the context endpoint can assemble.
Entity graph search, government and economic datasets, historical research tables, and read-only SQL. The bundle for advanced analysts and institutional workflows.
Shortest path between two entities in the research graph. Finds connections through shared directors, subsidiaries, suppliers, or institutional holders.
from — source entity; to — target entity; max_hops — optional (default 4)Direct neighbors of an entity. Returns all first-degree connections with relationship types and edge weights.
entity — entity ID or ticker; type — optional filter (e.g. director, supplier)Entity detail. Full metadata for a node in the research graph — type, name, properties, and connection count.
Full-text search across graph entities. Find companies, people, or institutions by name fragment.
q — search term; type — optional entity type filterGovernment dataset by source. Returns the latest available data for a specific source (e.g. bls, census, bea).
FRED economic series. Returns time series data for any FRED series ID (e.g. GDP, UNRATE, DGS10).
start — optional start date; end — optional end dateTreasury yield curve. Current and historical yields across maturities.
Available government data sources and their last update timestamps.
Read-only SQL on unified research tables. Execute analytical queries across financials, filings, market data, and derived scores.
{"sql": "SELECT ..."}$ curl -X POST https://api.chenyu-li.info/data/query \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "sql": "SELECT ticker, roe, roic FROM financials WHERE roe > 0.2 ORDER BY roic DESC LIMIT 20" }'
Lists all tables available for SQL queries, with column schemas. Use this before constructing queries.
Historical financial data from the ProQuest research dataset. Longer time series than the standard financials endpoint.
ticker — company ticker; years — optional range (default all available)Search ProQuest research archive by keyword, date range, or company.
CRSP historical data for a ticker. Returns, delisting info, share adjustments, and distribution history.
Historical return series. Daily, monthly, and annual returns with drawdown and volatility statistics.
period — daily, monthly, or annual; start / end — date rangeMeta-Thinking and Corporate Simulation are async job-based services billed separately from the data API. Submit a job, poll for status, consume the result.
Submit an async belief-state analysis job. Produces a structured interpretation layer over the raw data for a given ticker and catalyst.
{"ticker": "...", "catalyst": "..."}$ curl -X POST https://api.chenyu-li.info/meta-thinking/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "ticker": "NVDA", "catalyst": "AI capex digestion" }' { "job_id": "mt-abc123", "status": "pending" }
Poll job status and retrieve results when complete. Status transitions: pending → running → complete.
Submit an async corporate strategy simulation. Round-based competitive simulation with configurable scenarios.
{"scenario": "...", "rounds": 5, "companies": [...]}$ curl -X POST https://api.chenyu-li.info/sim/run \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "scenario": "semiconductor" }' { "job_id": "sim-xyz789", "status": "pending" }
Poll simulation status and retrieve completed results with round-by-round output and final rankings.
Server-sent events stream for a running simulation. Receive round results as they complete.