/copilot/fixtures

To make it simpler for copilot users, there is now a /copilot/fixtures endpoint that acts the same as /fixtures/active but will require a copilot_version_id that will allow you to get active fixtures that have or have had odds for your copilot version.

You will still need to use the normal /fixtures endpoint to get any fixture that has been completed in the past.

/copilot/results/queue/[start|stop|status]

You can now create copilot specific fixture results queues, this way you will only get results for the fixtures that have or have had copilot odds.

You can now also set up separate queues per copilot version.

The credentials to access these queues will be the same as the ones used to access your normal copilot odds queues.

The following rate limits apply for every 15s window, the limit resets after the 15s are completed:

  • Historical Odds: 10 requests every 15 seconds.
  • Streaming endpoints (new connections): 250 requests every 15 seconds.
  • All other endpoints: 2500 requests every 15 seconds.

These will all reset after 15 seconds.

You can now request full snapshots of odds, locked-odds, and settled-odds data for Copilot. This new endpoint serves as a reliable fallback mechanism when your application loses sync with the RabbitMQ feed, ensuring continuous access to the latest odds data.

Key Features:

  • Full data synchronization for specified fixtures
  • Same data format as RabbitMQ events with snapshot: true identifier
  • Preserves original timestamps for each odds update
  • Supports recovery from connection interruptions

For complete implementation details, see: Snapshots API Documentation


To surface fixtures that are more relevant to customer's use cases we have added 2 new query parameters to the /fixtures and /fixtures/active endpoint.

  • sportsbook: You can now pass an optional sportsbook, which will limit the fixtures returned to the ones that have had or currently have odds. Note that if all odds for a fixture are suspended, the fixture will still be returned.
  • copilot_version_id: If you are a Copilot customer, you can now limit the fixtures being returned to only include the ones that have had or currently have odds for the version_id you pass to the request.

You can now set up different versions for copilot via the OpticOdds UI and consume them via API. Note that by default each organization is only allowed one environment, please contact your sales rep if you need more (additional charges may apply).

/copilot/versions

You can list all the versions associated with your organization using this endpoint: https://developer.opticodds.com/reference/get_copilot-versions#/

copilot/fixtures/odds & stream/copilot/sport/odds

These endpoints now can take a version_id if you want to have separate stream connections per version.

copilot/queue/start

You can create queues that are attributed to a specific version_id now.

If your API Key is enabled for Rimble then you can now make use of their SGP engine using our /parlay/odds endpoint.

curl --location 'https://api.opticodds.com/api/v3/parlay/odds' \
--header 'Content-Type: application/json' \
--data '{
    "sportsbooks": ["rimble"],
    "entries": [
        {
            "fixture_id": "202508171A366CA0",
            "market": "Moneyline",
            "name": "Team Vitality"
        },
        {
            "fixture_id": "202508171A366CA0",
            "market": "Total Maps",
            "name": "Over 2.5"
        }
    ]
}'
{
    "data": {
        "rimble": {
            "error": null,
            "missing_entries": null,
            "legs": [
                {
                    "fixture_id": "202508171A366CA0",
                    "market": "Moneyline",
                    "name": "Team Vitality",
                    "price": -299.0
                },
                {
                    "fixture_id": "202508171A366CA0",
                    "market": "Total Maps",
                    "name": "Over 2.5",
                    "price": 101.0
                }
            ],
            "price": 157.0,
            "deep_link_urls": null
        }
    }
}