Endpoints
All data endpoints are GET and live under /api/v1. The paths are the same on both brands; only the text content in the responses is localised.
Without an entry a list returns 25 records per page; a larger limit is capped at 100 rather than rejected. meta.total says how much lies behind it.
GET /api/v1/status
Self-description of your access: plan, requests so far, quota. The first place to look when setting up — a 200 means key and header are right.
Parameters
none
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/status"
Example response
{
"data": {
"plan": "beta",
"email_masked": "d****@example.com",
"requests_total": 128,
"rate_limit_per_minute": 60,
"created_at": "2026-07-29T08:14:02+00:00"
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers"
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/signals
The newest early-warning signals from all four scanners, newest first. pattern narrows the list to one scanner, since to signals from a given day onwards.
Parameters
-
pattern
catalyst | insider | volume | exit
-
since
YYYY-MM-DD
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/signals?pattern=catalyst&limit=1"
Example response
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"pattern": "catalyst",
"signal_date": "2026-07-28",
"title": "Earnings on 12 Aug - first report after the acquisition",
"recommendation": "Watch ahead of the date, do not buy",
"assessment": "The catalyst is dated and expectations are low; leverage remains the sticking point.",
"outcome": {
"max_gain_pct": 18.4,
"max_drawdown_pct": -6.1,
"finalized_at": null
}
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 47
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/signals/{ticker}
Every signal we have recorded for one symbol, newest first. A symbol we do not hold answers with a 404 — a statement about our coverage, not about the company.
Parameters
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/signals/EXMPL"
Example response
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"pattern": "catalyst",
"signal_date": "2026-07-28",
"title": "Earnings on 12 Aug - first report after the acquisition",
"recommendation": "Watch ahead of the date, do not buy",
"assessment": "The catalyst is dated and expectations are low; leverage remains the sticking point.",
"outcome": {
"max_gain_pct": 18.4,
"max_drawdown_pct": -6.1,
"finalized_at": null
}
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 25,
"total": 3
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/call-ratings
Our verdicts on the earnings calls, ordered by symbol. rating narrows the list to one level.
Parameters
-
rating
positive | neutral | flagged
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/call-ratings?rating=flagged&limit=1"
Example response
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"rating": "flagged",
"label": "Promise and delivery diverge",
"as_of": "2026-07-22"
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 61
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/call-ratings/{ticker}
The verdict for one symbol. A company whose calls we have not evaluated carries no verdict and answers with a 404 — not with a neutral one.
Parameters
none
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/call-ratings/EXMPL"
Example response
{
"data": {
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"rating": "flagged",
"label": "Promise and delivery diverge",
"as_of": "2026-07-22"
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers"
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/superinvestors
The investors we follow through their quarterly filings, with our five-year calculation against the S&P 500. Largest lead first.
Parameters
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/superinvestors?limit=1"
Example response
{
"data": [
{
"slug": "example-investor",
"name": "Example Investor",
"fund_name": "Example Capital Management",
"latest_period": "2026-03-31",
"portfolio_value": 18420000000,
"positions_count": 42,
"perf_5y": {
"portfolio": 91.4,
"spx": 74.8,
"diff": 16.6
}
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 15
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/superinvestors/{slug}
One investor's reported positions for a single quarter, largest first, each with the change against the previous quarter. period selects an earlier quarter; a 13F is always a snapshot, never a live portfolio.
Parameters
-
period
YYYY-MM-DD
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/superinvestors/example-investor?period=2026-03-31&limit=1"
Example response
{
"data": {
"slug": "example-investor",
"name": "Example Investor",
"fund_name": "Example Capital Management",
"latest_period": "2026-03-31",
"portfolio_value": 18420000000,
"positions_count": 42,
"perf_5y": {
"portfolio": 91.4,
"spx": 74.8,
"diff": 16.6
},
"period": "2026-03-31",
"holdings": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"put_call": null,
"value_usd": 2140000000,
"shares": 9800000,
"pct_portfolio": 11.62,
"share_change": 1200000,
"is_new": false,
"rank": 1
}
]
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 42
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/politicians
The curated representatives and senators with our buy-side result against the index. Deliberately curated rather than complete.
Parameters
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/politicians?limit=1"
Example response
{
"data": [
{
"slug": "example-politician",
"name": "Example Representative",
"chamber": "house",
"party": "independent",
"state": "XX",
"buy_performance": {
"perf_pct": 23.9,
"spx_pct": 14.2,
"diff_pct": 9.7,
"hit_rate": 61.5,
"rated": 26,
"total": 31,
"as_of": "2026-07-30"
}
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 11
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/politicians/{slug}
One person's disclosed transactions, newest first — with the side, the official amount range, the trade date and the disclosure date.
Parameters
-
limit
integer, 1–100
-
page
integer, ≥ 1
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/politicians/example-politician?limit=1"
Example response
{
"data": {
"slug": "example-politician",
"name": "Example Representative",
"chamber": "house",
"party": "independent",
"state": "XX",
"buy_performance": {
"perf_pct": 23.9,
"spx_pct": 14.2,
"diff_pct": 9.7,
"hit_rate": 61.5,
"rated": 26,
"total": 31,
"as_of": "2026-07-30"
},
"trades": [
{
"ticker": "EXMPL",
"asset_name": "Example Industries Inc.",
"side": "buy",
"amount_label": "$15,001 - $50,000",
"traded_at": "2026-06-18",
"disclosed_at": "2026-07-11",
"performance": {
"change_pct": 12.4,
"spx_change_pct": 3.1
}
}
]
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"page": 1,
"per_page": 1,
"total": 31
}
}
Shortened. The field names are real, the values are made up.
GET /api/v1/hype
Two rankings in one response: our own Reddit scanner and, where this instance carries them, the wallstreet-online lists. This endpoint does not paginate — limit caps both lists.
Parameters
Example request
curl -H "X-Api-Key: $API_KEY" \
"https://tickerguard.com/api/v1/hype?limit=1"
Example response
{
"data": {
"reddit": [
{
"ticker": "EXMPL",
"name": "Example Industries Inc.",
"mentions": 214,
"first_seen_at": "2026-07-29T21:04:11+00:00"
}
],
"wo": [
{
"name": "Example Industries",
"ticker": "EXMPL",
"source": "discussed",
"score": 7,
"first_seen_at": "2026-07-30T05:02:39+00:00"
}
]
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "minnowstreet",
"docs": "https://tickerguard.com/developers",
"limit": 1,
"reddit_total": 38,
"wo_total": 20,
"wo_available": true
}
}
Shortened. The field names are real, the values are made up.