Skip to main content
GET
Paginated catalog of verified cross-venue matched markets

Query Parameters

limit
integer
default:50

Maximum number of pairs to return.

Required range: 1 <= x <= 1000
offset
integer
default:0

Legacy pagination offset. Do not combine with cursor.

Required range: x >= 0
cursor
string

Opaque keyset cursor. Send an empty value on the first page, then pass each response next_cursor. Cursor mode orders by immutable canonical pair identity so catalogue mutations cannot shift page boundaries, and binds every page to one full-set fingerprint.

Maximum string length: 16384
provider
string

Filter to pairs where either side belongs to this provider. Must resolve to a known provider name (case-insensitive) or the request fails with 400.

min_similarity
number<double>
default:0.82

Minimum embedding similarity score. Always clamped up server-side to a minimum threshold even if a lower value is supplied.

Required range: 0 <= x <= 1
sort_by
enum<string>
default:similarity

Sort column. Must be "similarity" or "updated_at"; any other value fails with 400.

Available options:
similarity,
updated_at
include_total
boolean
default:false

When true, runs an additional COUNT query and includes the total matching-pair count in the response.

Response

A page of verified cross-venue matched market pairs.

pairs
object[]
required
count
integer
required

Number of pairs on this page after live-status post-filtering (may be less than limit).

Example:

42

limit
integer
required
Example:

50

offset
integer
required
Example:

0

has_more
boolean
required

Whether the underlying page (before live-status post-filtering) was full — not a strict function of count.

next_cursor
string | null

Opaque cursor for the next keyset page. Present when cursor mode is requested.

catalog_version
string

Full-set fingerprint shared by every page in one cursor walk.

total
integer

Only present when include_total=true. Total matching-pair count under the pre-live-filter query filters.

Example:

1284