← Back to NexaMarkets

API Documentation ELITE PLAN

Access NexaMarkets sentiment data programmatically. Feed AI scores directly into your trading bots, analysis tools, or custom dashboards.

Authentication

All API requests require an API key. Generate your key from the Settings → API Keys section of your dashboard. Include it in every request header:

Authorization: Bearer YOUR_API_KEY

API keys are tied to your Elite subscription. Rate limit: 1,000 requests per day.

Endpoints

Get Latest Sentiment Score

GET /api/v1/sentiment?symbol=NVDA

Returns the latest sentiment score for a given asset.

Parameters:

symbol
string
Ticker symbol (e.g., NVDA, BTC, SPY, ES)

Response:

{
  "symbol": "NVDA",
  "score": 82,
  "label": "BULLISH",
  "confidence": "high",
  "velocity": 4.5,
  "mention_count": 23,
  "news_score": 85,
  "social_score": 74,
  "bullish_count": 18,
  "bearish_count": 3,
  "neutral_count": 2,
  "signal_type": "NORMAL",
  "summary": "NVDA sentiment is strongly bullish...",
  "score_change": +7,
  "previous_score": 75,
  "source_breakdown": {
    "finnhub": 8,
    "reddit": 5,
    "stocktwits": 6,
    "alphavantage": 2,
    "google_news": 2
  },
  "updated_at": "2026-03-22T13:00:00Z"
}

Get All Scores

GET /api/v1/sentiment/all

Returns the latest sentiment scores for all 72+ assets. Optionally filter by type.

type
string
Optional: stock, etf, crypto, futures
min_score
integer
Optional: minimum score filter (0-100)
max_score
integer
Optional: maximum score filter (0-100)

Get Historical Scores

GET /api/v1/sentiment/history?symbol=NVDA&days=30

Returns historical sentiment scores for an asset over a time period.

symbol
string
Required: ticker symbol
days
integer
Optional: number of days (default 7, max 90)

Get Trending Assets

GET /api/v1/trending

Returns top 10 assets ranked by momentum (velocity + change + mention volume).

Rate Limits

Elite plan: 1,000 requests per day. Rate limit headers are included in every response:

X-RateLimit-Remaining: 847
X-RateLimit-Reset: 2026-03-23T00:00:00Z

Error Codes

401 — Invalid or missing API key
403 — API access requires Elite plan
404 — Symbol not found
429 — Rate limit exceeded
500 — Internal server error

Example: Python

import requests

headers = {"Authorization": "Bearer YOUR_API_KEY"}
r = requests.get("https://nexamarkets.ai/api/v1/sentiment?symbol=NVDA", headers=headers)
data = r.json()

print(f"{data['symbol']}: {data['score']}/100 ({data['label']})")
print(f"Velocity: {data['velocity']} | Mentions: {data['mention_count']}")

Example: JavaScript

const res = await fetch('https://nexamarkets.ai/api/v1/sentiment?symbol=BTC', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
const data = await res.json();
console.log(`${data.symbol}: ${data.score}/100 (${data.label})`);

Need API access?

The API is available on the Elite plan ($99/mo). Generate your key in Dashboard → Settings → API Keys.

Upgrade to Elite →