ABET · FanDuel on-demand · 4 independent sources · attachment-map raw shape

FanDuel — 4 independent scrapers, same raw structure, exhaustive proof

Each source fetches the same FanDuel content-managed-page raw API for the same 6 sport pages (NFL, NBA, MLB, NHL, NCAAF, NCAAB) and returns the upstream JSON inline. Click Run all 4 and watch each call play out in the terminal; sortable tables below render every field of the FanDuel attachment map, including events, markets, and every market runner — nothing dropped.

FanDuel content-managed-page response — top-level data hierarchy

{
  "layout": { … }                                                                                           // page layout / references into attachments
  "attachments": {
    "eventTypes":    { "eventTypeId": {eventTypeId,name,…} }                                // sport taxonomy
    "competitions":  { "competitionId": {competitionId,name,eventTypeId,…} }                // league taxonomy
    "events":        { "eventId": {eventId,name,openDate,competitionId,eventTypeId,…} }          // games / matchups
    "markets":       { "marketId": {marketId,eventId,marketName,marketType,marketStatus,runners:[…]} } // bet types
  }
  "attachments.markets[].runners[]": {runnerName,selectionId,handicap,runnerStatus,winRunnerOdds:{americanDisplayOdds:{americanOdds}}}  // the actual prices
}

Terminal — live call log

Sources PASS
Sources FAIL
Max events
Max markets
Max runners
Total raw bytes