Endpunkte
Alle Datenendpunkte sind GET und liegen unter /api/v1. Die Pfade sind auf beiden Marken gleich; übersetzt werden nur die Textinhalte in den Antworten.
Ohne eigene Angabe liefert eine Liste 25 Einträge je Seite; ein größeres limit wird auf 100 gekappt statt abgelehnt. meta.total sagt, wie viel dahinter steht.
GET /api/v1/status
Selbstauskunft des Zugangs: Plan, bisherige Anfragen, Kontingent. Erste Anlaufstelle beim Einrichten — antwortet der Endpunkt mit 200, sind Schlüssel und Kopfzeile richtig gesetzt.
Parameter
keine
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/status"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler"
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/signals
Die neuesten Frühwarn-Signale aller vier Wächter, jüngste zuerst. pattern grenzt auf einen Wächter ein, since auf Signale ab einem Tag.
Parameter
-
pattern
catalyst | insider | volume | exit
-
since
YYYY-MM-DD
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/signals?pattern=catalyst&limit=1"
Beispiel-Antwort
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"pattern": "catalyst",
"signal_date": "2026-07-28",
"title": "Quartalszahlen am 12.08. — erster Bericht nach der Übernahme",
"recommendation": "Vor dem Termin beobachten, nicht kaufen",
"assessment": "Der Katalysator ist datiert und die Erwartung niedrig; die Verschuldung bleibt der Haken.",
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 47
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/signals/{ticker}
Alle Signale, die wir zu einem Kürzel geführt haben, jüngste zuerst. Kennen wir das Kürzel nicht, kommt eine 404 — eine Aussage über unsere Abdeckung, nicht über das Unternehmen.
Parameter
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/signals/EXMPL"
Beispiel-Antwort
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"pattern": "catalyst",
"signal_date": "2026-07-28",
"title": "Quartalszahlen am 12.08. — erster Bericht nach der Übernahme",
"recommendation": "Vor dem Termin beobachten, nicht kaufen",
"assessment": "Der Katalysator ist datiert und die Erwartung niedrig; die Verschuldung bleibt der Haken.",
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 25,
"total": 3
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/call-ratings
Unsere Urteile zu den Telefonkonferenzen, nach Kürzel sortiert. rating grenzt auf eine Stufe ein.
Parameter
-
rating
positive | neutral | flagged
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/call-ratings?rating=flagged&limit=1"
Beispiel-Antwort
{
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"rating": "flagged",
"label": "Versprechen und Lieferung gehen auseinander",
"as_of": "2026-07-22"
}
],
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 61
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/call-ratings/{ticker}
Das Urteil zu einem Kürzel. Eine Firma, deren Calls wir noch nicht ausgewertet haben, trägt kein Urteil und ergibt eine 404 — nicht etwa ein neutrales.
Parameter
keine
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/call-ratings/EXMPL"
Beispiel-Antwort
{
"data": {
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"rating": "flagged",
"label": "Versprechen und Lieferung gehen auseinander",
"as_of": "2026-07-22"
},
"meta": {
"as_of": "2026-07-30T06:12:44+00:00",
"source": "own-analysis",
"brand": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler"
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/superinvestors
Die Investoren, denen wir über ihre Quartalsmeldungen folgen, mit unserer Fünfjahres-Rechnung gegen den S&P 500. Größter Vorsprung zuerst.
Parameter
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/superinvestors?limit=1"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 15
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/superinvestors/{slug}
Die gemeldeten Positionen eines Investors für ein Quartal, größte zuerst, jeweils mit der Veränderung gegenüber dem Vorquartal. period wählt ein früheres Quartal; ein 13F ist immer eine Momentaufnahme, nie ein Live-Depot.
Parameter
-
period
YYYY-MM-DD
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/superinvestors/example-investor?period=2026-03-31&limit=1"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 42
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/politicians
Die kuratierten Abgeordneten und Senatoren mit unserer Kaufbilanz gegen den Index. Bewusst kuratiert statt vollständig.
Parameter
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/politicians?limit=1"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 11
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/politicians/{slug}
Die offengelegten Geschäfte einer Person, jüngste zuerst — mit Richtung, amtlicher Betragsspanne, Handels- und Meldedatum.
Parameter
-
limit
integer, 1–100
-
page
integer, ≥ 1
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/politicians/example-politician?limit=1"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 31
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
GET /api/v1/hype
Zwei Ranglisten in einer Antwort: der eigene Reddit-Scanner und, wo diese Instanz sie führt, die wallstreet-online-Listen. Dieser Endpunkt blättert nicht — limit kappt beide Listen.
Parameter
Beispiel-Anfrage
curl -H "X-Api-Key: $API_KEY" \
"https://boersenlotse.de/api/v1/hype?limit=1"
Beispiel-Antwort
{
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"limit": 1,
"reddit_total": 38,
"wo_total": 20,
"wo_available": true
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.
POST /api/v1/mcp
Der MCP-Server: JSON-RPC 2.0 über HTTP, der einzige POST der Schnittstelle. Er holt seine Daten durch dieselben Controller wie die GET-Endpunkte und liefert deshalb per Bauart exakt dasselbe.
Parameter
keine
Beispiel-Anfrage
curl -X POST "https://boersenlotse.de/api/v1/mcp" \
-H "X-Api-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_signals","arguments":{"pattern":"catalyst","limit":1}}}'
Beispiel-Antwort
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"isError": false,
"structuredContent": {
"data": [
{
"ticker": "EXMPL",
"company_name": "Example Industries Inc.",
"pattern": "catalyst",
"signal_date": "2026-07-28",
"title": "Quartalszahlen am 12.08. — erster Bericht nach der Übernahme",
"recommendation": "Vor dem Termin beobachten, nicht kaufen",
"assessment": "Der Katalysator ist datiert und die Erwartung niedrig; die Verschuldung bleibt der Haken.",
"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": "boersenlotse",
"docs": "https://boersenlotse.de/entwickler",
"page": 1,
"per_page": 1,
"total": 47
}
}
}
}
Gekürzt. Die Feldnamen sind echt, die Werte erfunden.