GraphQL: walk the graph in one request
Ask for a brand, follow its links, and read its indices, as of any date. Every fact returns its state (known, negative, unknown, conflicting, stale, derived), its type and its evidence. Unknown values come back as unknown, never as null or zero.
query { brand(id: "brand:4127", asOf: "2026-06-01") { name operator { name group { name } } licences(market: "DK") { regulator { name } validFrom state infoType verifiedAt evidence { id obsClass } } index(market: "DK") { cri cvs mom } } }
{
"brand": {
"name": "LeoVegas",
"operator": {
"name": "LeoVegas Group",
"group": { "name": "MGM Resorts" }
},
"licences": [ ... ],
"index": { "cri": 81.2, "cvs": 9.4, "mom": 0.6 }
}
} MCP server: give your agents the model
Connect any MCP client, including Claude, to the world model. Your agents can search entities, follow links and pull indices with the same permissions as your API key. Answers can cite the facts they used.
// mcp config { "mcpServers": { "casinorank": { "url": "https://mcp.casinorank.com", "headers": { "Authorization": "Bearer $CR_KEY" } } } }
Warehouse share: the model as tables
Enterprise licences include a live share in Snowflake or BigQuery. Facts, entities and daily indices arrive as tables your analysts can join with your own data.
select b.name, i.market, i.cvs, i.mom from casinorank.indices_daily i join casinorank.brands b on b.id = i.brand_id where i.date = current_date and i.market in ('NL', 'DK', 'NO', 'FI') order by i.mom desc limit 20;
Event stream: changes as they happen
Subscribe to a webhook or stream for any entity, market or event type. Licence grants, sanctions, new domains, offer changes and rank moves arrive within minutes of entering the model.
{
"type": "offer.changed",
"market": "BR",
"brand": "brand:2210",
"before": { "bpi": 1.08 },
"after": { "bpi": 1.31 },
"observed_at": "2026-10-14T03:41:07Z"
}