ReviewSignal

Developer Portal

Access consumer sentiment signals, trading recommendations, and alternative data through our REST API.

Get API Key Interactive Docs (Swagger) API Reference (ReDoc)
Base URL
https://reviewsignal.ai/api

Authentication

All API requests require a JWT token in the Authorization header:

HTTP Header
Authorization: Bearer YOUR_JWT_TOKEN

Get your token by logging in via POST /api/auth/login with your email and password. Tokens expire after 24 hours — use POST /api/auth/refresh to renew.

Quick Start
Get your first trading signal in 3 API calls.
Python
import requests

# 1. Login to get JWT token
auth = requests.post("https://reviewsignal.ai/api/auth/login", json={
    "email": "you@company.com",
    "password": "your_password"
})
token = auth.json()["token"]
headers = {"Authorization": f"Bearer {token}"}

# 2. Get trading signals
signals = requests.get(
    "https://reviewsignal.ai/api/dashboard/signals",
    headers=headers
).json()

for s in signals["signals"][:5]:
    print(f"{s['chain']:20} {s['signal']:6} confidence={s['confidence']:.0%}")

# 3. Get sentiment overview
overview = requests.get(
    "https://reviewsignal.ai/api/dashboard/overview",
    headers=headers
).json()
print(f"Tracking {overview['total_locations']} locations, {overview['total_reviews']} reviews")
cURL
# Login
curl -X POST https://reviewsignal.ai/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@company.com","password":"your_password"}'

# Get trading signals (replace TOKEN)
curl https://reviewsignal.ai/api/dashboard/signals \
  -H "Authorization: Bearer TOKEN"
API Endpoints
Key endpoints organized by category. See Swagger docs for the full list.
Authentication
POST/api/auth/login
Authenticate with email/password, returns JWT token.
POST/api/auth/refresh
Refresh an expiring JWT token.
GET/api/auth/me
Get current user profile, tier, and API usage.
Trading Signals
GET/api/dashboard/signals
BUY/HOLD/SELL signals with confidence scores for all tracked chains.
Requires: Signal tier+
GET/api/dashboard/movers
Top sentiment movers — biggest positive and negative shifts.
Requires: Signal tier+
GET/api/dashboard/forecast
Sentiment forecasts with confidence intervals.
Requires: Starter tier+
GET/api/dashboard/anomalies
Detected anomalies in review volume and sentiment.
Requires: Starter tier+
Sentiment Data
GET/api/dashboard/overview
Portfolio-level sentiment overview with KPIs.
Requires: Trial+
GET/api/dashboard/heatmap
Geographic sentiment heatmap data by city.
Requires: Signal tier+
GET/api/dashboard/globe
3D globe data — locations with lat/lng and sentiment scores.
Requires: Trial+
GET/api/dashboard/candlestick
OHLC-style sentiment candlestick chart data.
Requires: Starter tier+
Analysis Engines
GET/api/dashboard/echo-network
Echo Engine — sentiment propagation between chains and locations.
Requires: Pro tier+
GET/api/dashboard/competitors
Competitive radar chart — compare chains across dimensions.
Requires: Starter tier+
GET/api/v1/backtest/summary
Backtest track record — sentiment vs stock price correlation.
Requires: Pro tier+
GET/api/dashboard/higgs
Higgs phase analysis — market regime detection.
Requires: Enterprise
Alerts & Account
POST/api/alerts/rules
Create alert rules for sentiment drops, anomalies, or volume spikes.
Requires: Trial+ (limits by tier)
GET/api/billing/subscription
Current subscription tier, usage, and renewal date.
Rate Limits & Tier Access
API access depends on your subscription tier.
FeatureTrialSignal (€299)Starter (€999)Pro (€2,500)Enterprise (€5,000)
API calls / month1001,0005,00025,000Unlimited
Chains tracked51030100Unlimited
Trading signals
Sentiment forecast
Competitive analysis
Echo Engine
Backtest track record
SSO / SAML
Alert rules251025Unlimited
Response Format
All endpoints return JSON. Example trading signal response:
JSON Response — /api/dashboard/signals
{
  "signals": [
    {
      "chain": "Starbucks",
      "signal": "BUY",
      "confidence": 0.82,
      "sentiment_score": 0.64,
      "sentiment_delta_7d": 0.08,
      "review_count": 12847,
      "locations_tracked": 2891,
      "engine": "echo_v3"
    }
  ],
  "generated_at": "2026-03-18T12:00:00Z",
  "total_chains": 238
}
Error Handling
Standard HTTP status codes with JSON error details.
CodeMeaningAction
401UnauthorizedToken missing or expired. Re-login or refresh.
403ForbiddenYour tier doesn't include this feature. Upgrade at /dashboard/billing.html
429Rate LimitedToo many requests. Wait and retry with exponential backoff.
500Server ErrorContact team@reviewsignal.ai with the request details.
Need Help?

Our team is here to help you integrate ReviewSignal data into your workflow.