Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: AudioAlpha Ticker API
version: 1.0.0
description: 'Market sentiment and narrative intelligence derived from podcast analysis.
**Getting Started:**
1. Generate your API key at https://audioalpha.io/account
2. Include the key in requests as: Authorization: Bearer YOUR_API_KEY
**MCP (Claude Integration):**
Connect to Claude Desktop by adding to your config:
```json
"mcpServers": {
"audioalpha": {
"command": "npx",
"args": ["mcp-remote", "https://www.audioalpha.io/api/mcp?apiKey=YOUR_KEY"]
}
}
```'
contact:
url: https://audioalpha.io
email: team@audioalpha.io
servers:
- url: https://www.audioalpha.io/api/v1
description: Production
security:
- bearerAuth: []
tags:
- name: Ticker
description: Asset-level sentiment and signals
paths:
/ticker/snapshot:
get:
tags:
- Ticker
summary: Get asset snapshot
description: Get detailed daily insights snapshot for a specific crypto asset. Returns daily asset summary, α-index (0-1), α-pulse (0-1), episode count, attention share (0-1), α-sentiment OHLC and 1-7 day delta (0-10 scale), bull/bear/neutral ratios (0-1), consensus score (0-1), novelty score (0-1), momentum, narrative intensity, narrative summary.
parameters:
- $ref: '#/components/parameters/ticker'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/snapshot_type'
- $ref: '#/components/parameters/version_number'
- $ref: '#/components/parameters/version_info'
responses:
'200':
description: Get asset snapshot
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/AssetSnapshot'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
operationId: getTickerSnapshot
x-operation-id-source: derived
/ticker/signals:
get:
tags:
- Ticker
summary: Get asset signals
description: Get scenario signals for a specific crypto asset. Returns signal type, time horizon, scenario description, trigger conditions, confidence score and invalidating conditions. (Not financial advice.)
parameters:
- $ref: '#/components/parameters/ticker'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/snapshot_type'
- $ref: '#/components/parameters/version_number'
- $ref: '#/components/parameters/version_info'
responses:
'200':
description: Get asset signals
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Signal'
snapshot_date:
type: string
format: date
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
operationId: getTickerSignals
x-operation-id-source: derived
/ticker/quotes/featured:
get:
tags:
- Ticker
summary: Get asset featured quotes
description: Get featured podcast quotes for a specific crypto asset on a given date, with α-sentiment scores (0-10 scale), ranked by selection score.
parameters:
- $ref: '#/components/parameters/ticker'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/snapshot_type'
- $ref: '#/components/parameters/version_number'
- $ref: '#/components/parameters/version_info'
responses:
'200':
description: Get asset featured quotes
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Quote'
snapshot_date:
type: string
format: date
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
operationId: getTickerQuotesFeatured
x-operation-id-source: derived
/ticker/history:
get:
tags:
- Ticker
summary: Get asset historical time series
description: 'Returns a time series of daily AudioAlpha asset snapshots for a single ticker, ordered oldest to newest. One row per day with α-index, α-pulse, α-sentiment OHLC and 1d/7d deltas, bull/bear/neutral ratios, consensus, novelty, surprise, momentum, attention share, narrative intensity and summary.
**Tier limits on `days`:** free=7, alpha=365, pro=730, enterprise=1000. Requests exceeding the limit are silently capped to the tier maximum.
**`date` (end-date anchor) is only honored for enterprise.** For free / alpha / pro it is ignored and the window always ends at the latest available snapshot. If today has no snapshot yet, the most recent existing snapshot is used as the anchor. This prevents back-testing on arbitrary historical periods.
Response includes `tier_cap`, `effective_days`, `start_date`, `end_date` and `date_param_honored` so clients can see exactly what window was returned.'
parameters:
- $ref: '#/components/parameters/ticker'
- $ref: '#/components/parameters/days'
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/snapshot_type'
- $ref: '#/components/parameters/version_info'
responses:
'200':
description: Get asset historical time series
content:
application/json:
schema:
type: object
properties:
ticker:
type: string
example: BTC
requested_days:
type: integer
example: 30
effective_days:
type: integer
example: 30
description: Actual window size used after tier capping
tier_cap:
type: integer
example: 730
description: Max days allowed for the caller's tier
date_param_honored:
type: boolean
example: false
description: Whether the supplied `date` end-date was honored. Only true for enterprise tier.
start_date:
type: string
format: date
end_date:
type: string
format: date
count:
type: integer
example: 30
data:
type: array
description: Daily snapshots, oldest first. Each row includes `snapshot_date` plus all AssetSnapshot fields.
items:
allOf:
- type: object
properties:
snapshot_date:
type: string
format: date
- $ref: '#/components/schemas/AssetSnapshot'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
operationId: getTickerHistory
x-operation-id-source: derived
/tickers/leaderboard:
get:
tags:
- Ticker
summary: Get ticker leaderboard
description: Get ticker leaderboard for a given date. Without category param, returns highlights object that includes assetSnapshot of top_alpha_index, top_alpha_pulse, top_riser, top_dropper, most_mentioned, most_surprising. With category param (alpha_index/alpha_pulse/risers/droppers/mentioned/surprising), returns array of LeaderboardEntry.
parameters:
- $ref: '#/components/parameters/date'
- $ref: '#/components/parameters/category'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/snapshot_type'
- $ref: '#/components/parameters/version_info'
responses:
'200':
description: Get ticker leaderboard
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/LeaderboardHighlights'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
operationId: getTickersLeaderboard
x-operation-id-source: derived
components:
parameters:
version_info:
name: version_info
in: query
required: false
schema:
type: boolean
default: false
description: 'When true, include version metadata in the response: both version_num (the revision number) and version_label (a human-readable label like "eod_utc" for the initial end-of-day build, or "revised" when a later-indexed podcast triggered a regeneration). When false (the default), neither field is included. Note: the snapshot generation "status" field is ALWAYS returned regardless of this flag.'
snapshot_type:
name: snapshot_type
in: query
required: false
schema:
type: string
default: crypto
enum:
- crypto
- tradfi
description: Asset universe to draw the snapshot from. Currently only "crypto" is available; "tradfi" is reserved for a future release. Defaults to "crypto".
limit:
name: limit
in: query
required: false
schema:
type: integer
default: 5
maximum: 20
description: Number of episodes to return (max 20, default 5)
version_number:
name: version_number
in: query
required: false
schema:
type: integer
default: -1
minimum: -1
description: Which revision of the snapshot to return. Each snapshot date can be re-generated multiple times (version 1, 2, 3, …). Use -1 (the default) to always get the latest authoritative version (is_latest = true). If you request a specific version that does not exist for the given date + snapshot_type, the latest version is returned instead.
date:
name: date
in: query
required: false
schema:
type: string
format: date
description: Date in YYYY-MM-DD format. Omit for latest.
category:
name: category
in: query
required: false
schema:
type: string
description: 'Leaderboard category: alpha_index, alpha_pulse, risers, droppers, mentioned, or surprising. Omit for highlights (top 1 from each).'
ticker:
name: ticker
in: query
required: true
schema:
type: string
description: 'Asset ticker symbol. IMPORTANT: all crypto tickers MUST be suffixed with "-USD" — e.g. BTC-USD, ETH-USD, SOL-USD. Bare symbols like "BTC" will not match and will return an empty / 404 response.'
days:
name: days
in: query
required: false
schema:
type: integer
default: 30
maximum: 1000
description: 'Number of historical days to return, counting back from the anchor date. Tier-capped: free=7, alpha=365, pro=730, enterprise=1000. Requests above the cap are silently capped.'
schemas:
LeaderboardHighlights:
type: object
properties:
top_alpha_index:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with highest surprise score
example:
ticker: BTC-USD
alpha_index: 0.88
alpha_pulse: 0.75
episode_count: 6
attention_share: 0.12
days_since_last_mention: 0
sentiment_mean: 6.8
sentiment_median: 6.7
sentiment_std: 0.8
sentiment_open: 6
sentiment_high: 7.5
sentiment_low: 6
sentiment_close: 7.2
sentiment_delta_1d: 0.2
sentiment_delta_7d: 0.8
bull_ratio: 0.62
bear_ratio: 0.18
neutral_ratio: 0.2
consensus_score: 0.72
surprise_score: 0.82
novelty_score: 0.55
sentiment_momentum: 0.12
narrative_intensity: 0.58
narrative_intensity_norm: 0.55
summary: BTC solid positive sentiment with strong narrative intensity...
category: top_alpha_index
value: 0.82
top_alpha_pulse:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with highest surprise score
example:
ticker: LINK-USD
alpha_index: 0.68
alpha_pulse: 0.95
episode_count: 6
attention_share: 0.12
days_since_last_mention: 0
sentiment_mean: 6.8
sentiment_median: 6.7
sentiment_std: 0.8
sentiment_open: 6
sentiment_high: 7.5
sentiment_low: 6
sentiment_close: 7.2
sentiment_delta_1d: 0.2
sentiment_delta_7d: 0.8
bull_ratio: 0.62
bear_ratio: 0.18
neutral_ratio: 0.2
consensus_score: 0.72
surprise_score: 0.82
novelty_score: 0.55
sentiment_momentum: 0.12
narrative_intensity: 0.58
narrative_intensity_norm: 0.55
summary: LINK stealing a lot of narrative...
category: top_alpha_pulse
value: 0.82
top_riser:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with highest positive sentiment change
example:
ticker: SOL-USD
alpha_index: 0.78
alpha_pulse: 0.72
episode_count: 8
attention_share: 0.15
days_since_last_mention: 0
sentiment_mean: 7.2
sentiment_median: 7
sentiment_std: 0.9
sentiment_open: 6.5
sentiment_high: 8
sentiment_low: 6.2
sentiment_close: 7.5
sentiment_delta_1d: 0.6
sentiment_delta_7d: 1.2
bull_ratio: 0.72
bear_ratio: 0.12
neutral_ratio: 0.16
consensus_score: 0.78
surprise_score: 0.35
novelty_score: 0.42
sentiment_momentum: 0.18
narrative_intensity: 0.65
narrative_intensity_norm: 0.62
summary: SOL showing strong momentum...
category: top_riser
value: 0.6
top_dropper:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with largest negative sentiment change
example:
ticker: DOGE-USD
alpha_index: 0.42
alpha_pulse: 0.28
episode_count: 4
attention_share: 0.08
days_since_last_mention: 0
sentiment_mean: 4.1
sentiment_median: 4
sentiment_std: 1.2
sentiment_open: 5
sentiment_high: 5.2
sentiment_low: 3.5
sentiment_close: 3.8
sentiment_delta_1d: -0.8
sentiment_delta_7d: -1.5
bull_ratio: 0.25
bear_ratio: 0.55
neutral_ratio: 0.2
consensus_score: 0.65
surprise_score: 0.45
novelty_score: 0.32
sentiment_momentum: -0.22
narrative_intensity: 0.48
narrative_intensity_norm: 0.45
summary: DOGE facing headwinds...
category: top_dropper
value: -0.8
most_mentioned:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with highest attention share
example:
ticker: BTC-USD
alpha_index: 0.85
alpha_pulse: 0.52
episode_count: 18
attention_share: 0.35
days_since_last_mention: 0
sentiment_mean: 6.5
sentiment_median: 6.4
sentiment_std: 1
sentiment_open: 6.2
sentiment_high: 7
sentiment_low: 5.8
sentiment_close: 6.6
sentiment_delta_1d: 0.1
sentiment_delta_7d: 0.4
bull_ratio: 0.58
bear_ratio: 0.22
neutral_ratio: 0.2
consensus_score: 0.82
surprise_score: 0.22
novelty_score: 0.28
sentiment_momentum: 0.05
narrative_intensity: 0.85
narrative_intensity_norm: 0.82
summary: BTC dominates discussion...
category: most_mentioned
value: 0.35
most_surprising:
allOf:
- $ref: '#/components/schemas/LeaderboardEntry'
description: Asset with highest surprise score
example:
ticker: LINK-USD
alpha_index: 0.68
alpha_pulse: 0.75
episode_count: 6
attention_share: 0.12
days_since_last_mention: 0
sentiment_mean: 6.8
sentiment_median: 6.7
sentiment_std: 0.8
sentiment_open: 6
sentiment_high: 7.5
sentiment_low: 6
sentiment_close: 7.2
sentiment_delta_1d: 0.2
sentiment_delta_7d: 0.8
bull_ratio: 0.62
bear_ratio: 0.18
neutral_ratio: 0.2
consensus_score: 0.72
surprise_score: 0.82
novelty_score: 0.55
sentiment_momentum: 0.12
narrative_intensity: 0.58
narrative_intensity_norm: 0.55
summary: LINK surprising the market...
category: most_surprising
value: 0.82
Quote:
type: object
properties:
quote:
type: string
description: The extracted quote text
status:
type: string
description: Generation status of the parent daily snapshot. "completed" once the snapshot has finished generating (the normal case); "writing" while it is being (re)generated, typically during the 00:00–00:01 UTC build window. Always present in the response.
example: completed
version_num:
type: integer
description: Revision number of the parent snapshot. Only present when version_info=true.
example: 1
version_label:
type: string
description: Version label of the parent snapshot (e.g. "eod_utc", "backfill"). Only present when version_info=true.
example: eod_utc
speaker:
type: string
description: Name of the speaker
example: Laura Shin
sentiment_score:
type: number
description: α-sentiment score of the quote (0-10 scale)
example: 7.5
sentiment_category:
type: string
description: α-sentiment category (bearish/neutral/bullish)
example: bullish
ticker:
type: string
description: Asset ticker the quote refers to (if applicable) — crypto tickers are suffixed with "-USD" (e.g. ETH-USD)
example: ETH-USD
episode_id:
type: string
description: ID of the episode containing this quote
example: 152cICc54xb
LeaderboardEntry:
type: object
properties:
ticker:
type: string
description: Asset ticker symbol — crypto tickers are suffixed with "-USD" (e.g. BTC-USD)
example: BTC-USD
status:
type: string
description: Generation status of the parent daily snapshot. "completed" once the snapshot has finished generating (the normal case); "writing" while it is being (re)generated, typically during the 00:00–00:01 UTC build window. Always present in the response.
example: completed
version_num:
type: integer
description: Revision number of the parent snapshot. Only present when version_info=true.
example: 1
version_label:
type: string
description: Version label of the parent snapshot (e.g. "eod_utc", "backfill"). Only present when version_info=true.
example: eod_utc
alpha_index:
type: number
description: Composite narrative strength score (0-1) combining sentiment level, historical deviation, host consensus, and coverage reach
example: 0.72
alpha_pulse:
type: number
description: Composite narrative momentum score (0-1) measuring how rapidly the podcast narrative is accelerating
example: 0.58
episode_count:
type: integer
description: Number of episodes mentioning this asset
example: 12
attention_share:
type: number
description: Proportion of mentions this asset received (0-1)
example: 0.35
days_since_last_mention:
type: integer
description: Days since asset was last mentioned
example: 0
sentiment_mean:
type: number
description: α-sentiment mean for this asset (0-10 scale)
example: 6.8
sentiment_median:
type: number
description: α-sentiment median for this asset (0-10 scale)
example: 6.5
sentiment_std:
type: number
description: Standard deviation of α-sentiment scores
example: 1.1
sentiment_open:
type: number
description: α-sentiment of first podcast of the day (0-10 scale)
example: 6
sentiment_high:
type: number
description: Highest α-sentiment of the day (0-10 scale)
example: 7.5
sentiment_low:
type: number
description: Lowest α-sentiment of the day (0-10 scale)
example: 5.2
sentiment_close:
type: number
description: α-sentiment of last podcast of the day (0-10 scale)
example: 7
sentiment_delta_1d:
type: number
description: Change in α-sentiment vs yesterday (-10 to +10)
example: 0.5
sentiment_delta_7d:
type: number
description: Change in α-sentiment vs 7 days ago (-10 to +10)
example: 1.8
bull_ratio:
type: number
description: Proportion of bullish mentions (0-1)
example: 0.65
bear_ratio:
type: number
description: Proportion of bearish mentions (0-1)
example: 0.15
neutral_ratio:
type: number
description: Proportion of neutral mentions (0-1)
example: 0.2
consensus_score:
type: number
description: Agreement among hosts about this asset (0-1)
example: 0.82
surprise_score:
type: number
description: How surprising the narrative is vs historical (0-1)
example: 0.35
novelty_score:
type: number
description: How new or surprising the narrative is (0-1)
example: 0.42
sentiment_momentum:
type: number
description: Trend direction and strength of α-sentiment
example: 0.15
narrative_intensity:
type: number
description: Intensity of discussion about this asset
example: 0.72
narrative_intensity_norm:
type: number
description: Normalized narrative intensity (0-1)
example: 0.68
summary:
type: string
description: Summary of discussions about this asset
category:
type: string
description: Leaderboard category (top_alpha_index, top_alpha_pulse, top_riser, top_dropper, most_mentioned, most_surprising)
example: top_riser
value:
type: number
description: Primary metric value for this category
example: 0.6
Signal:
type: object
properties:
ticker:
type: string
description: Asset ticker symbol — crypto tickers are suffixed with "-USD" (e.g. SOL-USD)
example: SOL-USD
status:
type: string
description: Generation status of the parent daily snapshot. "completed" once the snapshot has finished generating (the normal case); "writing" while it is being (re)generated, typically during the 00:00–00:01 UTC build window. Always present in the response.
example: completed
version_num:
type: integer
description: Revision number of the parent snapshot. Only present when version_info=true.
example: 1
version_label:
type: string
description: Version label of the parent snapshot (e.g. "eod_utc", "backfill"). Only present when version_info=true.
example: eod_utc
signal_type:
type: string
description: Type of signal (bullish/bearish/neutral)
example: bullish
horizon:
type: string
description: Time horizon for the signal
example: short-term
scenario:
type: string
description: Description of the expected scenario
trigger:
type: string
description: Conditions that would trigger this scenario
narrative_basis:
type: string
description: The narrative reasoning behind the signal
confidence:
type: number
description: Confidence level of the signal (0-1)
example: 0.75
invalidating_condition:
type: string
description: Conditions that would invalidate this signal
AssetSnapshot:
type: object
properties:
ticker:
type: string
description: Asset ticker symbol — crypto tickers are suffixed with "-USD" (e.g. BTC-USD)
example: BTC-USD
status:
type: string
description: Generation status of the parent daily snapshot. "completed" once the snapshot has finished generating (the normal case); "writing" while it is being (re)generated, typically during the 00:00–00:01 UTC build window. Always present in the response.
example: completed
version_num:
type: integer
description: Revision number of the parent snapshot. Only present when version_info=true.
example: 1
version_label:
type: string
description: Version label of the parent snapshot (e.g. "eod_utc", "backfill"). Only present when version_info=true.
example: eod_utc
alpha_index:
type: number
description: Composite narrative strength score (0-1) combining sentiment level, historical deviation, host consensus, and coverage reach
example: 0.72
alpha_pulse:
type: number
description: Composite narrative momentum score (0-1) measuring how rapidly the podcast narrative is accelerating
example: 0.58
episode_count:
type: integer
description: Number of episodes mentioning this asset
example: 12
attention_share:
type: number
description: Proportion of mentions this asset received (0-1)
example: 0.35
days_since_last_mention:
type: integer
description: Days since asset was last mentioned
example: 0
sentiment_mean:
type: number
description: α-sentiment mean for this asset (0-10 scale)
example: 6.8
sentiment_median:
type: number
description: α-sentiment median for this asset (0-10 scale)
example: 6.5
sentiment_std:
type: number
description: Standard deviation of α-sentiment scores
example: 1.1
sentiment_open:
type: number
description: α-sentiment of first podcast of the day (0-10 scale)
example: 6
sentiment_high:
type: number
description: Highest α-sentiment of the day (0-10 scale)
example: 7.5
sentiment_low:
type: number
description: Lowest α-sentiment of the day (0-10 scale)
example: 5.2
sentiment_close:
type: number
description: α-sentiment of last podcast of the day (0-10 scale)
example: 7
sentiment_delta_1d:
type: number
description: Change in α-sentiment vs yesterday (-10 to +10)
example: 0.5
sentiment_delta_7d:
type: number
description: Change in α-sentiment vs 7 days ago (-10 to +10)
example: 1.8
bull_ratio:
type: number
description: Proportion of bullish mentions (0-1)
example: 0.65
bear_ratio:
type: number
description: Proportion of bearish mentions (0-1)
example: 0.15
neutral_ratio:
type: number
description: Proportion of neutral mentions (0-1)
example: 0.2
consensus_score:
type: number
description: Agreement among hosts about this asset (0-1)
example: 0.82
surprise_score:
type: number
description: How surprising the narrative is vs historical (0-1)
example: 0.35
novelty_score:
type: number
description: How new or surprising the narrative is (0-1)
example: 0.42
sentiment_momentum:
type: number
description: Trend direction and strength of α-sentiment
example: 0.15
narrative_intensity:
type: number
description: Intensity of discussion about this asset
example: 0.72
narrative_intensity_norm:
type: number
description: Normalized narrative intensity (0-1)
example: 0.68
summary:
type: string
description: Summary of discussions about this asset
spider_chart_url:
type: string
description: 'AudioAlpha spider chart URL, showing daily insight into the asset: α-sentiment, consensus, novelty, attention, and narrative intensity'
example: https://quickchart.io/chart?c=...
format: uri
Error:
type: object
properties:
error:
type: string
responses:
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Not available on your plan
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key generated from https://audioalpha.io/account