BETCRYPTO

Developers · v1

API reference

Every endpoint, parameter and response field of the BetCrypto API, with a real request and response for each. Every endpoint is a read-only GET that returns JSON.

Base URL: https://betcrypto.now/api/v1

The same, machine-readable (OpenAPI 3.1): https://betcrypto.now/api/v1/openapi.json

Endpoints

GET /me

Works without a key

Your access tier, limits and upgrade path

Call this to learn what the current key (or no key) allows and what upgrading would add.

Parameters

No parameters.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.

Example request

curl "https://betcrypto.now/api/v1/me"
Example response — A real response, with lists cut to two items.
{
    "data": {
        "tier": "public",
        "user": null,
        "limits": {
            "per_minute": 30,
            "per_day": 1000,
            "max_per_page": 25
        },
        "api_keys": null
    },
    "meta": {
        "access": {
            "tier": "public",
            "limits": {
                "per_minute": 30,
                "per_day": 1000,
                "max_per_page": 25
            },
            "cached_seconds": 60,
            "upgrade": {
                "message": "Keyless access is shared per IP address, cached for 60 seconds and limited to 30 requests/minute and 1,000/day. A free BetCrypto account gets its own API key with live data (2,000 requests/day): https://betcrypto.now/settings/api-tokens. Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net o…",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /events

Works without a key

Search and list events

Open (upcoming + live) events by default, each with its main market's outcomes. Filter by text, status, category, venue or kickoff day; quotes=false and outcomes_limit shrink the payload.

Parameters

searchstring
Words in the event title or its tags.
statusstring
upcoming | live | ended | settled. Omit for open events.One of: upcomingliveendedsettled
categoriesstring
Category slug(s), comma-separated; includes sub-categories. See /categories.
platformsstring
Venue slug(s), comma-separated. See /platforms.
platform_matchstring
any (default): listed on any of platforms. all: listed on every one of them.One of: anyall
tagsstring
Tag slug(s), comma-separated.
multi_platformboolean
Only events listed on 2+ venues.
game_daystring
Only games kicking off today, tomorrow, or in the week (week: from the start of today through the end of the sixth day after), in tz. Games already under way are included; add game_status=scheduled to drop them. Events without a kickoff drop out.One of: todaytomorrowweek
tzstring
IANA timezone game_day, kickoff_from and kickoff_to are read in, e.g. America/New_York (default UTC).
kickoff_fromstring
Only games kicking off at or after this ISO 8601 date or date-time, read in tz. A bare date starts at its first moment.
kickoff_tostring
Only games kicking off at or before this ISO 8601 date or date-time, read in tz. A bare date runs to its last moment.
game_statusstring
scheduled, in_progress or final: where the game stands, not its market. Events that aren't games drop out.One of: scheduledin_progressfinal
volume_minnumber
Minimum lifetime traded volume in USD, summed across venues.
volume_maxnumber
Maximum lifetime traded volume in USD.
sortstring
Sort column (default total_volume_usd, lifetime). volume_24h_usd ranks by the last 24 hours; event_starts_at by kickoff, undated events last.One of: total_volume_usdvolume_24h_usdevent_starts_atcreated_atlargest_outcome_spreadsettled_attitle
directionstring
desc (default) or asc.One of: ascdesc
quotesboolean
false drops per-venue quotes (default true).
outcomes_limitinteger
Keep the top N outcomes per market, most probable first.
pageinteger
Page number, from 1.
per_pageinteger
Capped per tier: keyless 25, free 50, Premium 100.

Returns: A page of Event objects

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.

Example request

curl "https://betcrypto.now/api/v1/events?categories=baseball&multi_platform=1&sort=volume_24h_usd&outcomes_limit=2&per_page=2"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "id": 634285,
            "slug": "tampa-bay-vs-philadelphia-kalshi-603797b7",
            "title": "Tampa Bay vs Philadelphia",
            "url": "https://betcrypto.now/events/tampa-bay-vs-philadelphia-kalshi-603797b7",
            "status": "live",
            "kickoff_at": "2026-09-27T19:05:00+00:00",
            "game_status": null,
            "starts_at": "2026-09-24T19:25:00+00:00",
            "ends_at": "2026-10-04T19:05:00+00:00",
            "settled_at": null,
            "abandoned_at": null,
            "winning_outcome_id": null,
            "settled_value": null,
            "settled_value_label": null,
            "total_volume_usd": 905713.59,
            "volume_24h_usd": 710404.78,
            "largest_venue_spread": 0.0125,
            "is_featured": false,
            "categories": [
                {
                    "slug": "sports",
                    "name": "Sports",
                    "path": "Sports"
                },
                {
                    "slug": "baseball",
                    "name": "Baseball",
                    "path": "Sports > Baseball"
                }
            ],
            "platforms": [
                {
                    "slug": "kalshi",
                    "name": "Kalshi"
                },
                {
                    "slug": "polymarket",
                    "name": "Polymarket"
                }
            ],
            "markets_count": 590,
            "markets": [
                {
                    "id": 3171062,
                    "key": "moneyline",
                    "type": "moneyline",
                    "label": "Moneyline",
                    "line": null,
                    "period": null,
                    "is_primary": true,
                    "outcomes_count": 3,
                    "outcomes": [
                        {
                            "id": 8034361,
                            "name": "Philadelphia Phillies",
                            "slug": "philadelphia-phillies",
                            "is_winner": false,
                            "implied_probability": 0.625,
                            "best_buy_price": 0.615,
                            "best_buy_platform": {
                                "slug": "polymarket-us",
                                "name": "Polymarket US"
                            },
                            "venue_spread": 0.0125,
                            "volume_usd": 396902.43,
                            "quotes": [
                                {
                                    "platform": {
                                        "slug": "novig",
                                        "name": "Novig"
                                    },
                                    "name": "Philadelphia Phillies",
                                    "buy_price": 0.625,
                                    "mid_price": 0.6225,
                                    "best_bid": 0.62,
                                    "best_ask": 0.625,
                                    "bid_size": 26.92,
                                    "ask_size": 24738.8,
                                    "book_width": 0.005,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:10:22+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.625,
                                    "decimal_odds": 1.6,
                                    "taker_fee_rate": 0,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-27T16:10:22+00:00",
                                    "price_changed_at": "2026-09-27T16:04:22+00:00",
                                    "url": "https://betcrypto.now/go/e/633461?via=api"
                                },
                                {
                                    "platform": {
                                        "slug": "polymarket-us",
                                        "name": "Polymarket US"
                                    },
                                    "name": "Philadelphia Phillies",
                                    "buy_price": 0.615,
                                    "mid_price": 0.6125,
                                    "best_bid": 0.61,
                                    "best_ask": 0.615,
                                    "bid_size": null,
                                    "ask_size": null,
                                    "book_width": 0.005,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:08:15+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.615,
                                    "decimal_odds": 1.626,
                                    "taker_fee_rate": 0.0695,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-27T16:08:15+00:00",
                                    "price_changed_at": "2026-09-27T14:38:09+00:00",
                                    "url": "https://betcrypto.now/go/e/611806?via=api"
                                }
                            ]
                        },
                        {
                            "id": 8034362,
                            "name": "Tampa Bay Rays",
                            "slug": "tampa-bay-rays",
                            "is_winner": false,
                            "implied_probability": 0.3875,
                            "best_buy_price": 0.38,
                            "best_buy_platform": {
                                "slug": "polymarket",
                                "name": "Polymarket"
                            },
                            "venue_spread": 0.0125,
                            "volume_usd": 233495.08,
                            "quotes": [
                                {
                                    "platform": {
                                        "slug": "polymarket-us",
                                        "name": "Polymarket US"
                                    },
                                    "name": "Tampa Bay Rays",
                                    "buy_price": 0.39,
                                    "mid_price": 0.3875,
                                    "best_bid": 0.385,
                                    "best_ask": 0.39,
                                    "bid_size": null,
                                    "ask_size": null,
                                    "book_width": 0.005,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:08:15+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.39,
                                    "decimal_odds": 2.5641,
                                    "taker_fee_rate": 0.0695,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-27T16:08:15+00:00",
                                    "price_changed_at": "2026-09-27T14:38:09+00:00",
                                    "url": "https://betcrypto.now/go/e/611806?via=api"
                                },
                                {
                                    "platform": {
                                        "slug": "novig",
                                        "name": "Novig"
                                    },
                                    "name": "Tampa Bay Rays",
                                    "buy_price": 0.38,
                                    "mid_price": 0.3775,
                                    "best_bid": 0.375,
                                    "best_ask": 0.38,
                                    "bid_size": 24738.8,
                                    "ask_size": 26.92,
                                    "book_width": 0.005,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:10:22+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.38,
                                    "decimal_odds": 2.6316,
                                    "taker_fee_rate": 0,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-27T16:10:22+00:00",
                                    "price_changed_at": "2026-09-27T16:04:42+00:00",
                                    "url": "https://betcrypto.now/go/e/633461?via=api"
                                }
                            ]
                        }
                    ]
                }
            ],
            "created_at": "2026-09-26T02:00:32+00:00",
            "updated_at": "2026-09-27T16:10:22+00:00"
        },
        {
            "id": 640671,
            "slug": "baltimore-orioles-vs-new-york-yankees-novig-3588a3f3",
            "title": "Baltimore Orioles vs New York Yankees",
            "url": "https://betcrypto.now/events/baltimore-orioles-vs-new-york-yankees-novig-3588a3f3",
            "status": "live",
            "kickoff_at": "2026-09-27T19:20:00+00:00",
            "game_status": null,
            "starts_at": "2026-09-26T19:39:43+00:00",
            "ends_at": "2026-09-27T21:05:00+00:00",
            "settled_at": null,
            "abandoned_at": null,
            "winning_outcome_id": null,
            "settled_value": null,
            "settled_value_label": null,
            "total_volume_usd": 469358.16,
            "volume_24h_usd": 315668.72,
            "largest_venue_spread": 0.0175,
            "is_featured": false,
            "categories": [
                {
                    "slug": "sports",
                    "name": "Sports",
                    "path": "Sports"
                },
                {
                    "slug": "baseball",
                    "name": "Baseball",
                    "path": "Sports > Baseball"
                }
            ],
            "platforms": [
                {
                    "slug": "kalshi",
                    "name": "Kalshi"
                },
                {
                    "slug": "gemini",
                    "name": "Gemini"
                }
            ],
            "markets_count": 700,
            "markets": [
                {
                    "id": 3215721,
                    "key": "moneyline",
                    "type": "moneyline",
                    "label": "Moneyline",
                    "line": null,
                    "period": null,
                    "is_primary": true,
                    "outcomes_count": 3,
                    "outcomes": [
                        {
                            "id": 8134127,
                            "name": "New York Yankees",
                            "slug": "new-york-yankees",
                            "is_winner": false,
                            "implied_probability": 0.53,
                            "best_buy_price": 0.515,
                            "best_buy_platform": {
                                "slug": "novig",
                                "name": "Novig"
                            },
                            "venue_spread": 0.0175,
                            "volume_usd": 91585.16,
                            "quotes": [
                                {
                                    "platform": {
                                        "slug": "gemini",
                                        "name": "Gemini"
                                    },
                                    "name": "New York Y",
                                    "buy_price": 0.55,
                                    "mid_price": 0.53,
                                    "best_bid": 0.51,
                                    "best_ask": 0.55,
                                    "bid_size": null,
                                    "ask_size": null,
                                    "book_width": 0.04,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-25T22:50:43+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.55,
                                    "decimal_odds": 1.8182,
                                    "taker_fee_rate": 0.07,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-25T22:50:43+00:00",
                                    "price_changed_at": "2026-09-25T22:23:56+00:00",
                                    "url": "https://betcrypto.now/go/e/617389?via=api"
                                },
                                {
                                    "platform": {
                                        "slug": "polymarket-us",
                                        "name": "Polymarket US"
                                    },
                                    "name": "New York Yankees",
                                    "buy_price": 0.52,
                                    "mid_price": 0.5175,
                                    "best_bid": 0.515,
                                    "best_ask": 0.52,
                                    "bid_size": null,
                                    "ask_size": null,
                                    "book_width": 0.005,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:08:46+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.52,
                                    "decimal_odds": 1.9231,
                                    "taker_fee_rate": 0.0695,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-27T16:08:46+00:00",
                                    "price_changed_at": "2026-09-27T13:37:08+00:00",
                                    "url": "https://betcrypto.now/go/e/611810?via=api"
                                }
                            ]
                        },
                        {
                            "id": 8134128,
                            "name": "Baltimore Orioles",
                            "slug": "baltimore-orioles",
                            "is_winner": false,
                            "implied_probability": 0.4875,
                            "best_buy_price": 0.48,
                            "best_buy_platform": {
                                "slug": "polymarket",
                                "name": "Polymarket"
                            },
                            "venue_spread": 0.0175,
                            "volume_usd": 150984.11,
                            "quotes": [
                                {
                                    "platform": {
                                        "slug": "kalshi",
                                        "name": "Kalshi"
                                    },
                                    "name": "Baltimore",
                                    "buy_price": 0.49,
                                    "mid_price": 0.485,
                                    "best_bid": 0.48,
                                    "best_ask": 0.49,
                                    "bid_size": 8882.81,
                                    "ask_size": 160772.31,
                                    "book_width": 0.01,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-27T16:11:40+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.49,
                                    "decimal_odds": 2.0408,
                                    "taker_fee_rate": 0.07,
                                    "volume_usd": 119963.57,
                                    "liquidity_usd": 118074,
                                    "quoted_at": "2026-09-27T16:11:40+00:00",
                                    "price_changed_at": "2026-09-26T20:14:04+00:00",
                                    "url": "https://betcrypto.now/go/e/627164?via=api"
                                },
                                {
                                    "platform": {
                                        "slug": "gemini",
                                        "name": "Gemini"
                                    },
                                    "name": "Baltimore",
                                    "buy_price": 0.49,
                                    "mid_price": 0.47,
                                    "best_bid": 0.45,
                                    "best_ask": 0.49,
                                    "bid_size": null,
                                    "ask_size": null,
                                    "book_width": 0.04,
                                    "comparable": true,
                                    "stale": false,
                                    "quote_age_seconds": 14,
                                    "quote_confirmed_at": "2026-09-25T22:50:43+00:00",
                                    "tradeable": true,
                                    "venue_price": 0.49,
                                    "decimal_odds": 2.0408,
                                    "taker_fee_rate": 0.07,
                                    "volume_usd": null,
                                    "liquidity_usd": null,
                                    "quoted_at": "2026-09-25T22:50:43+00:00",
                                    "price_changed_at": "2026-09-25T22:23:56+00:00",
                                    "url": "https://betcrypto.now/go/e/617389?via=api"
                                }
                            ]
                        }
                    ]
                }
            ],
            "created_at": "2026-09-26T20:00:14+00:00",
            "updated_at": "2026-09-27T16:10:20+00:00"
        }
    ],
    "links": {
        "first": "https://betcrypto.now/api/v1/events?categories=baseball&multi_platform=1&per_page=2&outcomes_limit=2&sort=volume_24h_usd&page=1",
        "last": "https://betcrypto.now/api/v1/events?categories=baseball&multi_platform=1&per_page=2&outcomes_limit=2&sort=volume_24h_usd&page=30",
        "prev": null,
        "next": "https://betcrypto.now/api/v1/events?categories=baseball&multi_platform=1&per_page=2&outcomes_limit=2&sort=volume_24h_usd&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 30,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://betcrypto.now/api/v1/events?categories=baseball&multi_platform=1&per_page=2&outcomes_limit=2&sort=volume_24h_usd&page=1",
                "label": "1",
                "page": 1,
                "active": true
            }
        ],
        "path": "https://betcrypto.now/api/v1/events",
        "per_page": 2,
        "to": 2,
        "total": 59,
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /events/{slug}

Works without a key

One event with every venue's quote

Lists all of the event's markets; outcomes (with per-venue quotes) for the main market, or the one named by market. Any market other than the main one, or market=all, needs Premium.

Parameters

slugstring · in the path · required
The event (or brief) slug.
marketstring
A markets[].key, or all (Premium beyond the main market).
quotesboolean
false drops per-venue quotes.
outcomes_limitinteger
Keep the top N outcomes.

Returns: One Event object

Responses

  • 200OK
  • 301This event was merged into another. Location is the same request for the surviving event; update a stored slug to the survivor's.
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 404No such event, market or brief.

Example request

curl "https://betcrypto.now/api/v1/events/tampa-bay-vs-philadelphia?outcomes_limit=2"
Example response — A real response, with lists cut to two items.
{
    "data": {
        "id": 606188,
        "slug": "tampa-bay-vs-philadelphia",
        "title": "Tampa Bay vs Philadelphia",
        "url": "https://betcrypto.now/events/tampa-bay-vs-philadelphia",
        "status": "settled",
        "kickoff_at": "2026-09-25T22:40:00+00:00",
        "game_status": "final",
        "starts_at": "2026-09-22T22:55:00+00:00",
        "ends_at": "2026-10-25T00:01:36+00:00",
        "settled_at": "2026-09-26T01:31:21+00:00",
        "abandoned_at": null,
        "winning_outcome_id": 7663290,
        "settled_value": null,
        "settled_value_label": null,
        "total_volume_usd": 2445469.62,
        "volume_24h_usd": 2312754.73,
        "largest_venue_spread": 0.5975,
        "is_featured": false,
        "categories": [
            {
                "slug": "sports",
                "name": "Sports",
                "path": "Sports"
            },
            {
                "slug": "baseball",
                "name": "Baseball",
                "path": "Sports > Baseball"
            }
        ],
        "platforms": [
            {
                "slug": "polymarket-us",
                "name": "Polymarket US"
            },
            {
                "slug": "kalshi",
                "name": "Kalshi"
            }
        ],
        "markets_count": 919,
        "markets": [
            {
                "id": 3017794,
                "key": "moneyline",
                "type": "moneyline",
                "label": "Moneyline",
                "line": null,
                "period": null,
                "is_primary": true,
                "outcomes_count": 3,
                "outcomes": [
                    {
                        "id": 7663290,
                        "name": "Tampa Bay Rays",
                        "slug": "tampa-bay-rays",
                        "is_winner": true,
                        "implied_probability": 0.9475,
                        "best_buy_price": 0.36,
                        "best_buy_platform": {
                            "slug": "kalshi",
                            "name": "Kalshi"
                        },
                        "venue_spread": 0.5875,
                        "volume_usd": 431852.46,
                        "quotes": [
                            {
                                "platform": {
                                    "slug": "gemini",
                                    "name": "Gemini"
                                },
                                "name": "Tampa Bay",
                                "buy_price": 0.95,
                                "mid_price": 0.95,
                                "best_bid": null,
                                "best_ask": 0.95,
                                "bid_size": null,
                                "ask_size": null,
                                "book_width": null,
                                "comparable": false,
                                "stale": false,
                                "quote_age_seconds": 14,
                                "quote_confirmed_at": "2026-09-26T01:12:12+00:00",
                                "tradeable": true,
                                "venue_price": 0.95,
                                "decimal_odds": 1.0526,
                                "taker_fee_rate": 0.07,
                                "volume_usd": null,
                                "liquidity_usd": null,
                                "quoted_at": "2026-09-26T01:12:12+00:00",
                                "price_changed_at": "2026-09-24T16:16:19+00:00",
                                "url": "https://betcrypto.now/go/e/600079?via=api"
                            },
                            {
                                "platform": {
                                    "slug": "azuro",
                                    "name": "Azuro"
                                },
                                "name": "Tampa Bay Rays",
                                "buy_price": 0.3817,
                                "mid_price": 0.3817,
                                "best_bid": null,
                                "best_ask": null,
                                "bid_size": null,
                                "ask_size": null,
                                "book_width": null,
                                "comparable": true,
                                "stale": false,
                                "quote_age_seconds": 14,
                                "quote_confirmed_at": null,
                                "tradeable": false,
                                "venue_price": 0.3817,
                                "decimal_odds": 2.6199,
                                "taker_fee_rate": null,
                                "volume_usd": null,
                                "liquidity_usd": 1,
                                "quoted_at": null,
                                "price_changed_at": "2026-09-25T22:30:56+00:00",
                                "url": "https://betcrypto.now/go/e/622072?via=api"
                            }
                        ]
                    },
                    {
                        "id": 7663291,
                        "name": "Philadelphia Phillies",
                        "slug": "philadelphia-phillies",
                        "is_winner": false,
                        "implied_probability": 0.65,
                        "best_buy_price": 0.001,
                        "best_buy_platform": {
                            "slug": "polymarket",
                            "name": "Polymarket"
                        },
                        "venue_spread": 0.5975,
                        "volume_usd": 563246.38,
                        "quotes": [
                            {
                                "platform": {
                                    "slug": "polymarket-us",
                                    "name": "Polymarket US"
                                },
                                "name": "Philadelphia Phillies",
                                "buy_price": 0.055,
                                "mid_price": 0.0525,
                                "best_bid": 0.05,
                                "best_ask": 0.055,
                                "bid_size": null,
                                "ask_size": null,
                                "book_width": 0.005,
                                "comparable": true,
                                "stale": false,
                                "quote_age_seconds": 14,
                                "quote_confirmed_at": "2026-09-26T01:10:43+00:00",
                                "tradeable": true,
                                "venue_price": 0.055,
                                "decimal_odds": 18.1818,
                                "taker_fee_rate": 0.0695,
                                "volume_usd": null,
                                "liquidity_usd": null,
                                "quoted_at": "2026-09-26T01:10:43+00:00",
                                "price_changed_at": "2026-09-26T01:10:07+00:00",
                                "url": "https://betcrypto.now/go/e/592086?via=api"
                            },
                            {
                                "platform": {
                                    "slug": "kalshi",
                                    "name": "Kalshi"
                                },
                                "name": "Philadelphia",
                                "buy_price": 0.65,
                                "mid_price": 0.65,
                                "best_bid": null,
                                "best_ask": null,
                                "bid_size": null,
                                "ask_size": null,
                                "book_width": null,
                                "comparable": true,
                                "stale": false,
                                "quote_age_seconds": 14,
                                "quote_confirmed_at": null,
                                "tradeable": true,
                                "venue_price": 0.65,
                                "decimal_odds": 1.5385,
                                "taker_fee_rate": 0.07,
                                "volume_usd": 267265.46,
                                "liquidity_usd": 262572.61,
                                "quoted_at": null,
                                "price_changed_at": "2026-09-25T22:43:06+00:00",
                                "url": "https://betcrypto.now/go/e/599352?via=api"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 3071108,
                "key": "other:run-in-first-inning",
                "type": "other",
                "label": "Run in first inning",
                "line": 1,
                "period": null,
                "is_primary": false,
                "outcomes_count": 2
            }
        ],
        "created_at": "2026-09-23T00:00:07+00:00",
        "updated_at": "2026-09-26T01:42:15+00:00"
    },
    "meta": {
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /events/{slug}/price-history

♛ Premium

Price history of one market

Premium. Bucketed series per outcome per venue (book midpoints), at most ~500 points each.

Parameters

slugstring · in the path · required
The event (or brief) slug.
rangestring
Default 7d.One of: 24h7d30d3mo6moall
marketstring
A markets[].key; omit for the main market.
pointsinteger
Most points per series, 10–500 (default 500). Fewer points means wider buckets: the trend rather than every tick, and a far smaller response.

Responses

  • 200OK
  • 301This event was merged into another. Location is the same request for the surviving event; update a stored slug to the survivor's.
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 403A free key on a Premium endpoint (premium_required, with the upgrade offer).
  • 404No such event, market or brief.

Example request

curl -H "Authorization: Bearer $BETCRYPTO_API_KEY" \
  "https://betcrypto.now/api/v1/events/tampa-bay-vs-philadelphia/price-history?range=7d"
Example response — A real response, with lists cut to two items.
{
    "data": {
        "event": {
            "slug": "tampa-bay-vs-philadelphia",
            "title": "Tampa Bay vs Philadelphia"
        },
        "market": {
            "key": "moneyline",
            "label": "Moneyline",
            "is_primary": true
        },
        "range": "7d",
        "outcomes": [
            {
                "id": 7663290,
                "name": "Tampa Bay Rays",
                "series": [
                    {
                        "platform": {
                            "slug": "gemini",
                            "name": "Gemini"
                        },
                        "points": [
                            {
                                "price": 0.57,
                                "recorded_at": "2026-09-23T01:00:09+00:00"
                            },
                            {
                                "price": 0.58,
                                "recorded_at": "2026-09-23T01:33:49+00:00"
                            }
                        ]
                    },
                    {
                        "platform": {
                            "slug": "azuro",
                            "name": "Azuro"
                        },
                        "points": [
                            {
                                "price": 0.3891,
                                "recorded_at": "2026-09-25T16:00:06+00:00"
                            },
                            {
                                "price": 0.3817,
                                "recorded_at": "2026-09-25T21:20:06+00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 7663291,
                "name": "Philadelphia Phillies",
                "series": [
                    {
                        "platform": {
                            "slug": "polymarket-us",
                            "name": "Polymarket US"
                        },
                        "points": [
                            {
                                "price": 0.94,
                                "recorded_at": "2026-09-22T05:00:17+00:00"
                            },
                            {
                                "price": 0.5475,
                                "recorded_at": "2026-09-22T06:21:20+00:00"
                            }
                        ]
                    },
                    {
                        "platform": {
                            "slug": "kalshi",
                            "name": "Kalshi"
                        },
                        "points": [
                            {
                                "price": 0.415,
                                "recorded_at": "2026-09-23T00:00:07+00:00"
                            },
                            {
                                "price": 0.43,
                                "recorded_at": "2026-09-23T04:01:07+00:00"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "meta": {
        "access": {
            "tier": "premium",
            "limits": {
                "per_minute": 60,
                "per_day": 50000,
                "max_per_page": 100
            },
            "cached_seconds": 0
        }
    }
}

GET /categories

Works without a key

Event categories with open-event counts

The slugs categories filters accept.

Parameters

No parameters.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.

Example request

curl "https://betcrypto.now/api/v1/categories"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "slug": "crypto",
            "name": "Crypto",
            "path": "Crypto",
            "parent": null,
            "open_events_count": 2459
        },
        {
            "slug": "entertainment",
            "name": "Entertainment",
            "path": "Entertainment",
            "parent": null,
            "open_events_count": 815
        }
    ],
    "meta": {
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /platforms

Works without a key

Venues BetCrypto aggregates

The slugs platforms filters accept.

Parameters

No parameters.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.

Example request

curl "https://betcrypto.now/api/v1/platforms"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "slug": "azuro",
            "name": "Azuro",
            "code": "AZR",
            "website": "https://azuro.org"
        },
        {
            "slug": "gemini",
            "name": "Gemini",
            "code": "GMI",
            "website": "https://www.gemini.com/predictions"
        }
    ],
    "meta": {
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /news

Works without a key

Latest market briefs

AI-written briefs on what moved prediction markets and why. Cite to BetCrypto with the canonical URL.

Parameters

localestring
en, zh_HK, zh_CN, ru, pt, es, ja, ko (default en). Falls back to English.
pageinteger
Page number, from 1.
per_pageinteger
Capped per tier: keyless 25, free 50, Premium 100.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.

Example request

curl "https://betcrypto.now/api/v1/news?per_page=1"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "slug": "2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy",
            "locale": "en",
            "kind": "digest",
            "title": "Hormuz deal rumours and college football tip a busy prediction market week",
            "dek": "Diplomatic signals on the Strait of Hormuz, two live CFB games, and a reshuffled 2028 Democratic field drove the week's sharpest prediction market moves.",
            "url": "https://betcrypto.now/news/2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy",
            "published_at": "2026-09-25T20:20:58+00:00",
            "read_minutes": 4,
            "hero_event": {
                "slug": "ole-miss-vs-florida",
                "title": "Ole Miss vs Florida"
            }
        }
    ],
    "links": {
        "first": "https://betcrypto.now/api/v1/news?per_page=1&page=1",
        "last": "https://betcrypto.now/api/v1/news?per_page=1&page=31",
        "prev": null,
        "next": "https://betcrypto.now/api/v1/news?per_page=1&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 31,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://betcrypto.now/api/v1/news?per_page=1&page=1",
                "label": "1",
                "page": 1,
                "active": true
            }
        ],
        "path": "https://betcrypto.now/api/v1/news",
        "per_page": 1,
        "to": 1,
        "total": 31,
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /news/{slug}

Works without a key

One market brief in Markdown

The full Markdown body, citations and the events it covers.

Parameters

slugstring · in the path · required
The event (or brief) slug.
localestring
Language, as for /news.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 404No such event, market or brief.

Example request

curl "https://betcrypto.now/api/v1/news/2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy"
Example response — A real response, with lists cut to two items.
{
    "data": {
        "slug": "2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy",
        "locale": "en",
        "kind": "digest",
        "title": "Hormuz deal rumours and college football tip a busy prediction market week",
        "dek": "Diplomatic signals on the Strait of Hormuz, two live CFB games, and a reshuffled 2028 Democratic field drove the week's sharpest prediction market moves.",
        "url": "https://betcrypto.now/news/2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy",
        "published_at": "2026-09-25T20:20:58+00:00",
        "read_minutes": 4,
        "hero_event": {
            "slug": "ole-miss-vs-florida",
            "title": "Ole Miss vs Florida"
        },
        "body_markdown": "College football markets dominated volume as two ranked SEC and Big Ten matchups kicked off Saturday, while geopolitical odds shifted on reports of a US-Iran phased agreement over the Strait of Hormuz. A reshuffled 2028 Democratic field and surging MLS Cup interest rounded out a wide-ranging window.\n\n## No. 4 Ole Miss rolls into Gainesville as heavy favourite\n\nWith the game now live, markets have …",
        "markdown_url": "https://betcrypto.now/news/2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy.md",
        "canonical_url": "https://betcrypto.now/news/2026-09-25-hormuz-deal-rumours-and-college-football-tip-a-busy",
        "is_translation": false,
        "generated_by": "claude-sonnet-4-6",
        "reviewed": false,
        "citations": [],
        "events": [
            {
                "slug": "ole-miss-vs-florida",
                "title": "Ole Miss vs Florida",
                "url": "https://betcrypto.now/events/ole-miss-vs-florida",
                "snapshot": {
                    "score": 0.465,
                    "volume_24h_usd": 1041571.63,
                    "volume_change_pct": 59603.63,
                    "whale_trade_count": 24,
                    "whale_notional_usd": 157080.17,
                    "swing_points": -64,
                    "swing_outcome": "No",
                    "swing_from_price": 0.79,
                    "swing_to_price": 0.15,
                    "platform_count": 4,
                    "largest_spread": 0.02,
                    "top_outcome_price": 0.96,
                    "decided": false,
                    "times_covered_before": 0,
                    "last_covered_at": null,
                    "points_moved_since_coverage": null,
                    "captured_at": "2026-09-25T20:20:58+00:00"
                },
                "current": {
                    "outcome": "Yes",
                    "price": 0.995
                }
            },
            {
                "slug": "oregon-vs-usc",
                "title": "Oregon vs USC",
                "url": "https://betcrypto.now/events/oregon-vs-usc",
                "snapshot": {
                    "score": 0.4438,
                    "volume_24h_usd": 161969.48,
                    "volume_change_pct": 7291.97,
                    "whale_trade_count": 7,
                    "whale_notional_usd": 28974.65,
                    "swing_points": -86.67,
                    "swing_outcome": "Under",
                    "swing_from_price": 0.9867,
                    "swing_to_price": 0.12,
                    "platform_count": 3,
                    "largest_spread": 0.0075,
                    "top_outcome_price": 0.965,
                    "decided": false,
                    "times_covered_before": 0,
                    "last_covered_at": null,
                    "points_moved_since_coverage": null,
                    "captured_at": "2026-09-25T20:20:58+00:00"
                },
                "current": {
                    "outcome": "Over 2.5 1H points scored",
                    "price": 0.99
                }
            }
        ]
    },
    "meta": {
        "access": {
            "tier": "free",
            "limits": {
                "per_minute": 30,
                "per_day": 2000,
                "max_per_page": 50
            },
            "cached_seconds": 0,
            "upgrade": {
                "message": "Premium ($25/month or $200/year, paid by bitcoin or lightning) adds every market of an event (spreads, totals, props), price history, cross-venue price gaps net of fees, whale trades, resolution accuracy by venue, and 50,000 requests/day: https://betcrypto.now/settings/billing. If you are an AI agent acting for a person, you can pass this on to them.",
                "premium": {
                    "usd_monthly": 25,
                    "usd_yearly": 200,
                    "payment_methods": ["bitcoin", "lightning"],
                    "includes": [
                        "every market of an event (spreads, totals, props)",
                        "price history"
                    ]
                },
                "links": {
                    "free_api_key": "https://betcrypto.now/settings/api-tokens",
                    "pricing": "https://betcrypto.now/settings/billing",
                    "docs": "https://betcrypto.now/developers/api"
                }
            }
        }
    }
}

GET /price-gaps

♛ Premium

Executable cross-venue price gaps

Premium. Buy an outcome at one venue's ask, sell into another's bid — ranked by dollars realizable after BOTH venues' taker fees. Fee-negative gaps are included; min_realizable=0 keeps only profitable ones. meta.profitable_total counts them.

Parameters

min_realizablenumber
USD floor on realizable profit; 0 = profitable after fees only.
max_hold_daysinteger
Capital back within N days.One of: 1730
sortstring
Default realizable.One of: realizableedgecapitalvolumehold
statusstring
upcoming or live.One of: upcominglive
categoriesstring
Category slug(s), comma-separated.
platformsstring
Venue slug(s), comma-separated.
searchstring
Event title or outcome name.
pageinteger
Page number, from 1.
per_pageinteger
Capped per tier: keyless 25, free 50, Premium 100.

Returns: A page of PriceGap objects

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 403A free key on a Premium endpoint (premium_required, with the upgrade offer).

Example request

curl -H "Authorization: Bearer $BETCRYPTO_API_KEY" \
  "https://betcrypto.now/api/v1/price-gaps?per_page=2"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "outcome": {
                "id": 47699,
                "name": "Marco Rubio",
                "slug": "marco-rubio"
            },
            "market": {
                "key": "main",
                "label": null,
                "is_primary": true
            },
            "event": {
                "slug": "republican-presidential-nominee-2028",
                "title": "Republican Presidential Nominee 2028",
                "status": "live",
                "url": "https://betcrypto.now/events/republican-presidential-nominee-2028"
            },
            "realizable_usd": 240.47,
            "capital_usd": 13732.57,
            "return_on_capital": 0.0175,
            "edge_per_contract": 0.016933,
            "gross_edge_per_contract": 0.033,
            "fee_per_contract": 0.016067,
            "resolves_at_estimate": "2028-11-07T15:00:00+00:00",
            "buy_platform": {
                "slug": "polymarket",
                "name": "Polymarket"
            },
            "sell_platform": {
                "slug": "kalshi",
                "name": "Kalshi"
            },
            "legs": [
                {
                    "platform": {
                        "slug": "gemini",
                        "name": "Gemini"
                    },
                    "name": "Marco Rubio",
                    "buy_price": 0.21,
                    "mid_price": 0.19,
                    "best_bid": 0.17,
                    "best_ask": 0.21,
                    "bid_size": 100,
                    "ask_size": 250,
                    "book_width": 0.04,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:02:46+00:00",
                    "tradeable": true,
                    "venue_price": 0.21,
                    "decimal_odds": 4.7619,
                    "taker_fee_rate": 0.07,
                    "volume_usd": null,
                    "liquidity_usd": null,
                    "quoted_at": "2026-09-27T16:02:46+00:00",
                    "price_changed_at": "2026-09-27T14:52:12+00:00",
                    "url": "https://betcrypto.now/go/e/299855?via=api"
                },
                {
                    "platform": {
                        "slug": "polymarket",
                        "name": "Polymarket"
                    },
                    "name": "Marco Rubio",
                    "buy_price": 0.157,
                    "mid_price": 0.1565,
                    "best_bid": 0.156,
                    "best_ask": 0.157,
                    "bid_size": 269.74,
                    "ask_size": 14201.21,
                    "book_width": 0.001,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:10:05+00:00",
                    "tradeable": true,
                    "venue_price": 0.153,
                    "decimal_odds": 6.5359,
                    "taker_fee_rate": 0.04,
                    "volume_usd": 10693326.45,
                    "liquidity_usd": 333696.4,
                    "quoted_at": "2026-09-27T16:10:05+00:00",
                    "price_changed_at": "2026-09-22T18:10:41+00:00",
                    "url": "https://betcrypto.now/go/e/4857?via=api"
                },
                {
                    "platform": {
                        "slug": "kalshi",
                        "name": "Kalshi"
                    },
                    "name": "Marco Rubio",
                    "buy_price": 0.2,
                    "mid_price": 0.195,
                    "best_bid": 0.19,
                    "best_ask": 0.2,
                    "bid_size": 14610.62,
                    "ask_size": 52884.62,
                    "book_width": 0.01,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:11:21+00:00",
                    "tradeable": true,
                    "venue_price": 0.2,
                    "decimal_odds": 5,
                    "taker_fee_rate": 0.07,
                    "volume_usd": 5507005.83,
                    "liquidity_usd": 2487819.65,
                    "quoted_at": "2026-09-27T16:11:21+00:00",
                    "price_changed_at": null,
                    "url": "https://betcrypto.now/go/e/292806?via=api"
                }
            ]
        },
        {
            "outcome": {
                "id": 47698,
                "name": "J.D. Vance",
                "slug": "jd-vance"
            },
            "market": {
                "key": "main",
                "label": null,
                "is_primary": true
            },
            "event": {
                "slug": "republican-presidential-nominee-2028",
                "title": "Republican Presidential Nominee 2028",
                "status": "live",
                "url": "https://betcrypto.now/events/republican-presidential-nominee-2028"
            },
            "realizable_usd": 108.21,
            "capital_usd": 3100.99,
            "return_on_capital": 0.0349,
            "edge_per_contract": 0.032803,
            "gross_edge_per_contract": 0.06,
            "fee_per_contract": 0.027197,
            "resolves_at_estimate": "2028-08-10T23:59:00+00:00",
            "buy_platform": {
                "slug": "polymarket-us",
                "name": "Polymarket US"
            },
            "sell_platform": {
                "slug": "polymarket",
                "name": "Polymarket"
            },
            "legs": [
                {
                    "platform": {
                        "slug": "polymarket-us",
                        "name": "Polymarket US"
                    },
                    "name": "JD Vance",
                    "buy_price": 0.45,
                    "mid_price": 0.445,
                    "best_bid": 0.44,
                    "best_ask": 0.45,
                    "bid_size": 4064.18,
                    "ask_size": 25801.06,
                    "book_width": 0.01,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:05:13+00:00",
                    "tradeable": true,
                    "venue_price": 0.45,
                    "decimal_odds": 2.2222,
                    "taker_fee_rate": 0.0695,
                    "volume_usd": null,
                    "liquidity_usd": null,
                    "quoted_at": "2026-09-27T16:05:13+00:00",
                    "price_changed_at": null,
                    "url": "https://betcrypto.now/go/e/301165?via=api"
                },
                {
                    "platform": {
                        "slug": "polymarket",
                        "name": "Polymarket"
                    },
                    "name": "J.D. Vance",
                    "buy_price": 0.511,
                    "mid_price": 0.5105,
                    "best_bid": 0.51,
                    "best_ask": 0.511,
                    "bid_size": 3298.93,
                    "ask_size": 35311.83,
                    "book_width": 0.001,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:10:05+00:00",
                    "tradeable": true,
                    "venue_price": 0.513,
                    "decimal_odds": 1.9493,
                    "taker_fee_rate": 0.04,
                    "volume_usd": 15715448.74,
                    "liquidity_usd": 341089.99,
                    "quoted_at": "2026-09-27T16:10:05+00:00",
                    "price_changed_at": "2026-09-13T14:18:34+00:00",
                    "url": "https://betcrypto.now/go/e/4857?via=api"
                },
                {
                    "platform": {
                        "slug": "kalshi",
                        "name": "Kalshi"
                    },
                    "name": "J.D. Vance",
                    "buy_price": 0.45,
                    "mid_price": 0.445,
                    "best_bid": 0.44,
                    "best_ask": 0.45,
                    "bid_size": 32667,
                    "ask_size": 80623.75,
                    "book_width": 0.01,
                    "comparable": true,
                    "stale": false,
                    "quote_age_seconds": 14,
                    "quote_confirmed_at": "2026-09-27T16:11:21+00:00",
                    "tradeable": true,
                    "venue_price": 0.45,
                    "decimal_odds": 2.2222,
                    "taker_fee_rate": 0.07,
                    "volume_usd": 4489686.18,
                    "liquidity_usd": 1955257.82,
                    "quoted_at": "2026-09-27T16:11:21+00:00",
                    "price_changed_at": null,
                    "url": "https://betcrypto.now/go/e/292806?via=api"
                }
            ]
        }
    ],
    "links": {
        "first": "https://betcrypto.now/api/v1/price-gaps?per_page=2&page=1",
        "last": "https://betcrypto.now/api/v1/price-gaps?per_page=2&page=253",
        "prev": null,
        "next": "https://betcrypto.now/api/v1/price-gaps?per_page=2&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 253,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://betcrypto.now/api/v1/price-gaps?per_page=2&page=1",
                "label": "1",
                "page": 1,
                "active": true
            }
        ],
        "path": "https://betcrypto.now/api/v1/price-gaps",
        "per_page": 2,
        "to": 2,
        "total": 505,
        "profitable_total": 316,
        "access": {
            "tier": "premium",
            "limits": {
                "per_minute": 60,
                "per_day": 50000,
                "max_per_page": 100
            },
            "cached_seconds": 0
        }
    }
}

GET /whales

♛ Premium

Whale-sized trades

Premium. Newest first, across venues that publish trades.

Parameters

time_windowstring
Default 24h.One of: 24h7d30dall
eventstring
Only trades on this event slug.
platformsstring
Venue slug(s), comma-separated.
size_minnumber
Minimum size in USD.
size_maxnumber
Maximum size in USD.
traderstring
Wallet address, or display-name prefix.
pageinteger
Page number, from 1.
per_pageinteger
Capped per tier: keyless 25, free 50, Premium 100.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 403A free key on a Premium endpoint (premium_required, with the upgrade offer).

Example request

curl -H "Authorization: Bearer $BETCRYPTO_API_KEY" \
  "https://betcrypto.now/api/v1/whales?time_window=all&per_page=2"
Example response — A real response, with lists cut to two items.
{
    "data": [
        {
            "id": 676408,
            "traded_at": "2026-09-27T16:11:59+00:00",
            "size_usd": 1999.69,
            "price": 0.524062,
            "side": "buy",
            "trigger": "relative",
            "trader": {
                "address": "0x0000000000000000000000000000000000000001",
                "name": "example-trader-1",
                "url": "https://betcrypto.now/go/t/676408?via=api"
            },
            "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000001",
            "platform": {
                "slug": "polymarket",
                "name": "Polymarket"
            },
            "event": {
                "slug": "colorado-rockies-vs-chicago-white-sox-novig-59383dc6",
                "title": "Colorado Rockies vs Chicago White Sox",
                "url": "https://betcrypto.now/events/colorado-rockies-vs-chicago-white-sox-novig-59383dc6"
            },
            "outcome": {
                "id": 8139179,
                "name": "Under"
            },
            "market_url": "https://betcrypto.now/go/e/585472?via=api"
        },
        {
            "id": 676407,
            "traded_at": "2026-09-27T16:11:58+00:00",
            "size_usd": 1617.9,
            "price": 0.649024,
            "side": "buy",
            "trigger": "relative",
            "trader": {
                "address": "0x0000000000000000000000000000000000000002",
                "name": "example-trader-2",
                "url": "https://betcrypto.now/go/t/676407?via=api"
            },
            "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000002",
            "platform": {
                "slug": "polymarket",
                "name": "Polymarket"
            },
            "event": {
                "slug": "houston-vs-as-kalshi-48271af4",
                "title": "Houston vs A's",
                "url": "https://betcrypto.now/events/houston-vs-as-kalshi-48271af4"
            },
            "outcome": {
                "id": 8034363,
                "name": "Houston Astros"
            },
            "market_url": "https://betcrypto.now/go/e/585479?via=api"
        }
    ],
    "links": {
        "first": "https://betcrypto.now/api/v1/whales?time_window=all&per_page=2&page=1",
        "last": "https://betcrypto.now/api/v1/whales?time_window=all&per_page=2&page=306694",
        "prev": null,
        "next": "https://betcrypto.now/api/v1/whales?time_window=all&per_page=2&page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 306694,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "https://betcrypto.now/api/v1/whales?time_window=all&per_page=2&page=1",
                "label": "1",
                "page": 1,
                "active": true
            }
        ],
        "path": "https://betcrypto.now/api/v1/whales",
        "per_page": 2,
        "to": 2,
        "total": 613388,
        "access": {
            "tier": "premium",
            "limits": {
                "per_minute": 60,
                "per_day": 50000,
                "max_per_page": 100
            },
            "cached_seconds": 0
        }
    }
}

GET /accuracy

♛ Premium

How often each venue's favourite wins

Premium. Favourite hit rate and Brier score (lower is better), overall, per venue, per category, by probability bucket, plus the daily trend.

Parameters

No parameters.

Responses

  • 200OK
  • 401An invalid or revoked key (invalid_token), or no key on a Premium endpoint (premium_required, with the upgrade offer).
  • 429Quota spent (rate_limited). Honour Retry-After.
  • 403A free key on a Premium endpoint (premium_required, with the upgrade offer).

Example request

curl -H "Authorization: Bearer $BETCRYPTO_API_KEY" \
  "https://betcrypto.now/api/v1/accuracy"
Example response — A real response, with lists cut to two items.
{
    "data": {
        "overall": {
            "events_scored": 367925,
            "brier_events_scored": 364993,
            "favorite_hit_rate": 0.5935,
            "brier_score": 0.2092
        },
        "by_platform": [
            {
                "platform_slug": "polymarket",
                "platform_name": "Polymarket",
                "events_scored": 42548,
                "brier_events_scored": 37281,
                "favorite_hit_rate": 0.7282,
                "brier_score": 0.1621,
                "provisional": false
            },
            {
                "platform_slug": "polymarket-us",
                "platform_name": "Polymarket US",
                "events_scored": 28785,
                "brier_events_scored": 27125,
                "favorite_hit_rate": 0.7699,
                "brier_score": 0.152,
                "provisional": false
            }
        ],
        "by_category": [
            {
                "category_slug": "crypto",
                "category_name": "Crypto",
                "events_scored": 225861,
                "brier_events_scored": 225723,
                "favorite_hit_rate": 0.5019,
                "brier_score": 0.2479
            },
            {
                "category_slug": "sports",
                "category_name": "Sports",
                "events_scored": 120738,
                "brier_events_scored": 118723,
                "favorite_hit_rate": 0.719,
                "brier_score": 0.1649
            }
        ],
        "calibration": [
            {
                "lower": 0,
                "upper": 0.1,
                "midpoint": 0.05,
                "predictions": 297450,
                "winners": 4054,
                "hit_rate": 0.0136,
                "mean_predicted": 0.0167
            },
            {
                "lower": 0.1,
                "upper": 0.2,
                "midpoint": 0.15,
                "predictions": 38834,
                "winners": 4787,
                "hit_rate": 0.1233,
                "mean_predicted": 0.1458
            }
        ],
        "trend": [
            {
                "date": "2026-07-07",
                "events_scored": 312,
                "favorite_hit_rate": 0.75,
                "brier_score": null
            },
            {
                "date": "2026-07-08",
                "events_scored": 1011,
                "favorite_hit_rate": 0.7537,
                "brier_score": null
            }
        ]
    },
    "meta": {
        "access": {
            "tier": "premium",
            "limits": {
                "per_minute": 60,
                "per_day": 50000,
                "max_per_page": 100
            },
            "cached_seconds": 0
        }
    }
}

Objects

Meta

Pagination fields (on lists) and access.

accessAccess
Your tier and limits on this request.

Access

What the key (or no key) behind this request may do.

tierstring
public (keyless), free or premium.
limitsobject
Requests per minute and per day, and the largest page size.
cached_secondsinteger
Keyless responses are shared and cached this long.
upgradeUpgrade
What Premium adds and how to get it; absent on Premium.

Upgrade

Present below Premium. message is written to be relayed to a person as-is.

messagestring
A ready-to-relay sentence describing the upgrade.
premiumobject
Monthly and yearly price in USD, payment methods and what Premium includes.
linksobject
Where to get a free API key, see pricing, and read these docs.

Error

Every 4xx body. error is the machine-readable code.

messagestring
What went wrong, in a sentence you can show a person.
errorstring
invalid_token | authentication_required | premium_required | rate_limited | market_not_found | invalid_range | market_too_large | unavailable_in_region.
tierstring
On premium_required and rate_limited: the tier the request was treated as.
upgradeUpgrade
On premium_required and rate_limited below Premium: the upgrade offer.
retry_afterinteger
On rate_limited: seconds to wait.

Event

One real-world question, merged across every venue that lists it.

idinteger
Stable numeric id.
slugstring
Stable URL key; pass it to /events/{slug}.
titlestring
BetCrypto's title for the question.
urlstring
The event page on BetCrypto.
statusstring
The market's lifecycle: upcoming, live (trading), ended (trading closed, awaiting a result) or settled. A game that hasn't started reads live while its market trades; see game_status.
kickoff_atdate-time | null
Real-world start of a game.
game_statusstring | null
Where a game stands: scheduled, in_progress (kicked off, within a game's usual length) or final (settled, or its play window has passed). Null for events that aren't games, for a game past its usual length whose result is pending, and for a game known only by a date that has begun.
starts_atdate-time | null
When the market opened — not a kickoff.
ends_atdate-time | null
When trading closes — not a resolution date.
settled_atdate-time | null
When the result was recorded.
abandoned_atdate-time | null
Set when every venue delisted without a result; it will never resolve.
winning_outcome_idinteger | null
Null on a settled event means it voided.
settled_valuenumber | null
For a numeric question, the value it resolved at.
settled_value_labelstring | null
That value, formatted for display.
total_volume_usdnumber | null
Lifetime traded volume, summed across venues.
volume_24h_usdnumber | null
Traded volume in the last 24 hours, summed across venues.
largest_venue_spreadnumber | null
Widest disagreement between comparable venue midpoints on the main market.
is_featuredboolean
Whether BetCrypto features the event.
categoriesobject[]
Categories the event is filed under.
platformsobject[]
Venues listing the event.
markets_countinteger
How many markets the event has.
marketsMarket[]
The main market on lists; every market on /events/{slug}.
created_atdate-time | null
When BetCrypto first listed the event.
updated_atdate-time | null
When the event record last changed.

Market

One bet on the event — the moneyline, a total at one line, a spread for one team, a player prop.

idinteger
Stable numeric id.
keystring
Pass as market to select it.
typestring
moneyline, main, totals, spread, prop, binary, bracket or other.
labelstring | null
A display name for the market.
linenumber | null
The line for totals, spreads and props.
periodstring | null
The part of the game it covers (1h, 2h, f5) when not the whole game.
is_primaryboolean
Whether this is the event's main market.
outcomes_countinteger
How many outcomes the market has.
outcomesOutcome[]
Only on the selected market(s).

Outcome

One answer to a market, with its cross-venue rollup and each venue's quote.

idinteger
Stable numeric id.
namestring
The outcome's name.
slugstring
Stable key for the outcome within its market.
is_winnerboolean | null
Set once the event settles.
implied_probabilitynumber | null
The cross-venue consensus, 0–1: the median midpoint among the liquid venues with a comparable quote (the mean of the two when there are two). venue_spread shows how far they disagree.
best_buy_pricenumber | null
Cheapest ask across venues.
best_buy_platformobject | null
The venue offering it.
venue_spreadnumber | null
Widest disagreement between comparable venue midpoints.
volume_usdnumber | null
Traded volume on this outcome, summed across venues.
quotesQuote[]
One per venue listing it.

Quote

One venue's price for an outcome.

platformobject
The venue.
namestring | null
The outcome's name as this venue writes it.
buy_pricenumber | null
What entering costs on this venue (the ask).
mid_pricenumber | null
Side-neutral view; compare across venues only when comparable.
best_bidnumber | null
Highest resting bid.
best_asknumber | null
Lowest resting ask.
bid_sizenumber | null
Contracts resting at the bid, where the venue publishes depth.
ask_sizenumber | null
Contracts resting at the ask, where the venue publishes depth.
book_widthnumber | null
Ask minus bid.
comparableboolean
Whether mid_price is a two-sided view tight enough to compare.
staleboolean
Whether the quote is too old to count: past 90 s in play, 20 min before the game or 6 h otherwise. A stale quote is in none of the outcome's numbers and never comparable.
quote_age_secondsinteger | null
Seconds since the venue last confirmed this quote.
quote_confirmed_atdate-time | null
When the venue last confirmed this quote — its own quote or a refresh of the listing, whichever is later.
tradeableboolean
Whether the listing is open for trading now.
venue_pricenumber | null
Venue-defined; never compare across venues.
decimal_oddsnumber | null
1 ÷ buy_price.
taker_fee_ratenumber | null
The venue's taker fee rate, where it charges one.
volume_usdnumber | null
Traded volume on this listing.
liquidity_usdnumber | null
Liquidity the venue reports for this listing.
quoted_atdate-time | null
When this listing's own quote was last delivered or changed. A refresh that finds it unchanged moves quote_confirmed_at instead.
price_changed_atdate-time | null
When the price last moved.
urlstring | null
Redirect to this listing on the venue.

PriceGap

Buy an outcome on one venue and sell it on another: the edge after both venues' fees, and how much of it the books can fill.

outcomeobject
The outcome both legs trade.
marketobject | null
Its market.
eventobject | null
Its event.
realizable_usdnumber
Net edge × contracts fillable at both quotes.
capital_usdnumber
What entering both legs costs.
return_on_capitalnumber | null
realizable_usd ÷ capital_usd.
edge_per_contractnumber
After both venues' taker fees.
gross_edge_per_contractnumber
Before fees.
fee_per_contractnumber
Both venues' taker fees on one contract.
resolves_at_estimatedate-time | null
When the capital is expected back: the earliest leg close.
buy_platformobject | null
The venue to buy on: its best ask is the buy leg.
sell_platformobject | null
The venue to sell into: its best bid is the sell leg.
legsQuote[]
Every venue quoting the outcome, as quotes. The trade is buy_platform's ask and sell_platform's bid.