Build with live market intelligence.
Access Nebula's sentiment, attention, narratives, and market-actor data through a clean REST API. Power dashboards, trading systems, and agents.
src/market-intelligence.ts
01const params = new URLSearchParams({02 asset_id: 'NVDA',03 hours: '24',04});05 06const sentiment = await get(07 '/sentiment',08 params,09);10 11return {12 symbol: 'NVDA',13 sentiment: sentiment.series.at(-1),14};01const params = new URLSearchParams({02 asset_id: 'NVDA',03 asset_class: 'equity',04 hours: '168',05});06 07const [sentiment, mindshare] = await Promise.all([08 get('/sentiment', params),09 get('/mindshare', params),10]);11 12return {13 symbol: 'NVDA',14 sentiment: sentiment.series.at(-1),15 mindshare: mindshare.series.at(-1),16};One API.Every market signal.
Build with sentiment, mindshare, narratives, and market actors. Use an API key, or pay for eligible reads from your wallet with x402. No Nebula account required for wallet payments.
- Stocks first
- Equity market intelligence
- One contract
- REST, MCP, and CLI
- x402 payments
- Pay per request with USDC on Base
import os import httpx API_URL = ( "https://nebula-api.hiddensystems.ai")API_KEY = os.environ["NEBULA_API_KEY"] async def get_assets() -> dict: async with httpx.AsyncClient( base_url=API_URL, ) as client: response = await client.get( "/api/v1/public/assets", params={ "query": "NVDA", "asset_class": "equity", }, headers={"X-API-Key": API_KEY}, ) response.raise_for_status() return response.json()Choose how to get started
Build on your own
Launch your market-intelligence product with:
- Live market intelligence in the Nebula app
- API, MCP, and CLI access
- Usage-based plans that scale
- Comprehensive documentation and guides
Get extra support
Custom limits and hands-on support for your team.
- Dedicated onboarding support
- Custom rate limits
- Custom endpoint and data access
- Commercial terms and invoicing
- Early access to new capabilities