Quickstart

Go from zero to live data in about a minute.

1. Get an API key

API keys are issued by the OpenMarkets team. Email james@openmarkets.ai with the name of your organization and a brief description of what you're building. You'll receive a key in the format om_data_live_….

The plaintext key is only ever shown to you once. Store it in a secret manager immediately — OpenMarkets only retains the hash and cannot recover the original.

2. Make your first request

List the leagues you have access to:

curl
curl https://api.openmarkets.ai/flow/v1/leagues \
  -H "X-API-Key: om_data_live_..."

The response looks like this:

Response
{
  "data": [
    {
      "id": "lg_nfl",
      "name": "NFL",
      "participant_type": "team",
      "status": "active"
    }
  ],
  "pagination": { "next_cursor": null, "has_more": false, "limit": 50 },
  "meta": { "timestamp": "2026-04-17T22:00:00Z", "api_version": "v1" }
}

3. Fetch live liquidity

Once you have a contest ID, get the current aggregated liquidity:

bash
curl https://api.openmarkets.ai/flow/v1/contests/{contest_id}/liquidity \
  -H "X-API-Key: om_data_live_..."

Each returned position contains the per-partner best price, available amount, and edges relative to distribution models. Full shape is documented in the REST reference.

4. Stream live updates

For low-latency applications, open a WebSocket and subscribe to the contests you care about. You'll receive liquidity.update events whenever any partner's price or available size changes.

Node.js
import WebSocket from 'ws';

const ws = new WebSocket(
  'wss://api.openmarkets.ai/flow/v1/stream?api_key=om_data_live_...'
);

ws.on('open', () => {
  ws.send(JSON.stringify({
    action: 'subscribe',
    channel: 'liquidity',
    contest_ids: ['ct_abc123'],
  }));
});

ws.on('message', (data) => {
  const msg = JSON.parse(data.toString());
  if (msg.type === 'liquidity.update') {
    console.log(msg.contest_id, msg.changed_entries);
  }
});

Next steps

  • Read the full REST reference to learn about filtering and pagination.
  • Read the streaming guide to learn about heartbeats, backoff, and error recovery.
  • Review rate limits so you size your traffic appropriately.