Pre-Calculated, Redis-Cached
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
Get both %K and %D lines as JSON. Detect bullish and bearish crossovers in overbought (>80) or oversold (<20) territory programmatically.
The Stochastic Oscillator compares the closing price to its price range over a given period, producing %K (fast line) and %D (3-period SMA of %K, slow line). Values above 80 indicate overbought; below 20, oversold. When %K crosses above %D inside an oversold zone, it's a classic long entry signal. TickAtlas pre-calculates both lines from our live data, so your strategy gets the crossover signal without any raw candle processing.
Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.
M1, M5, M15, M30, H1, H4, D1 — the same endpoint serves scalpers and position traders alike.
EURUSD, GBPUSD, XAUUSD, BTCUSD, USDJPY — data available for every symbol in our data.
curl -X GET \
"https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=Stochastic_K&timeframe=H1" \
-H "X-API-Key: YOUR_API_KEY" {
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicator": "Stochastic_K",
"value": 22.4,
"bid": 1.08401,
"ask": 1.08414,
"updated_at": 1711548000,
"server_time": "2024-03-27T14:00:00+00:00"
}
} curl -H "X-API-Key: YOUR_KEY" "https://tickatlas.com/v1/indicator?symbol=EURUSD&indicator=Stochastic_K&timeframe=H1"import requests
BASE = "https://tickatlas.com/v1/indicator"
HEAD = {"X-API-Key": "YOUR_KEY"}
def line(name):
r = requests.get(
BASE, headers=HEAD,
params={"symbol": "EURUSD", "indicator": name, "timeframe": "H1"},
)
return r.json()["data"]["value"]
k = line("Stochastic_K")
d = line("Stochastic_D")
# %K relative to %D, and where both sit in the 0-100 range
print(f"%K {k} / %D {d} — {'K above D' if k > d else 'K below D'}"){
"success": true,
"data": {
"symbol": "EURUSD",
"timeframe": "H1",
"indicator": "Stochastic_K",
"value": 78.4,
"bid": 1.08401,
"ask": 1.08414,
"updated_at": 1711548000,
"server_time": "2024-03-27T14:00:00+00:00"
}
}Available Stochastic series
Both series are returned on the 0–100 scale:
0–20 — conventionally described as oversold
20–80 — mid-range
80–100 — conventionally described as overbought
One series per request, so a %K/%D pair is two calls. Both are pre-calculated server-side from our live candles.
Plug into any stack
Every new account starts with $2.50 of pay-as-you-go credit and no card. Monthly plans add a flat monthly price, WebSocket streaming and support.
Landing pages convert; documentation closes the loop. These are the routes a developer usually needs next.
Start from the developer portal and map the API families your product needs.
Open docsMake the first authenticated request and validate the setup end to end.
Read quickstartRequest and response contracts for quote, indicator, summary and calendar.
Browse referenceHow the API drops into ChatGPT, Claude, Discord, n8n, Zapier and Sheets.
See integrationsStraight answers on limits, coverage and how the endpoint behaves in production.
The fast Stochastic (5,3,3) — a 5-period %K, smoothed to 3 periods for the displayed %K, and a 3-period SMA for %D. This is a common short-term momentum setting, faster than the slow Stochastic (14,3,3).
Stochastic_K is the fast line — it reacts quickly to price. Stochastic_D is the 3-period moving average of %K — smoother and slower. Crossovers in overbought/oversold zones are the classic entry signals.
Yes — both are on the same API. A common setup: Stochastic %K below 20 AND RSI below 30 = double-confirmed oversold. Both signals fire from the same endpoint with a different indicator name parameter.
It produces more false signals on M1 due to noise. H1 and H4 are where Stochastic oversold/overbought levels are most reliable. M5 can work for scalpers who use additional filters like ADX.
Sign up, grab your API key, make your first request.
Every new account starts with $2.50 of pay-as-you-go credit. No card required.