STAT-API

Find the main slate for a day

Almost every DFS question starts with one slate id. The main slate is the featured pool for an operator on a day — the full Sunday card in NFL, the full night in NBA, MLB, and NHL. This recipe lists a day's slates and keeps the main one. Every other DFS recipe takes the id it prints.

  1. 1. List one operator's slates for one day

    dfs.slates accepts operator_id and date only TOGETHER — that pair is the endpoint's one required filter set. Send either alone and the server returns 400 missing_required_filters, whose `accepted` array names every combination it will take. Add league too, because an operator runs every sport on the same day and an unfiltered response mixes them.

    curl -sS --compressed \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/dfs/slates?date=2025-11-30&league=nfl&operator_id=1'
  2. 2. Keep the main slate

    main is a response field, not a filter, so the test happens client-side. At most one slate per operator, league, and day carries it. NFL flags only Sunday slates, so a Thursday or Monday returns nothing here — that is correct, not a gap.

    const mains = days.filter((row) => row.main === true)
  3. 3. Read the slate id

    console.log("Main slate")
    console.log(["id", "name", "date", "start_time"].join('\t'))
    for (const row of mains) {
      console.log([String(row.id ?? ''), String(row.name ?? ''), String(row.date ?? ''), String(row.start_time ?? '')].join('\t'))
    }