Home › Guides › How to build a prediction market watchlist

How to build a prediction market watchlist

Updated September 25, 2026 · facts checked against the dated sources listed below

A watchlist is a short list of markets you follow on purpose, with their rules, prices and end dates in one place. Keep it to markets you have a reason to track, record the numbers on a steady rhythm, and let a spreadsheet or a script flag the moves worth a second look.

Step 1: choose the markets

Pick a handful of questions tied to what you follow, then vet each one before it goes on the list: read the rules and the resolution source, note the end date, and check recent volume and the spread. A thinly traded market can jump when a single order hits, so mark it as thin rather than dropping it. Where the same question trades on Kalshi, add that too; the gap between the two is worth watching in itself.

Write down why each market is on the list and what would change your mind. A note such as watching for the October jobs report makes a later move much easier to read.

See also: How to find new Polymarket markets · Polymarket vs Kalshi odds today

Step 2: set up the sheet

Use one row per outcome you care about, with these columns: market, outcome, link, the date you read the rules, end date, why you track it, price when added, price now, change in points, 24-hour volume and the alert threshold. Keep prices as numbers from 0 to 1 formatted as percentages, and add a column for your own estimate, written before you look at the price; after a few weeks, comparing the two shows whether your view adds anything.

Our Google Sheets guide shows how to fill the price column automatically from this site's data. To highlight big moves, open Format, then Conditional formatting, choose Custom formula is, and enter a rule like the one below, which colors a row when its change reaches the threshold.

A Market | B Outcome | C Link | D Rules read on | E Ends | F Why I track it
G Price when added | H Price now | I Change (points) | J 24h volume | K Alert at (points)

I2, change in points:
=(H2-G2)*100

Conditional formatting on A2:K100, Custom formula is:
=AND($K2<>"", ABS($I2)>=$K2)

See also: How to get Polymarket odds in Google Sheets · How to track Polymarket price history

Step 3: track price and volume with a script

If you prefer a script, the one below takes a list of market slugs, the last part of a market's address on this site, fetches each market's file from our free API and prints each open outcome's probability and 24-hour change, flagging moves of 5 points or more. It reads only fields the files publish: slug and api in the index; title, url, end_date, volume_24h and each outcome's name, probability, change_24h and closed in the market files, plus the index's attribution and updated fields for the credit line.

Run it once or twice a day; the files are rebuilt about twice a day, so running it more often shows the same numbers. Save each run's output to a dated file and you have your own price history.

import json
import urllib.request

WATCHLIST = ["us-recession-by-end-of-2026", "fed-decision-in-december"]
ALERT_POINTS = 5
HEADERS = {"User-Agent": "my-watchlist/1.0"}


def get_json(url):
    request = urllib.request.Request(url, headers=HEADERS)
    with urllib.request.urlopen(request, timeout=30) as response:
        return json.load(response)


def main():
    index = get_json("https://polymarkettrader.com/api/v1/odds/index.json")
    api = {m["slug"]: m["api"] for m in index["markets"]}
    for slug in WATCHLIST:
        if slug not in api:
            print(slug, "is not in the index: resolved or no longer tracked")
            continue
        market = get_json(api[slug])
        print(market["title"], "| ends", market["end_date"], "| 24h volume", round(market["volume_24h"] or 0))
        for o in [o for o in market["outcomes"] if not o["closed"]][:4]:
            change = (o["change_24h"] or 0) * 100
            flag = "  ALERT" if abs(change) >= ALERT_POINTS else ""
            print(f'  {o["name"]}: {o["probability"]:.1%} ({change:+.1f} pts in 24h){flag}')
        print("  " + market["url"])
    print(index["attribution"]["text"], index["attribution"]["url"], "updated", index["updated"])


if __name__ == "__main__":
    main()

See also: How to use the free odds API

Step 4: add move alerts and end dates

Two feeds help. The movers feed, /api/v1/movers.json, ranks markets by their 24-hour price change and gives each one's price, change_24h_cents, volume_24h and liquidity; it is built on its own schedule, so check its generated_at time before relying on it. The calendar files under /api/v1/calendar/, one per month such as october-2026.json, list the markets ending that month with their date, status, leading outcome, probability and, once settled, the result: the quickest way to see which items on your list end soon. For new candidates, /api/v1/new-markets.json lists markets opened on Polymarket in the last seven days with their title, url, leading outcome, probability, opening time, 24-hour volume and end date.

Set thresholds per market rather than one for all: a 5-point move means more in a market that usually drifts a point a day than in a game that is being played. When an alert fires, open the market and find out why before you act.

See also: Polymarket biggest movers · Polymarket calendar

Step 5: review and prune

Once a week, drop markets that have resolved, reread the rules of the rest, since Polymarket can add clarifying context to a market, and note what moved and why. A watchlist that only grows stops being read.

See also: Polymarket results this week · New Polymarket markets this week

Sources

Frequently asked questions

How many markets should a watchlist have?

As many as you will actually read each time you check. Start with five to ten and add one only when you drop one.

What is a good alert threshold?

Start with 5 percentage points in 24 hours and adjust by market: tighter for slow-moving political questions, looser for fast sports or crypto markets.

Can I get alerts without writing code?

Yes. A Google Sheet with conditional formatting highlights big changes whenever its data refreshes, and the biggest-movers page lists large 24-hour swings.

How often should I update my watchlist?

Once or twice a day matches how often this site's data is rebuilt. For minute-by-minute moves, watch the market on Polymarket itself.

Polymarket View is independent and not affiliated with Polymarket. Educational information, not financial advice. All guides · How market types work · Glossary · Polymarket odds today