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?
Which plans include Circa?
Which markets does Circa price?
Can I get Circa's opening line as well as the current one?
How do I compare Circa against the rest of the market?
Is Circa the same as Pinnacle for modelling purposes?
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.