Enterprise-grade REST API delivering sub-10ms real-time results and multi-year historical chart archives for all Regular Matka, Satta King, and Kolkata FF markets.
The Sattaz API is designed for commercial portals, mobile applications, bot operators, and web syndication partners. All requests return standard JSON envelopes and support HTTP Keep-Alive.
Base URL:https://sattaz.com/api/v1
Live results are served directly from an in-memory high-throughput Memcached layer to guarantee ultra-low latency (< 10ms TTFB), while historical results and charts are recorded in dedicated, indexed tables for lightning-fast date and year queries.
All API requests require authentication using a Bearer API token sent in the Authorization HTTP request header.
Authorization: Bearer stz_live_your_api_key_here API keys follow the prefix stz_live_. You can generate or revoke API keys at any time from your Account Settings if you have an active API Subscription.
Requests are rate-limited on a sliding per-minute window based on your active subscription plan (e.g., 60 req/min for Starter, 300 req/min for Pro, 1000+ req/min for Enterprise).
Every response includes rate-limiting telemetry headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum allowed requests per minute for your plan. |
X-RateLimit-Remaining | Remaining requests in the current window. |
X-RateLimit-Reset | Unix epoch timestamp when the current window expires. |
If you exceed your rate limit, the API responds with HTTP status 429 Too Many Requests.
We provide a production-ready, zero-dependency PHP client class (SattazClient.php) supporting automatic retries, robust exception handling, and full IDE auto-completion.
Download SDK:/sdk/php/SattazClient.php
<?php
require_once __DIR__ . '/SattazClient.php';
use Sattaz\Api\SattazClient;
use Sattaz\Api\SattazApiException;
$client = new SattazClient('stz_live_your_api_key_here');
try {
// 1. Get Live Results (<10ms)
$live = $client->getLiveResults();
foreach ($live['data'] as $res) {
echo "{$res['market_name']}: {$res['open_panna']}-{$res['jodi']}-{$res['close_panna']}\n";
}
// 2. Query Historical Date for a Market
$history = $client->getMarketResult('kalyan', '2026-10-01');
print_r($history['data']);
// 3. Fetch Full Chart Archive
$chart = $client->getChart('milan-day', 2026);
print_r($chart['data']);
} catch (SattazApiException $e) {
echo "API Error: " . $e->getMessage() . " (HTTP " . $e->getHttpStatus() . ")\n";
}
Returns all active markets across Regular Matka, Satta King, and Kolkata FF, including their schedule and open/close timings.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | Optional | Filter by market type: matka, satta, or kolkataff. |
curl -X GET "https://sattaz.com/api/v1/markets?type=matka" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
$response = $client->getMarkets('matka'); import requests
headers = {"Authorization": "Bearer stz_live_your_api_key_here"}
res = requests.get("https://sattaz.com/api/v1/markets?type=matka", headers=headers)
print(res.json()) const res = await fetch("https://sattaz.com/api/v1/markets?type=matka", {
headers: { "Authorization": "Bearer stz_live_your_api_key_here" }
});
const data = await res.json();
console.log(data); {
"success": true,
"data": [
{
"id": 1,
"slug": "kalyan",
"name": "KALYAN",
"type": "matka",
"open_time": "04:15 PM",
"close_time": "06:15 PM"
},
{
"id": 2,
"slug": "milan-day",
"name": "MILAN DAY",
"type": "matka",
"open_time": "03:00 PM",
"close_time": "05:00 PM"
}
],
"meta": {
"count": 2,
"timestamp": 1760000000,
"response_time_ms": 3.8
}
} Ultra-low latency endpoint returning all current live results for today. Cached in-memory (< 10ms). Requires results or both plan scope.
curl -X GET "https://sattaz.com/api/v1/results/live" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
$live = $client->getLiveResults(); import requests
headers = {"Authorization": "Bearer stz_live_your_api_key_here"}
res = requests.get("https://sattaz.com/api/v1/results/live", headers=headers)
print(res.json()) const res = await fetch("https://sattaz.com/api/v1/results/live", {
headers: { "Authorization": "Bearer stz_live_your_api_key_here" }
});
const data = await res.json();
console.log(data); {
"success": true,
"data": [
{
"market_slug": "kalyan",
"market_name": "KALYAN",
"market_type": "matka",
"result_date": "2026-10-06",
"open_panna": "123",
"jodi": "68",
"close_panna": "459",
"raw_display": "123-68-459",
"updated_at": "2026-10-06 18:15:22"
},
{
"market_slug": "gali",
"market_name": "GALI",
"market_type": "satta",
"result_date": "2026-10-06",
"open_panna": null,
"jodi": "42",
"close_panna": null,
"raw_display": "42",
"updated_at": "2026-10-06 23:05:00"
}
],
"meta": {
"count": 2,
"timestamp": 1760000000,
"response_time_ms": 2.4,
"cached": true
}
} Retrieve all market results for an entire category (Matka, Satta King, or Kolkata FF). By default, returns today's results for all markets in that category. Provide the optional ?date=YYYY-MM-DD parameter to fetch declared results for any specific calendar date.
| Path | Category | Coverage | Description |
|---|---|---|---|
/api/v1/results/matka | matka | 194+ Markets | All regular Matka markets (Kalyan, Milan, Rajdhani, Time Bazar, Main Bazar, etc.) with open panna, jodi, and close panna. |
/api/v1/results/satta | satta | 4+ Markets | All Satta King markets (Desawar, Gali, Faridabad, Ghaziabad, etc.) with 2-digit declared numbers. |
/api/v1/results/kolkataff | kolkataff | 8 Bazis | Kolkata FF daily rounds 1 through 8. |
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string (YYYY-MM-DD) | Optional | Query a specific historical date (e.g. 2026-10-06). When omitted, defaults to today's live results across all markets. |
# 1. Today's results for all 194+ Matka markets
curl -X GET "https://sattaz.com/api/v1/results/matka" \
-H "Authorization: Bearer stz_live_your_api_key_here"
# 2. Specific date results for all Matka markets
curl -X GET "https://sattaz.com/api/v1/results/matka?date=2026-10-06" \
-H "Authorization: Bearer stz_live_your_api_key_here"
# 3. Specific date results for all Satta King markets
curl -X GET "https://sattaz.com/api/v1/results/satta?date=2026-10-06" \
-H "Authorization: Bearer stz_live_your_api_key_here"
# 4. Kolkata FF results for a specific date
curl -X GET "https://sattaz.com/api/v1/results/kolkataff?date=2026-10-06" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
// 1. Get today's declared results for all 194+ Matka markets
$todayMatka = $client->getMatkaResults();
// 2. Query historical date across all Matka markets
$dateMatka = $client->getMatkaResults('2026-10-06');
// 3. Query Satta King results for a specific date
$dateSatta = $client->getSattaResults('2026-10-06');
// 4. Query Kolkata FF results for a specific date
$kolkataff = $client->getKolkataFfResults('2026-10-06'); import requests
headers = {"Authorization": "Bearer stz_live_your_api_key_here"}
# Query all Matka markets for a specific date
response = requests.get(
"https://sattaz.com/api/v1/results/matka",
params={"date": "2026-10-06"},
headers=headers
)
data = response.json()
print(f"Total markets: {data['data']['count']}")
for market in data['data']['results']:
print(f"{market['market_name']}: {market['raw_display']}") const res = await fetch("https://sattaz.com/api/v1/results/matka?date=2026-10-06", {
headers: { "Authorization": "Bearer stz_live_your_api_key_here" }
});
const { data } = await res.json();
console.log(`Fetched ${data.count} markets for ${data.date}:`, data.results); {
"status": "success",
"timestamp": "2026-10-06T12:30:00Z",
"data": {
"category": "matka",
"date": "2026-10-06",
"count": 194,
"results": [
{
"market_id": 1,
"market_name": "KALYAN",
"market_slug": "kalyan",
"market_type": "matka",
"result_date": "2026-10-06",
"open_panna": "123",
"jodi": "67",
"close_panna": "340",
"raw_display": "123-67-340",
"is_closed": true,
"updated_at": "2026-10-06 17:55:00"
},
{
"market_id": 2,
"market_name": "MILAN DAY",
"market_slug": "milan-day",
"market_type": "matka",
"result_date": "2026-10-06",
"open_panna": "246",
"jodi": "28",
"close_panna": "189",
"raw_display": "246-28-189",
"is_closed": true,
"updated_at": "2026-10-06 17:05:00"
}
]
}
} Get the latest result or historical results for any specific market by slug. Supports exact date filtering or date ranges.
| Parameter | Type | Required | Description |
|---|---|---|---|
market_slug | string | Required | Slug of the market (e.g., kalyan, disawer, kolkata-ff). |
| Parameter | Type | Required | Description |
|---|---|---|---|
date | string (YYYY-MM-DD) | Optional | Query specific historical date (e.g., 2026-09-15). |
from | string (YYYY-MM-DD) | Optional | Start of date range. |
to | string (YYYY-MM-DD) | Optional | End of date range. |
limit | integer | Optional | Max records to return (Default: 30, Max: 365). |
curl -X GET "https://sattaz.com/api/v1/results/kalyan?date=2026-10-01" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
$res = $client->getMarketResult('kalyan', '2026-10-01'); import requests
res = requests.get(
"https://sattaz.com/api/v1/results/kalyan?date=2026-10-01",
headers={"Authorization": "Bearer stz_live_your_api_key_here"}
)
print(res.json()) Returns full historical chart panel/jodi records for any regular Matka or Satta King market. Requires charts or both plan scope.
| Parameter | Type | Required | Description |
|---|---|---|---|
year | integer | Optional | Filter chart entries by specific 4-digit year (e.g., 2026). |
limit | integer | Optional | Number of chart entries (Default: 100, Max: 1000). |
curl -X GET "https://sattaz.com/api/v1/charts/milan-day?year=2026" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
$chart = $client->getChart('milan-day', 2026); {
"success": true,
"data": {
"market": {
"slug": "milan-day",
"name": "MILAN DAY",
"type": "matka"
},
"entries": [
{
"result_date": "2026-10-05",
"open_panna": "238",
"jodi": "39",
"close_panna": "135"
},
{
"result_date": "2026-10-06",
"open_panna": "149",
"jodi": "44",
"close_panna": "239"
}
]
},
"meta": {
"count": 2,
"timestamp": 1760000000,
"response_time_ms": 7.1
}
} Inspect key status, authorized scopes, active plan details, rate limit per minute, and remaining requests.
curl -X GET "https://sattaz.com/api/v1/usage" \
-H "Authorization: Bearer stz_live_your_api_key_here" $client = new \Sattaz\Api\SattazClient('stz_live_your_api_key_here');
$usage = $client->getUsage(); {
"success": true,
"data": {
"key_prefix": "stz_live_4a1...",
"key_name": "Production Server",
"status": "active",
"scope": "both",
"rate_limit_per_minute": 300,
"remaining_this_minute": 284,
"plan": {
"id": 15,
"name": "API Pro Monthly",
"expires_at": "2026-11-06 12:00:00"
}
},
"meta": {
"timestamp": 1760000000,
"response_time_ms": 1.9
}
} All error responses return an HTTP status code accompanied by a standard JSON error envelope.
| HTTP Status | Error Code | Meaning / Remediation |
|---|---|---|
401 Unauthorized | MISSING_AUTH_HEADER / INVALID_API_KEY | Bearer token was omitted, formatted incorrectly, or revoked. |
403 Forbidden | INSUFFICIENT_SCOPE / SUBSCRIPTION_EXPIRED | Your plan scope does not cover this endpoint or your subscription has expired. |
404 Not Found | MARKET_NOT_FOUND / NO_DATA | The requested market slug or date does not exist. |
429 Too Many Requests | RATE_LIMIT_EXCEEDED | Per-minute request quota reached. Back off until X-RateLimit-Reset. |
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests. Limit is 300 per minute."
},
"meta": {
"timestamp": 1760000000,
"response_time_ms": 1.2
}
} Share your referral link and earn commission every time someone buys VIP membership!