Matka API glossary — pana, jodi, leftover, Bearer keys
Field names as they appear in the JSON board — not fifty thin term pages. Use this hub when wiring docs, the live board, or a market like Kalyan.
Open pana
The three-digit open panel for a market session (example: 456). In JSON this is openPana. It is declared first. A pending row has no open pana; an “open” status row has openPana and is still waiting for close.
Close pana
The three-digit close panel (example: 123). JSON field closePana. A result is complete only when both open and close panas are stored for today’s resultDate. Starline slots often declare a single figure instead of a full open/close pair — read the row you actually get.
Jodi
Two-digit pair, usually open ank + close ank (example: 56 from open 456 and close 123). JSON field jodi. While close is pending you may see a partial like 5*. Do not invent a jodi from leftover HTML.
Ank
Single last digit derived from a pana (sum of digits mod 10). JSON fields openAnk and closeAnk. Example: pana 456 → 4+5+6 = 15 → ank 5. Jodi is those two anks concatenated when both exist.
resultString
A single display string for the row, typically openPana-jodi-closePana (example: 456-56-123). Use the typed fields for apps; use resultString when you need the same text the board prints.
Leftover board
After a holiday or a missed session (often Sunday/Friday), the source HTML can keep yesterday’s complete on today’s card. We do not store or serve that leftover complete as today. Status stays pending until a real declaration in the current IST window.
Bearer key
Send the API key in the Authorization header as Bearer YOUR_API_KEY, or as X-API-Key. Same JSON either way. Do not put new keys in the URL. Copy the key from the dashboard after you start a trial.
sm_ vs mk_ keys
New keys look like sm_<plan>_<hex>. They accept Bearer / X-API-Key only — not ?key=. Older mk_ keys still accept ?key= so existing query-string clients do not break overnight. New integrations should never put sm_ in the query string.
webhook result.new
Dashboard HTTPS callback. When a market stores a new complete for today, we POST JSON with event result.new and the row (openPana, jodi, closePana, resultString, resultDate). Leftover reprints should not ping your URL as a fresh today complete.
Chart vs history
History is the dated list of stored rows for a slug (GET /api/results/history/:slug; depth follows plan, 7–365 days). Chart is the jodi/panel view of that history for UI grids. Both skip leftover-as-today. Public pages: /markets/{slug}/history and /markets/{slug}/chart.
IST resultDate
resultDate is the session calendar date in Asia/Kolkata (YYYY-MM-DD), not the UTC clock of the HTTP response. Overnight markets that close after midnight still belong to the session that opened. Official open/close times stay fixed even if the print is 10–15 minutes late.
Frequently asked questions
- Open pana aur jodi me farq kya hai?
- Open pana teen-digit panel hai (jaise 456). Ank us pana ke digits ka last digit hota hai. Jodi open ank + close ank hai (jaise 56). JSON me alag fields hain: openPana, closePana, jodi.
- Leftover board aaj ke result me kyu nahi aana chahiye?
- Sunday/Friday ke baad source card par kal ka complete reh sakta hai. Hum us leftover ko aaj ke resultDate par store/serve nahi karte. Live board: /live-results.
- sm_ key URL me ?key= ke saath chalegi?
- Nahi. Nayi sm_ keys sirf Authorization: Bearer ya X-API-Key header accept karti hain. Purani mk_ keys ab bhi ?key= chalati hain. Guide: /docs/php.
- Webhook kab fire hota hai?
- Jab market ka naya complete aaj ke row par store hota hai, dashboard URL par POST JSON event result.new jaata hai. Leftover reprint webhook nahi bhejta. Docs: /docs/webhooks.