Overview
Two anonymized CSVs for every trading day, published at data.novig.com. Trades records every executed trade; Markets snapshots every market. Static files behind a CDN — no API, no authentication.
Each day publishes shortly after midnight Eastern. A day that fails validation
is withheld rather than published incomplete.
The manifest lists each file’s dates separately, because the two publish
independently — a day whose trades are withheld still gets its market snapshot:
index.json
dates is Trades. marketDates is Markets, and is absent on manifests
published before that file existed — read it as an empty list.
Trades
Rows are sides, not trades
Every trade appears once per side: oneTAKER row — the order or quote request
that executed the trade — plus a MAKER row for each counterparty.
trades.csv
Columns
timestamp
Execution time, ISO-8601 (UTC).
string
Outcome that traded. For a
COMBO, the contract the combination cleared
against — unique to that trade, so it cannot group two trades of the same
legs.string
Market of the trade. For a
COMBO, the same value as outcomeId.string
Product group: a sport and a family, e.g.
Basketball Moneyline. Multi-leg
trades read Parlay; an unrecognized sport or family reads Other. Group by
this column to total volume per product.string
League the contract is listed under, e.g.
NBA. Empty for a COMBO.string
Market type the contract is listed under, e.g.
MONEY. Empty for a COMBO.STRAIGHT | COMBO
STRAIGHT is a single-outcome trade matched on the order book. COMBO is a
trade on a combination of outcomes, filled against a requested quote.integer
Outcomes the contract combines. Every
STRAIGHT trade has 1.string
Dollars this side staked. The two sides of a trade together stake its
notional value.
string
Quantity in contracts, where one contract pays $1. May carry a fraction.
TAKER | MAKER
Which side of the trade this row reports.
cost and qty are strings carrying full numeric precision, with no
trailing zeros. Fees are not included in cost on either side.Markets
markets.csv carries one row per market per day, whether or not it traded.
Most markets on any given day have no activity and report zeros — the file is a
census of what was listed, not of what moved.
A combination appears on the day it executes, and only that day. A
combination trades once and never changes afterwards, so republishing it each
day would repeat one trade indefinitely. Its
reportTicker is COMBO, and
because it has a single trade its open, high, low and close are all
that one price, and its openInterest equals its dailyVolume.Order-book markets appear every day they are listed, traded or not, up to and
including the day they settle. After that they do not appear again — a settled
market can no longer change, so there is nothing further to report.markets.csv
Columns
string
Trading day the row describes,
YYYY-MM-DD, midnight–midnight Eastern.string
Market the row describes. The same identifier as
marketId in trades.csv,
so the two files join on it.string
Product family the market belongs to — a sport and a bet type, e.g.
MLB-SPREAD. Every combination reads COMBO. Group by this column to total
open interest or volume per product.string
Contracts outstanding at the close of the day, cumulative across every day the
market has traded — not just this one. A holder with offsetting positions on
both sides is counted only for the difference, and each contract is counted
once rather than once per side. A market reports
0.00 on the day it settles,
which is its last appearance.string
Contracts traded during this day alone. A market can carry open interest with
no volume, meaning it traded on an earlier day and those positions are still
open.
string
First price traded during the day, in cents to one decimal,
0.0–100.0.
Empty if the market did not trade that day, which is not the same as having
traded at zero. Never carried forward from an earlier session.string
Highest price traded during the day, in cents. Empty on a day with no trades.
string
Lowest price traded during the day, in cents. Empty on a day with no trades.
string
Last price traded during the day, in cents. Empty on a day with no trades.
active | closed | determined | finalized
active accepts orders. closed has stopped trading and awaits a result.
determined has a known result not yet paid out. finalized has settled.openInterest and dailyVolume are in contracts, where one contract pays
$1, with two decimal places. Prices are in cents with one, because fills do
not land on whole-cent ticks — a close of 47.5 is a probability of 0.475.Anonymity & Stability
Rows identify no trader, wallet, or order, andCOMBO contract identifiers are
unique per trade by construction, so positions cannot be linked across trades.
Columns may be added over time — read the header row rather than assuming
positions. Files for past dates are immutable once published, except for
announced corrections, which republish the affected date in place.