BetUS API.
BetUS esports lines, normalized.

Quick answer: BetUS esports odds are live on KashRock: match winner, map handicap, round handicap and totals markets for CS2, Dota 2, League of Legends, Call of Duty, Rainbow Six and Mobile Legends, on the same canonical ids as the other 81 books. One key, GET /v7/{sport}/lines.

No session juggling, no account needed, no betus scrape on your request path: the workers already did it. Your call reads the board they published.

What BetUS posts

BetUS posts match winner, map handicap, round and totals prices on its esports events, prematch and live. Every price lands on the same kr_match_id and market names as the rest of the line books.

Where BetUS shows up

  • : /lines: BetUS's price per market next to the consensus fair price, the books object reports its row count and age in seconds on every call.
  • : /parlays: Name betus as the leg book and price a ticket or discover +EV parlays against the rest of the market.
  • : /flow: When betus moves a number first, the shift and steam plays record which venue led and how far the price ran.

Endpoints

BetUS is read through the shared v7 surface: no book-specific integration, no upstream fetch on the request path.

EndpointWhat it returnsKey filter
GET /v7/{sport}/linesPer-book prices and the consensus viewbook row: betus
GET /v7/{sport}/parlaysPrice or discover parlays with betus as the leg bookbook=betus
GET /v7/{sport}/flowSteam, shift, volume and whale plays where betus moves leadkind=steam|shift|volume|whale
GET /v7/metaThe registry entry: key, kind, supported marketskey=betus

Live in the book registry

The real /v7/meta entry: the key, kind, and what the book supports, exactly as the API reports it.

GET /v7/meta?fields=books
{
  "book_id": 403,
  "key": "betus",
  "display_name": "BetUS",
  "status": "active",
  "aliases": [
    "bet us",
    "betus.com",
    "betus.com.pa",
    "uplay.betus.com.pa"
  ]
}

Reading it honestly

The booksobject on /lines reports each venue's presence, row count, and age in seconds on every call. When BetUS has nothing posted for a board, the response says so instead of hiding the gap: an empty board is an answer, not an error.

Start in minutes

  • : Create a key on Pricing : Sandbox is $0; book lines need Hobby and up
  • : Call GET /v7/{sport}/lines and read the betus rows
  • : Compare against the consensus fair price on the same kr_match_id

Quick reference

FieldValue
Book keybook=betus
Surfaces/lines, /parlays, /flow
Registry/v7/meta key=betus
PlanHobby and up, from $29.99/mo

If you need a normalized feed instead of another UI wrapper, the esports api exposes live boards, schedules, and history on one schema: with the IDs and outcome patterns that keep backtests and grading honest. Start free on Sandbox, or see published pricing.

Frequently asked questions

Can I get BetUS esports odds through an API?

Yes. BetUS esports lines for CS2, Dota 2, League of Legends, Call of Duty, Rainbow Six and Mobile Legends are ingested into the same schema as every other book. Call GET /v7/{sport}/lines and read the betus rows alongside the rest of the line books, on the same kr_match_id.

Which endpoints serve BetUS lines?

Three: GET /v7/{sport}/lines for per-book prices and the consensus view, GET /v7/{sport}/parlays to price or discover parlays with betus as the leg book, and GET /v7/{sport}/flow for steam, shift, volume and whale plays where betus moves lead the market.

Do I have to scrape BetUS myself?

No. There is no upstream fetch on the request path, workers fill the cache and your call reads it, so a response is a read, not a scrape. One X-API-Key header covers betus and the other 81 books.

What if BetUS has no lines for a sport right now?

The books object on /lines reports each venue's presence, row count and age in seconds. betus present: false simply means nothing is posted for that board, the response stays honest instead of hiding the gap.

Which plan do I need for BetUS lines?

Hobby ($29.99/mo) and up, the same plan that unlocks /lines, /parlays and /flow for every line book.

KashRock is an independent data provider and is not affiliated with, endorsed by, or sponsored by BetUS. Publicly available lines, normalized for informational use.