Sportsbook

Circa Odds API

Pull Circa Sports prices through the SportsGameOdds API, normalised into the same structure as 85+ other books. Comparing a sharp line against the retail market is one request.

Circa Sports is a Las Vegas book that takes large bets and does not close accounts for winning too often. That business model changes what its price means. A book that limits its sharpest customers can leave a stale number up for a while and nothing forces it to move. A book that accepts the action has to move, which makes its line a running record of where serious money is going.

That is the case for reading Circa alongside the retail books rather than instead of them.

Why Circa's number is worth reading separately

Most prices in an odds feed agree most of the time, because most books watch the same few originators and follow. Circa is one of the places a market moves from rather than toward.

For a pricing model this matters in a specific way. If your consensus is built from thirty books that all copy the same source, you have one opinion counted thirty times. Adding Circa gives you a second opinion formed under different incentives, and the gap between the two is usually the part worth looking at.

What Circa coverage looks like

Circa prices arrive like any other book, keyed by circa inside byBookmaker on each odd. Coverage is deepest on the markets it is known for: sides, totals and moneylines across the major US leagues. It also turns up on team and game markets that most books skip, including NFL team touchdown totals and team field goals.

Coverage moves, so read it rather than assume it. Every odd lists the books currently pricing it under byBookmaker, and the /markets endpoint returns the supported set by league and bookmaker.

Circa is included on the Pro plan and above. The free Amateur tier and the Rookie plan carry a smaller book list that does not include it, so a request filtered to circa on those plans comes back empty rather than erroring. Pricing has the book list for each tier.

Requesting Circa prices

Pass bookmakerID=circa and the response carries only Circa's numbers:

curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=circa&oddsAvailable=true" \
  -H "x-api-key: YOUR_API_KEY"

More often you want Circa next to something to measure it against. Ask for several books in one request:

curl "https://api.sportsgameodds.com/v2/events?leagueID=NFL&bookmakerID=circa,pinnacle,draftkings,fanduel&oddsAvailable=true" \
  -H "x-api-key: YOUR_API_KEY"

Add includeOpenCloseOdds=true and each book returns its own openOdds and closeOdds, so you can see where Circa opened a market and where it finished rather than only where it sits now.

What a Circa price looks like

Every event returns an odds object keyed by oddID. Here is a trimmed NFL spread with the bookmaker list cut to two books:

{
  "eventID": "...",
  "leagueID": "NFL",
  "odds": {
    "points-home-game-sp-home": {
      "oddID": "points-home-game-sp-home",
      "marketName": "Spread",
      "statID": "points",
      "statEntityID": "home",
      "periodID": "game",
      "betTypeID": "sp",
      "sideID": "home",
      "fairOdds": "-104",
      "fairSpread": "-3.5",
      "bookOdds": "-108",
      "byBookmaker": {
        "circa": { "odds": "-105", "spread": "-3.5", "available": true },
        "draftkings": { "odds": "-115", "spread": "-3.5", "available": true }
      }
    }
  }
}

Two things are worth knowing. Odds values are strings, so -105 arrives as "-105" and the plus sign survives on an underdog price. And fairOdds is the vig-free consensus across every book pricing that market, while bookOdds keeps the margin in, which hands you a benchmark without having to compute one.

In the example above Circa is ten cents better than DraftKings on the same number. That difference is the entire product for a line shopping tool.

Circa and Pinnacle

These are the two sharp books in the feed and they are not interchangeable. Pinnacle is the low-margin global operator most modelling work benchmarks against, and it is the usual reference for closing line value. Circa is a US book with high limits whose early numbers on American football carry more weight than most.

Reading both is more useful than picking one. Where two independent sharp opinions agree, the number is probably right. Where they split, something is going on. The Pinnacle Odds API page covers what that feed returns.

Use cases for Circa data

Line shopping is the obvious one. A sharp price sitting next to the retail market is what tells a user whether the number in front of them is good, and Circa is often the side of that comparison that moves first. See the odds comparison API.

For positive EV work, Circa functions as a sanity check on your own fair price. If your model and the de-vigged consensus both say one thing and Circa says another, that is worth investigating before you act on it.

Closing line value tracking uses the same mechanic in reverse. With includeOpenCloseOdds=true you get Circa's open and close per market, which lets you measure a bet against where a sharp book finished rather than where the field finished.

Arbitrage tools tend to find Circa on one leg more often than its size would suggest, because it prices independently rather than following.

Circa API technical specifications

Circa data comes through the same REST endpoints as every other book. One /v2/events call returns the event, its markets, and each book's price under byBookmaker, so there is no separate request or separate schema for sharp books.

Billing is per event object rather than per market or per book. Ten NFL games is ten objects whether you pull Circa alone or Circa alongside eighty others, which means adding books to a request costs response size and nothing else.

Odds refresh sub-minute on Pro. Live scores update in real time on every plan. The API documentation covers authentication, pagination and the full parameter list.

Frequently asked questions

What is the bookmakerID for Circa?
circa, in lowercase. Pass bookmakerID=circa to /v2/events, and read Circa's price from byBookmaker.circa on each odd. The display name and the ID are not always the same across books, so build against the ID.
Which plans include Circa?
Pro and above. Circa sits in the same group as Pinnacle, Bet365, PrizePicks and Fanatics, none of which are in the free Amateur tier or the Rookie book list. A request filtered to bookmakerID=circa on a plan that does not carry it returns an empty result rather than an error.
Which markets does Circa price?
Coverage is deepest on sides, totals and moneylines across the major US leagues, and it also appears on team and game markets many books skip, such as NFL team touchdown totals and team field goals. Availability changes, so read byBookmaker on each odd or query the /markets endpoint rather than hardcoding an assumption.
Can I get Circa's opening line as well as the current one?
Yes. Add includeOpenCloseOdds=true to your /events request and each book returns its own openOdds and closeOdds, plus openSpread, closeSpread, openOverUnder and closeOverUnder where they apply. That gives you Circa's open and close rather than only its current number.
How do I compare Circa against the rest of the market?
Every odd carries fairOdds, the vig-free consensus across all books pricing that market, alongside each individual book under byBookmaker. Comparing byBookmaker.circa to fairOdds on the same oddID gives you the gap between one sharp opinion and the market as a whole, in one response.
Is Circa the same as Pinnacle for modelling purposes?
No, and carrying both is more useful than choosing. Pinnacle is the low-margin global book most closing line value work benchmarks against. Circa is a US operator with high limits whose early American football numbers tend to lead the market. They are two independent opinions, and where they disagree is usually the interesting case.

Put a sharp line next to the retail market

Circa, Pinnacle and every other book we carry in one request. Start free and upgrade when you need the sharp book list.

1xBet→
Sportsbook
888 Sport→
Sportsbook
Bally Bet→
Sportsbook
Barstool→
Sportsbook
Bet365→
Sportsbook
BetAnySports→
Sportsbook
BetClic→
Sportsbook
Betfair Sportsbook→
Sportsbook
BetMGM→
Sportsbook
BetOnline→
Sportsbook
BetPARX→
Sportsbook
BetRivers→
Sportsbook
Betr Sportsbook→
Sportsbook
Betsson→
Sportsbook
BetUS→
Sportsbook
Bet Victor→
Sportsbook
Betway→
Sportsbook
BlueBet→
Sportsbook
Bookmaker.eu→
Sportsbook
Bovada→
Sportsbook
BoyleSports→
Sportsbook
Caesars→
Sportsbook
Casumo→
Sportsbook
Coolbet→
Sportsbook
Coral→
Sportsbook
DraftKings→
Sportsbook
ESPN BET→
Sportsbook
Everygame→
Sportsbook
Fanatics→
Sportsbook
FanDuel→
Sportsbook
Fliff→
Sportsbook
FOX Bet→
Sportsbook
FourWinds→
Sportsbook
Grosvenor→
Sportsbook
GTbets→
Sportsbook
Ladbrokes→
Sportsbook
LeoVegas→
Sportsbook
LiveScore Bet→
Sportsbook
LowVig→
Sportsbook
Marathon Bet→
Sportsbook
Mr Green→
Sportsbook
MyBookie→
Sportsbook
Neds→
Sportsbook
NordicBet→
Sportsbook
Paddy Power→
Sportsbook
Pinnacle→
Sportsbook
PlayUp→
Sportsbook
PointsBet→
Sportsbook
Prophet Exchange→
Sportsbook
SI Sportsbook→
Sportsbook
Sky Bet→
Sportsbook
SportsBet→
Sportsbook
SugarHouse→
Sportsbook
SportsBetting.ag→
Sportsbook
Superbook→
Sportsbook
Suprabets→
Sportsbook
TAB→
Sportsbook
TABtouch→
Sportsbook
Tipico→
Sportsbook
TopSport→
Sportsbook
Unibet→
Sportsbook
Virgin Bet→
Sportsbook
William Hill→
Sportsbook
Wind Creek (Betfred PA)→
Sportsbook
WynnBet→
Sportsbook
Betfred→
Sportsbook
Betsafe→
Sportsbook
BoomBet→
Sportsbook
NorthStar Bets→
Sportsbook
Stake→
Sportsbook
theScore Bet→
Sportsbook
Bodog→
Sportsbook
Prime Sports→
Sportsbook