Finance Media API
Documentation for instrument-linked finance media discovery and concrete #market YouTube source JSON access.
Discover financial media by instrument
Finance Media maps YouTube materials to financial instruments. An integration can discover
matching materials and signal metadata for free, then request an individual #market
source JSON only when the underlying source is required.
Supported asset groups
Endpoint reference
/api/v1/finance/instruments/FREE/api/v1/finance/instruments/<instrument>/FREE/api/v1/finance/instruments/<instrument>/channels/FREE/api/v1/finance/items/<item_id>/$0.01AAPL: discovery to source JSON
cURL
curl \ -H "Authorization: Bearer aa_live_..." \ https://art-argentum.com/api/v1/finance/instruments/aapl/
PowerShell
$key = "aa_live_..."
$base = "https://art-argentum.com"
$headers = @{ Authorization = "Bearer $key" }
$aapl = Invoke-RestMethod `
-Uri "$base/api/v1/finance/instruments/aapl/" `
-Headers $headers `
-Method GET
$aapl.items |
Select-Object -First 10 `
id, channel, title, published_at, `
max_impact_score, max_confidence, `
content_price_cents, has_source_file |
Format-Table -Wrap -AutoSize
Python
import requests
base = "https://art-argentum.com"
headers = {
"Authorization": "Bearer aa_live_..."
}
r = requests.get(
f"{base}/api/v1/finance/instruments/aapl/",
headers=headers,
timeout=30,
)
r.raise_for_status()
aapl = r.json()
for item in aapl.get("items", [])[:10]:
print(
item["id"],
item.get("channel"),
item.get("title"),
item.get("max_impact_score"),
)
JavaScript
const base = "https://art-argentum.com";
const headers = {
Authorization: "Bearer aa_live_..."
};
const r = await fetch(
`${base}/api/v1/finance/instruments/aapl/`,
{ headers }
);
if (!r.ok) {
throw new Error(`HTTP ${r.status}`);
}
const aapl = await r.json();
console.table(
aapl.items.slice(0, 10).map(x => ({
id: x.id,
channel: x.channel,
title: x.title,
impact: x.max_impact_score
}))
);
Finance item metadata
instrumentInstrument requested by the discovery call.groupAsset group such as stocks, forex or crypto.channelSource media channel.titleMaterial title.published_atPublication timestamp.block_countNumber of structured analysis blocks in the underlying source.max_impact_scoreMaximum impact score exposed by the discovery projection.max_confidenceMaximum confidence value exposed by the discovery projection.max_relevanceMaximum relevance value exposed by the discovery projection.impact_classNormalized impact class.content_urlRoute used to retrieve the concrete source JSON.{
"id": "itm_55bc24c1ad8a31fdb7",
"instrument": "AAPL",
"group": "stocks",
"channel": "YahooFinance",
"title": "Yahoo Finance Live: market coverage",
"published_at": "2026-06-01T21:06:50Z",
"block_count": 1,
"max_impact_score": 0.6,
"max_confidence": 0.6,
"max_relevance": 0.7,
"impact_class": "medium",
"impact_label": "Medium signal",
"content_url": "/api/v1/finance/items/itm_55bc24c1ad8a31fdb7/",
"content_price_cents": 1,
"has_source_file": true
}
Open the selected #market JSON
$key = "aa_live_..."
$base = "https://art-argentum.com"
$headers = @{ Authorization = "Bearer $key" }
$aapl = Invoke-RestMethod `
-Uri "$base/api/v1/finance/instruments/aapl/" `
-Headers $headers `
-Method GET
$item = $aapl.items |
Where-Object { $_.has_source_file -eq $true } |
Select-Object -First 1
$response = Invoke-WebRequest `
-Uri "$base/api/v1/finance/items/$($item.id)/" `
-Headers $headers `
-Method GET
Write-Host "Charged: $($response.Headers['X-AA-Charged'])"
Write-Host "Price: $($response.Headers['X-AA-Price-Cents']) cents"
Write-Host "Balance: $($response.Headers['X-AA-Balance-Cents']) cents"
$response.Content
Authentication, billing and errors
Send Authorization: Bearer aa_live_... on every request.
For YouTube source files, successful concrete-file access costs $0.01; discovery is free.
Common responses: 200 success · 401 invalid key ·
402 insufficient balance · 404 missing or unauthorized resource ·
405 method not allowed.
See API overview, billing headers and common response semantics →