Properties
| Name | Type | Description |
|---|---|---|
| snapshot_date | string | Date of the feed snapshot |
| status | string | 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 |
| assets | array | Array of favorited assets with their daily snapshots, signals, and quotes |
| podcasts | array | Array of favorited podcast with their latest episodes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/audioalpha-io/json-schema/audioalpha-io-personalized-feed-schema.json",
"title": "PersonalizedFeed",
"x-generated": "2026-11-02",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/audioalpha-io-openapi.json#/components/schemas/PersonalizedFeed",
"type": "object",
"properties": {
"snapshot_date": {
"type": "string",
"description": "Date of the feed snapshot",
"format": "date"
},
"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."
},
"assets": {
"type": "array",
"description": "Array of favorited assets with their daily snapshots, signals, and quotes",
"items": {
"$ref": "#/$defs/FeedAssetEntry"
}
},
"podcasts": {
"type": "array",
"description": "Array of favorited podcast with their latest episodes",
"items": {
"$ref": "#/$defs/FeedPodcastEntry"
}
}
},
"$defs": {
"Episode": {
"type": "object",
"properties": {
"episode_id": {
"type": "string",
"description": "Unique episode identifier"
},
"display_title": {
"type": "string",
"description": "Episode title"
},
"subtitle": {
"type": "string",
"description": "Episode subtitle"
},
"published_utc_date": {
"type": "string",
"description": "Publication date in UTC",
"format": "date"
},
"duration_seconds": {
"type": "integer",
"description": "Episode duration in seconds"
},
"crypto_sentiment_score": {
"type": "number",
"description": "α-sentiment score for the episode (0-10 scale)"
},
"market_sentiment_category": {
"type": "string",
"description": "α-sentiment category (bearish/neutral/bullish)"
},
"trad_sentiment_score": {
"type": "number",
"description": "Sentiment about traditional financial markets, not crypto (0-10 scale)"
},
"transcript_summary": {
"type": "string",
"description": "Summary of the episode transcript"
},
"mp3_url": {
"type": "string",
"description": "URL to the episode mp3",
"format": "uri"
},
"episode_artwork": {
"type": "string",
"description": "URL to episode artwork image",
"format": "uri"
}
}
},
"FeedAssetEntry": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Asset ticker symbol — crypto tickers are suffixed with \"-USD\" (e.g. ETH-USD)"
},
"snapshot": {
"allOf": [
{
"$ref": "#/$defs/FeedAssetSnapshot"
}
],
"description": "Daily snapshot data for the asset (null if no mentions)"
},
"signals": {
"type": "array",
"description": "Trading signals for this asset",
"items": {
"$ref": "#/$defs/FeedSignal"
}
},
"quotes": {
"type": "array",
"description": "Relevant quotes about this asset",
"items": {
"$ref": "#/$defs/FeedQuote"
}
}
}
},
"FeedAssetSnapshot": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Asset ticker symbol — crypto tickers are suffixed with \"-USD\" (e.g. ETH-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."
},
"episode_count": {
"type": "integer",
"description": "Number of episodes mentioning this asset"
},
"attention_share": {
"type": "number",
"description": "Proportion of mentions (0-1)"
},
"sentiment_mean": {
"type": "number",
"description": "α-sentiment mean (0-10 scale)"
},
"sentiment_delta_1d": {
"type": "number",
"description": "Change vs yesterday (-10 to +10)"
},
"sentiment_delta_7d": {
"type": "number",
"description": "Change vs 7 days ago"
},
"bull_ratio": {
"type": "number",
"description": "Proportion of bullish mentions (0-1)"
},
"bear_ratio": {
"type": "number",
"description": "Proportion of bearish mentions (0-1)"
},
"neutral_ratio": {
"type": "number",
"description": "Proportion of neutral mentions (0-1)"
},
"consensus_score": {
"type": "number",
"description": "Host agreement (0-1)"
},
"sentiment_momentum": {
"type": "number",
"description": "Trend direction and strength"
},
"narrative_intensity_norm": {
"type": "number",
"description": "Normalized narrative intensity (0-1)"
},
"summary": {
"type": "string",
"description": "AI-generated summary of discussions about this asset"
}
}
},
"FeedPodcastEntry": {
"type": "object",
"properties": {
"podcast_id": {
"type": "string",
"description": "Unique podcast identifier"
},
"podcast_name": {
"type": "string",
"description": "Podcast name"
},
"episodes": {
"type": "array",
"description": "Recent episodes from this podcast",
"items": {
"$ref": "#/$defs/Episode"
}
}
}
},
"FeedQuote": {
"type": "object",
"properties": {
"rank": {
"type": "integer",
"description": "Relevance rank of the quote"
},
"selection_reason": {
"type": "string",
"description": "Why this quote was selected for the feed"
},
"quotes": {
"allOf": [
{
"$ref": "#/$defs/Quote"
}
],
"description": "The quote object with speaker, text, and sentiment"
}
}
},
"FeedSignal": {
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Asset ticker symbol — crypto tickers are suffixed with \"-USD\" (e.g. ETH-USD)"
},
"signal_type": {
"type": "string",
"description": "Type of signal (accumulation, volatility_risk, momentum_breakout, liquidity_crisis)"
},
"horizon": {
"type": "string",
"description": "Time horizon (24h, 7d, 30d)"
},
"scenario": {
"type": "string",
"description": "Description of the expected scenario"
},
"trigger": {
"type": "string",
"description": "Conditions that would trigger this scenario"
},
"confidence": {
"type": "number",
"description": "Confidence level of the signal (0-1)"
},
"invalidating_condition": {
"type": "string",
"description": "Conditions that would invalidate this signal"
}
}
},
"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."
},
"version_num": {
"type": "integer",
"description": "Revision number of the parent snapshot. Only present when version_info=true."
},
"version_label": {
"type": "string",
"description": "Version label of the parent snapshot (e.g. \"eod_utc\", \"backfill\"). Only present when version_info=true."
},
"speaker": {
"type": "string",
"description": "Name of the speaker"
},
"sentiment_score": {
"type": "number",
"description": "α-sentiment score of the quote (0-10 scale)"
},
"sentiment_category": {
"type": "string",
"description": "α-sentiment category (bearish/neutral/bullish)"
},
"ticker": {
"type": "string",
"description": "Asset ticker the quote refers to (if applicable) — crypto tickers are suffixed with \"-USD\" (e.g. ETH-USD)"
},
"episode_id": {
"type": "string",
"description": "ID of the episode containing this quote"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/audioalpha-io-personalized-feed"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.