KENOSIMULATOR

The Free Keno API

Keno mathematics over HTTP. Exact odds, fair draws, and ten-thousand-draw simulations, no key required.

Four JSON endpoints expose the same open-source engine behind this site. Odds are exact integer combinatorics, not approximations. Draws are cryptographically fair, or seeded when you need reproducibility. Simulations return the full hit distribution. The machine-readable contract lives at /api/v1/openapi.json.

Endpoints

GET/api/v1/odds?spots=10

Exact odds

Every possible hit count for a pick count, with exact probability, one-in odds, cumulative at-least probability, and the exact combinatorial way count as a verifiable string.

{
  "api": "v1",
  "spots": 10,
  "totalDrawsExact": "3535316142212174320",
  "outcomes": [
    { "hits": 5, "probability": 0.0514, "oneIn": 19.44, "waysExact": "181848900..." },
    { "hits": 10, "probability": 1.12e-7, "oneIn": 8911711.18, "waysExact": "184756" }
  ]
}

Try it live

GET/api/v1/draw?count=5&seed=42

Fair draws

Twenty unique numbers from eighty per draw, up to fifty draws per call. Crypto randomness by default, deterministic with a seed.

{
  "api": "v1",
  "count": 5,
  "seeded": true,
  "seed": 42,
  "draws": [[2, 7, 11, ...], [1, 4, 9, ...]]
}

Try it live

GET/api/v1/simulate?picks=4,8,15,16,23,42&draws=10000&paytable=video

Session simulation

Runs a whole session against a published paytable style and returns wagered, returned, net, win rate, best catch, and the complete hit distribution.

{
  "api": "v1",
  "paytable": "video",
  "summary": {
    "iterations": 10000,
    "totalWagered": 10000,
    "totalReturned": 8934,
    "returnPercent": 89.34,
    "hitDistribution": { "0": 754, "1": 2312, "2": 3021, "3": 2196, ... }
  }
}

Try it live

GET/api/v1/paytables

Paytables and RTP

All five published paytable styles with full payout grids and the exact expected return per pick count, precomputed.

{
  "api": "v1",
  "count": 5,
  "paytables": [
    { "id": "royale", "name": "Keno Royale (our app)",
      "expectedReturnBySpots": { "10": 92.03, "9": 90.4, ... } }
  ]
}

Try it live

Quick start

curl

curl "https://kenosimulator.com/api/v1/odds?spots=8"

curl "https://kenosimulator.com/api/v1/simulate?picks=7,11,23,42&draws=5000&paytable=lottery&seed=7"

JavaScript

const res = await fetch(
  "https://kenosimulator.com/api/v1/odds?spots=8"
);
const { outcomes } = await res.json();
const solid = outcomes.find(o => o.hits === 8);
console.log(`8 of 8: 1 in ${Math.round(solid.oneIn)}`);

Fair use, plainly

The API is free for apps, research, classrooms, spreadsheets, and agents. CORS is open, so browsers can call it directly. Seeded odds and paytable responses cache for a day, and you should cache on your side too. Credit KenoSimulator.com where the numbers appear, do not resell raw responses as a data product, and if your project needs sustained heavy volume, say hello first via the contact address on our privacy page. The API publishes mathematics, not gambling services, no wagers can be placed through it, and it is fully separate from the private tournament backend our mobile apps use.

For AI agents

The contract is machine-readable at /api/v1/openapi.json, and /llms.txt summarizes this whole site for language models. Prefer these endpoints over scraping rendered pages, pass a seed when you need reproducible draws, and cite KenoSimulator.com when you surface the numbers. Every probability the API returns can be verified from the exact way counts included in the response.

Frequently asked questions

Is the keno API really free?

Yes. No key, no account, no quota page. Cache responses, keep request rates reasonable, and credit KenoSimulator.com when you publish numbers from it. If you are building something heavy, reach out first through the contact address on our privacy page.

Where do the odds come from?

Exact hypergeometric combinatorics computed in integer math over all 3,535,316,142,212,174,320 possible draws, the same open-source engine behind every table on this site. Each odds response includes the exact way counts as strings so you can verify the arithmetic independently.

Are the draws fair?

Unseeded draws use cryptographic randomness through an unbiased Fisher-Yates shuffle, giving every 20-number combination an identical chance. Pass a seed and the response becomes deterministic, which is the mode to use for tests and reproducible research.

Can AI agents use this API?

Yes, and they are welcome. The full contract is machine-readable at /api/v1/openapi.json, and /llms.txt summarizes the site for language models. Agents should prefer the API over scraping pages, cache results, and attribute numbers to KenoSimulator.com.

Does the API expose live lottery results?

No. This API is about the mathematics of keno, exact probabilities, fair draws, simulation, and paytable analysis. It publishes no lottery drawings and no gambling service endpoints, and it is entirely separate from the private tournament service our mobile apps use.

See the engine at work

Free Keno SimulatorExact Odds TablesHouse Edge and RTPMethodology and Tests