Tradeeasy · AI
v3.2.1 · DFSA REGULATED
◎ priming your morning brief
Good morning.
TradeEasy AI is reading the market for you.
◐ INGESTING 2.4M DATA POINTS0%
Overnight moves
Your 7 positions
Calendar · 3 events
Briefing draft
Voice rehearsal
Gold often moves inversely to the dollar — when DXY breaks below 104, the metal tends to rally within 48 hours.
ATLAS · MARKET PATTERNS · 18 YEAR BACKTEST
XAU
3,214.80
+2.14%
BTC
67,420
+0.62%
SPX
5,684
+0.18%
EUR
1.0842
−0.04%
OIL
81.40
+1.20%
JPY
157.04
+0.24%
NVDA
892.40
+3.11%
XAG
31.92
+1.80%
AAPL
198.20
+0.44%
ETH
3,520
+1.02%
XAU
3,214.80
+2.14%
BTC
67,420
+0.62%
SPX
5,684
+0.18%
EUR
1.0842
−0.04%
OIL
81.40
+1.20%
JPY
157.04
+0.24%
NVDA
892.40
+3.11%
XAG
31.92
+1.80%
AAPL
198.20
+0.44%
ETH
3,520
+1.02%
XAU
3,214.80
+2.14%
BTC
67,420
+0.62%
SPX
5,684
+0.18%
EUR
1.0842
−0.04%
OIL
81.40
+1.20%
JPY
157.04
+0.24%
NVDA
892.40
+3.11%
XAG
31.92
+1.80%
AAPL
198.20
+0.44%
ETH
3,520
+1.02%
© 2026 TRADEEASY · DFSA REGULATED · DIFC DUBAI
Get API Key →

Developer documentation · v1

TradeEasy API

Integrate AI-powered market intelligence — sentiment, dealer gamma, COT positioning, and real-time webhooks — into your applications.

Get Your API Key →
34 EndpointsReal-time DataWebhook Support

From zero to first response in 60 seconds.

🔑Step 01

Get your key

Head to your account settings and generate a new API key. Each key is scoped to your subscription tier.

te_pub_b3f9_a17c
Step 02

Make a request

Pass your key in the X-API-Key header. All endpoints are HTTPS-only with JSON responses.

curl -X GET "https://api.tradeeasy.co/public/v1/sentiment/AAPL" \
  -H "X-API-Key: te_pub_b3f9a17c92ef…"
Step 03

Get intelligence

Every response follows a consistent envelope. Parse data for your payload, check success for status.

{
  "success": true,
  "data": {
    "symbol": "AAPL",
    "score": 0.72,
    "label": "bullish"
  }
}

Every route, every parameter.

Browse all 34 endpoints across 18 categories. Click any row to expand full details, parameters, and code examples.

Sentiment · 2 endpoints

Sentiment Analysis

AI-powered sentiment scores and historical sentiment trends for any supported symbol.

GET/public/v1/sentiment/{symbol}Current sentiment score and breakdown
ParameterTypeDescription
symbolrequiredstringTicker symbol (e.g. AAPL, EUR/USD)
sourcesoptionalstringComma-separated source filter (news, social, filings)
curl -X GET "https://api.tradeeasy.co/public/v1/sentiment/AAPL" \
  -H "X-API-Key: te_pub_b3f9a17c92ef..."
{
  "success": true,
  "data": {
    "symbol": "AAPL",
    "score": 0.72,
    "label": "bullish",
    "sources": {
      "news": 0.68,
      "social": 0.81,
      "filings": 0.64
    },
    "updated_at": "2026-05-17T14:30:00Z"
  }
}
Rate: 100 req/min (Premium) · 500 req/min (Annual)

Trade Briefs · 2 endpoints

Trade Briefs

Daily and weekly AI-generated trade briefings with key levels and catalysts.

Risk · 2 endpoints

Risk Assessment

AI-driven risk scores and portfolio-level risk analysis.

Predictions · 2 endpoints

Price Predictions

AI price-target predictions and scenario analysis powered by machine learning models.

Market Regime · 2 endpoints

Market Regime

Detect current market regime (risk-on, risk-off, transition) and regime history.

Breaking News · 2 endpoints

Breaking News

Real-time breaking market news, filterable by symbol or category.

Economic Calendar · 2 endpoints

Economic Calendar

Upcoming and current economic events with expected impact ratings.

COT · 2 endpoints

COT Reports

Commitment of Traders data — institutional positioning and historical trends.

Signals · 2 endpoints

Trading Signals

AI-generated trade signals with entry, target, and stop levels.

Portfolio · 1 endpoint

Portfolio Summary

Aggregated portfolio view with P&L, allocation, and risk metrics.

Volatility · 1 endpoint

Volatility Surface

Implied and realized volatility data for options-aware trading.

Reports · 2 endpoints

Research Reports

AI-generated morning and weekly research reports for the broad market.

Narrative · 2 endpoints

Market Narrative

AI-composed narrative analysis — the story behind the price action.

Watchlist · 1 endpoint

Watchlist Data

Retrieve your curated watchlist with live pricing and sentiment overlay.

Macro Ideas · 1 endpoint

Macro Ideas

AI-curated macro trade ideas based on economic data flows and positioning.

GEX · 1 endpoint

Gamma Exposure

Dealer gamma exposure (GEX) levels — key for identifying pin risk and volatility catalysts.

Technical · 1 endpoint

Technical Analysis

AI-powered technical analysis with pattern detection, support/resistance, and indicators.

Webhooks · 6 endpoints

Webhook Management

Create, manage, and test real-time webhook subscriptions for market events.

One key, every request.

All API requests require a valid API key passed in the X-API-Key header. Keys are tied to your subscription tier and can be rotated from your account dashboard.

Header format

Include this header on every request:

X-API-Key: te_pub_b3f9a17c92ef…

Storing your key

Store your key in an environment variable — never hard-code it.

# .env
TRADEEASY_API_KEY=te_pub_b3f9a17c92ef…
Security warningNever expose your API key in client-side code, public repositories, or browser requests. Rotate immediately if compromised.

Analyze any asset, on demand.

The per-symbol core endpoints — /sentiment/{symbol}, /technical/{symbol}, /narrative/{symbol} and /predictions/intraday/{symbol} — can analyze assets that aren’t in our cache yet. The first time you request an uncached symbol we validate the ticker, queue analysis, and add the asset to your watchlist so it stays fresh on every subsequent call.

How it works

  • Cached & fresh200 — data returned
  • Cached but stale200 — meta.stale=true + auto-refresh
  • Not cached yet202 — queued, poll for status
  • Unknown ticker404 SYMBOL_NOT_FOUND

Triggering analysis adds the asset to your watchlist (counted against your per-tier cap) and returns immediately — never blocking while analysis runs. Freshness window: 120 minutes.

202 Accepted response

A cache miss returns 202 with a job id, a poll URL and a Retry-After header.

HTTP/1.1 202 Accepted
Retry-After: 8

{
  "success": true,
  "data": {
    "status": "pending",
    "symbol": "NVDA",
    "job_id": "odj_9f1c…",
    "poll_url": "/public/v1/analysis/status/odj_9f1c…",
    "result_url": "/public/v1/sentiment/NVDA",
    "retry_after": 8
  },
  "meta": { "accepted": true, "retry_after": 8 }
}

GET /public/v1/analysis/status/{job_id}

Poll the job until state is ready. States: pendingrunning ready | failed. When ready, fetch result_url for the data.

On-demand analysis generates sentiment immediately. For technical, narrative and predictions, readiness reflects that sentiment is live — the kind-specific data is backfilled by its scheduled pipeline once the asset joins your watchlist, so those result_urls may keep returning 202 until the next pipeline run. The response includes a note field explaining this, and the immediate result is always available at /sentiment/{symbol}.

curl -X GET \
  "https://api.tradeeasy.co/public/v1/analysis/status/odj_9f1c..." \
  -H "X-API-Key: te_pub_b3f9a17c92ef..."

{
  "success": true,
  "data": {
    "job_id": "odj_9f1c...",
    "symbol": "NVDA",
    "state": "ready",
    "requested_at": "2026-05-30T15:09:03Z",
    "result_url": "/public/v1/sentiment/NVDA"
  },
  "meta": { "state": "ready" }
}

Stale data refresh

When cached analysis is older than the freshness window we return it immediately with meta.stale=true (plus meta.age_seconds and meta.refreshed_at) and kick a background refresh — so your next call returns fresh data. You are never blocked waiting.

Per-tier watchlist caps

Each new asset you analyze is added to your watchlist. Adding a new asset beyond your cap returns 403 WATCHLIST_LIMIT_REACHED — remove an asset to continue. There is no per-call analysis credit; the scheduled pipeline keeps tracked assets fresh.

  • Premium50 assets
  • Annual200 assets
  • Lifetime500 assets
Not available for every endpointCOT, GEX (gamma exposure) and volatility-forecast endpoints depend on data sources that don’t exist for every asset class (equities have no COT; GEX needs listed options). These never trigger on-demand analysis — they return 404 NOT_AVAILABLE_FOR_ASSET when no data exists for the requested symbol.

Built for production scale.

Rate limits are enforced per API key. Exceeding limits returns a 429 with a Retry-After header.

Premium · $99.99/mo

100

requests per minute

  • Daily limit 5,000 req/day
  • Webhooks 5 subscriptions
  • Support Standard

Annual · $500/yr

500

requests per minute

  • Daily limit 25,000 req/day
  • Webhooks 25 subscriptions
  • Priority routing Yes
  • Support Priority

Response headers

Every response includes rate-limit metadata so you can manage your budget programmatically.

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1716000060
Retry-After: 12

Real-time event delivery.

Subscribe to market events and receive instant HTTPS callbacks. All payloads are signed with HMAC-SHA256 for verification.

EventDescriptionPayload fields
sentiment.flipSentiment direction changes (bullish ↔ bearish)symbol, old_label, new_label, score
breaking_news.alertHigh-impact breaking news publishedheadline, category, impact, symbols
prediction.updatePrice prediction model updatedsymbol, predicted_close, confidence
risk.alertRisk score crosses thresholdsymbol, score, label, threshold
signal.newNew trade signal generatedsymbol, direction, entry, target, stop
market_regime.changeMarket regime transition detectedfrom, to, confidence

Signature verification

Verify webhook authenticity using the X-TradeEasy-Signature header and your webhook secret.

import hmac, hashlib

def verify(payload: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(
        secret.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

Retry policy

Failed deliveries are retried with exponential backoff — up to 4 attempts, with a 10s timeout per attempt. After 10 consecutive failures the subscription is automatically disabled.

Attempt 1 →  immediate
Attempt 2 →  after 1s
Attempt 3 →  after 5s
Attempt 4 →  after 30s
backoff schedule: 1s · 5s · 30s · 300s
─── auto-disabled after 10 consecutive failures ───

Consistent envelopes, always.

Every response — success or error — follows the same JSON structure so your error handling is predictable.

Success envelope

{
  "success": true,
  "data": { … },
  "meta": {
    "timestamp": "2026-05-17T14:30:00Z",
    "request_id": "req_8f2a9b4c"
  }
}

Error envelope

{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded. Retry after 12s.",
    "status": 429
  }
}
CodeStatusDescription
UNAUTHORIZED401Missing or invalid API key
FORBIDDEN403API key does not have access to this resource
SYMBOL_NOT_FOUND404Ticker could not be validated against our market-data provider (FMP)
INVALID_SYMBOL400Symbol is malformed or unsupported (e.g. too long, discontinued asset)
NOT_AVAILABLE_FOR_ASSET404Endpoint data does not exist for this asset class (COT / GEX / volatility)
WATCHLIST_LIMIT_REACHED403Per-tier tracked-asset cap reached — remove an asset before triggering a new one
ON_DEMAND_RATE_LIMIT429Too many new-asset analysis triggers — slow down
JOB_NOT_FOUND404Analysis job id is unknown or has expired
UPSTREAM_UNAVAILABLE502Market-data provider was temporarily unreachable during symbol validation
INVALID_PARAM422A query parameter has an invalid value
RATE_LIMITED429Too many requests — slow down
INTERNAL_ERROR500Unexpected server error — retry with backoff

Ready to integrate?

Get Your API Key →

Questions? Reach out at api@tradeeasy.co