The LoyaltyVIP API.
Read-only, programmatic access to a player’s own casino loyalty data — tiers, trips, and offers — plus the public casino directory. Built for developers and AI agents: clean JSON, an OpenAPI spec, and a Model Context Protocol (MCP) server.
Authentication
Authenticate with a personal API key as a Bearer token. Create and manage keys from your dashboard at Settings → Developer. The secret is shown once; we store only a hash.
curl -H "Authorization: Bearer lvip_live_xxxxxxxx" \
https://nbhagdwegk.execute-api.us-east-1.amazonaws.com/v1/tiersEndpoints
Base URL https://nbhagdwegk.execute-api.us-east-1.amazonaws.com. v1 is read-only.
/v1/casinos?q=&state=&type=&has_rewards=Search the casino directoryPublic/v1/casinos/{slug}Casino detail + rewards program + tier ladderPublic/v1/rewards-programsRewards programs + tiersPublic/v1/me · /tiers · /trips · /offersYour account & dataread/v1/playerFull ~70-action player & host APIread/write/tax/host/v1/comp/calculate · /comp/predictComp calculator & offer predictionsread/v1/tier-matchTier-match suggestions & lettersread/v1/rgResponsible-gaming profile & limitsread/v1/hosts/discover · /match-hostsHost discovery & matchingread/v1/tax-reportIRS gambling tax documentstaxScopes
Keys carry umbrella scopes: read (all your data & features), write (create/update), tax (sensitive W-2G/tax), and host (host tools). Default keys get read. Admin actions and API-key management are never available via an API key.
MCP server
LoyaltyVIP runs a Model Context Protocol server over Streamable HTTP at https://loyaltyvip.com/mcp. It exposes the public casino directory (search_casinos, get_casino, list_rewards_programs) with no key, plus player_action for your own data when you pass an API key. Point an MCP client at it:
{
"mcpServers": {
"loyaltyvip": {
"url": "https://loyaltyvip.com/mcp",
"headers": { "Authorization": "Bearer lvip_live_xxxxxxxx" }
}
}
}Server card: /.well-known/mcp/server-card.json. A stdio npm package (@loyaltyvip/mcp) is planned; until it ships, use the HTTP transport above.
Errors
Errors are JSON with a stable code. A 401 also returns a WWW-Authenticate header pointing back here.
{ "error": { "code": "unauthorized", "message": "Missing or invalid API key.", "status": 401, "docs": "https://loyaltyvip.com/developers" } }Questions? support@loyaltyvip.com. Full machine-readable contract: /openapi.json.