/v1/sentiment/{ticker}AI Sentiment Score time series across all models./v1/consensus/{ticker}Cross-model consensus, visibility and narrative scores./v1/themes/{ticker}Narrative themes tracked over time with velocity./v1/universeList tickers available to your tier./v1/streamReal-time signal push (Enterprise).curl https://api.pulsesignals.ai/v1/sentiment/NVDA \
-H "Authorization: Bearer rgp_live_..." \
-H "Accept: application/json"# backtest.ipynb — AI sentiment signal vs. forward returns
import pandas as pd
from pulse_signals import Client
client = Client(api_key="rgp_live_...")
# Pull 6 months of sentiment + price
df = client.sentiment("NVDA", period="6m").to_frame()
# Simple signal: long when sentiment > 60, flat otherwise
df["signal"] = (df["sentiment"] > 60).astype(int)
df["fwd_ret"] = df["price"].pct_change().shift(-1)
df["strategy"] = df["signal"] * df["fwd_ret"]
equity = (1 + df["strategy"].fillna(0)).cumprod()
print("Total return:", round((equity.iloc[-1] - 1) * 100, 1), "%")Professional and Enterprise tiers remove the delay and unlock WebSocket streaming.
View pricing →