Integration GuidesReference Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Push Feeds

Streamline your access to live game updates by utilizing our NFL Push feeds.

Intro

With our RESTful endpoints, you'll make API requests when you want to receive new data. But our Push feeds allow you to open a connection with a single call to receive continuous live updates. Once this connection opens, it will remain open indefinitely.

Thus, Push feeds are an efficient option to retrieve live NFL game data. You need not worry about API pull frequency, but need only to "listen" for game updates.



RESTful & Push

Each Push update comes in the form of a JSON payload, which will mimic the structure of a similar RESTful NFL API endpoint. Below are the Push endpoints alongside their RESTful counterparts.

It's important to note that our Push service is not meant to replace our RESTful API, but to complement it. Push does not provide a "stateful session". There is no memory or method to access data sent previously. If you are disconnected from a Push session, use the corresponding RESTful API feed to catch up or recover from the disconnection. For example, if you experience a disconnection from a game while using Push Events, request the RESTful Play-by-Play to capture the plays missed during the disconnection.

Additionally, it is important to note that Push feeds correlate to RESTful endpoints, but are not necessarily a 1:1 parity for all NFL data. For a complete NFL experience, you will need to make use of RESTful endpoints.



Access


NFL Push feeds are an add-on service, and unavailable in the self-issued NFL trial within your account. Reach out to a sales representative for trial access.

🔐

NFL Push feeds are available for Sportradar Realtime customers only


Make a Request

Each Push feed will begin with a URL request appended with your unique API key, as with our other RESTful API endpoints.

https://api.sportradar.com/nfl/official/{access_level}/stream/{language_code}/{push_feed}/subscribe?api_key={your_api_key}

When constructed, the above call opens up an HTTP redirect connection, returning all Push data for the requested feed. To filter results to a smaller data set include an optional query string.

There are no restrictions on the number of connections you may have open. Feel free to filter requests to individual games and close the connections when games complete, or keep a single unfiltered connection open indefinitely.

Visit the feed endpoints pages for complete syntax instructions.


Filtering

By default, a Push feed will provide all data available. For example, a Push Events connection would stream all NFL games in progress to your application. If needed, you can filter the data returned by including query strings.

For example, let's say you want to restrict your connection to one NFL game in progress. Construct your call as normal and add the unique game id to the query string.

Here's an example: https://api.sportradar.us/nfl/official/trial/stream/en/events/subscribe?api_key={your_api_key}&match=sd:match:673b459c-7506-4c11-9273-1b9502537f1d

Visit the feed endpoints pages for complete query string syntax instructions.


Technical Requirements

To accept data from our Push feeds, ensure that your application can:

  • Follow an HTTP redirect, or use the location provided in the feeds header within one minute of your initial request.
  • Accept HTTP data transfer encoded as chunked.


Payloads

Our Push services are delivered by HTTP Streaming with chunked encoding, also commonly called HTTP Chunked. The streaming of data is based on long HTTP response. Chunked streaming allows you to act on the chunks immediately instead of waiting or requesting a full file.

When new feed content is available, the server pushes that information out to your client. When no new information is available on a feed, a heartbeat message is sent every 5 seconds to keep the connection active.

Messages are delivered in JSON format only.

{
   "heartbeat":{
      "interval":5000
   }
}{
   "heartbeat":{
      "interval":5000
   }
}{
   "heartbeat":{
      "interval":5000
   }
}{
   "payload":{
      "game":{
         "id":"5f548f9c-c6a3-46e5-bf28-c6769bbf2522",
         "status":"inprogress",
         "coverage":"full",
         "game_type":"regular",
         "scheduled":"2023-07-24T17:30:00+00:00",
         "entry_mode":"LDE",
         "wx_temp":82,
         "wx_humidity":72,
         "wx_wind_speed":6,
         "wx_wind_direction":"S",
         "wx_condition":"Partly cloudy",
         "weather":"Partly cloudy Temp: 82 F, Humidity: 72%, Wind: S 6 mph",
         "quarter":1,
         "clock":"15:00",
         "sr_id":"sr:match:42030150",
         "summary":{
            "home":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "used_timeouts":0,
               "remaining_timeouts":3,
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "points":0,
               "sr_id":"sr:competitor:4416"
            },
            "away":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "used_timeouts":0,
               "remaining_timeouts":3,
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "points":0,
               "sr_id":"sr:competitor:4287"
            }
         }
      },
      "event":{
         "type":"play",
         "id":"a916ffa0-2a49-11ee-a535-c52fc7b32afc",
         "sequence":1690220715946.0,
         "clock":"15:00",
         "home_points":0,
         "away_points":0,
         "created_at":"2023-07-24T17:45:15+00:00",
         "updated_at":"2023-07-24T17:45:17+00:00",
         "play_type":"kickoff",
         "wall_clock":"2023-07-24T17:45:02+00:00",
         "source":"SRUS",
         "fake_punt":false,
         "fake_field_goal":false,
         "screen_pass":false,
         "play_action":false,
         "run_pass_option":false,
         "description":"J.Sanders kicks 65 yards from MIA 35 to the CIN End Zone. Touchback.",
         "period":{
            "id":"d9c919be-5270-48aa-a76d-edc4d4d87d03",
            "number":1,
            "sequence":1
         },
         "drive":{
            "id":"099e9951-8c59-4810-9a51-d9393dfaae5a",
            "sequence":1,
            "start_reason":"Kickoff",
            "end_reason":"UNKNOWN",
            "play_count":0,
            "duration":"00:00",
            "first_downs":0,
            "gain":0,
            "penalty_yards":0
         },
         "start_situation":{
            "clock":"15:00",
            "down":0,
            "yfd":0,
            "possession":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "sr_id":"sr:competitor:4287"
            },
            "location":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "yardline":35,
               "sr_id":"sr:competitor:4287"
            }
         },
         "end_situation":{
            "clock":"15:00",
            "down":1,
            "yfd":10,
            "possession":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "sr_id":"sr:competitor:4416"
            },
            "location":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "yardline":25,
               "sr_id":"sr:competitor:4416"
            }
         },
         "statistics":[
            {
               "stat_type":"kick",
               "attempt":1,
               "yards":65,
               "net_yards":40,
               "touchback":1,
               "onside_attempt":0,
               "onside_success":0,
               "squib_kick":0,
               "team":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "sr_id":"sr:competitor:4287"
               },
               "player":{
                  "name":"Jason Sanders",
                  "jersey":"07",
                  "id":"5ffb654f-0de5-424b-aa2f-ad511deb5b51",
                  "position":"K",
                  "sr_id":"sr:player:1199416"
               }
            },
            {
               "stat_type":"return",
               "touchback":1,
               "category":"kick_return",
               "team":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "sr_id":"sr:competitor:4416"
               }
            }
         ],
         "details":[
            {
               "category":"kick_off",
               "description":"J.Sanders kicks 65 yards from MIA 35 to the CIN End Zone.",
               "sequence":0,
               "yards":65,
               "result":"touchback",
               "alt_description":"",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":35,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "yardline":0,
                  "sr_id":"sr:competitor:4416"
               },
               "players":[
                  {
                     "role":"kick",
                     "name":"Jason Sanders",
                     "jersey":"07",
                     "id":"5ffb654f-0de5-424b-aa2f-ad511deb5b51",
                     "position":"K",
                     "sr_id":"sr:player:1199416"
                  }
               ]
            },
            {
               "category":"touchback",
               "description":"Touchback.",
               "sequence":1,
               "result":"touchback",
               "alt_description":"",
               "start_location":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "yardline":0,
                  "sr_id":"sr:competitor:4416"
               },
               "end_location":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "yardline":25,
                  "sr_id":"sr:competitor:4416"
               },
               "players":[
                  {
                     "role":"kick",
                     "name":"Jason Sanders",
                     "jersey":"07",
                     "id":"5ffb654f-0de5-424b-aa2f-ad511deb5b51",
                     "position":"K",
                     "sr_id":"sr:player:1199416"
                  }
               ]
            }
         ]
      }
   },
   "locale":"en",
   "metadata":{
      "league":"nfl",
      "match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",
      "status":"inprogress",
      "event_type":"kickoff",
      "event_category":"",
      "locale":"en",
      "operation":"update",
      "version":"v7",
      "team":"sd:team:4809ecb0-abd3-451d-9c4a-92a90b83ca06,sr:competitor:4287"
   }
}{
   "heartbeat":{
      "interval":5000
   }
}

Disconnections

Should you cease to receive heartbeat messages, or are disconnected from the Push service for any reason, re-connect using your same initial request.


Metadata

Each payload includes a metadata header message. The metadata includes information on the type of payload, as well as possible filtering options, saving processing and integration time.

   "locale":"en",
   "metadata":{
      "league":"nfl",
      "match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",
      "status":"inprogress",
      "event_type":"kickoff",
      "event_category":"",
      "locale":"en",
      "operation":"update",
      "version":"v7",
      "team":"sd:team:4809ecb0-abd3-451d-9c4a-92a90b83ca06,sr:competitor:4287"
   "locale":"en",
   "metadata":{
      "league":"nfl",
      "match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",
      "status":"inprogress",
      "participant":"sd:player:cbe52cf7-a9fe-495c-bd77-3a22a7f7208f,sr:player:2040119",
      "locale":"en",
      "operation":"update",
      "version":"v7"
   }

Comma delimited values in the header are interpreted as an array of values.

"team":"sd:team:4809ecb0-abd3-451d-9c4a-92a90b83ca06,sr:competitor:4287"
"match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",

Visit the Endpoints documentation for each feed to view all available data points.



Samples


Code Samples

To best utilize Push feeds, see the below code samples in Ruby and Java. These provide an example of a method to consume the feeds. Using these samples will output the feeds content to STDOUT.

For Java, we have also provided a Stream Client to assist your integration.

Note: In the provided Java sample, replace "URL GOES HERE" with the desired Push feed URL.

require 'httpclient'

module Sportradar
    module HTTP
        module Stream
            class Client
                attr_reader :url, :logger

                def initialize(url, publisher, logger)
                    @url = url
                    @logger = logger
                    @publisher = publisher
                    @client = ::HTTPClient.new(:agent_name => 'SportsData/1.0')
                end

                def start
                    @thread ||= Thread.new do
                        logger.debug "Starting loop"
                        @client.get_content(url, :follow_redirect => true) do |chunk|
                            @publisher.publish(::JSON.parse(chunk)) if @publisher
                        end
                        logger.debug "finished loop"
                    end
                end

                def stop
                    @thread.terminate if @thread
                end

            end
        end
    end
end
package com.sportradar.http.stream.client;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class StreamClientTest {

	private StreamClient client;

	private static String SERVICE_URL = "<URL GOES HERE>";

	@Before
	public void setup() {
		client = new StreamClient();
	}

	@After
	public void cleanup() {
		client.terminate();
	}

	@Test
	public void testStream() throws Exception {
		Handler handler = new ConsoleHandler();
		client.stream(SERVICE_URL, handler);
		System.out.println("Connecting....");
		Thread.sleep(1 * 60 * 1000);
		System.out.println("Disconnecting....");
	}

}

Data Samples

Click here for Push samples (Events, Pulse, Statistics) of a complete game. Please note that the Push Statistics feed has been enhanced to include additional game data. See here for an updated Statistics sample.

Additional samples can be found on each individual Endpoints page.



ID Updates

All updates to the Push feeds are categorized as an update or a delete. These will be found within metadata.operation.

Updates may be the creation of an event or an update of information to a previous event.

When you receive an event with the same ID as an event that has been previously consumed, it is best practice to replace the data from the previous message with the data consumed in the most recent message.

{
   "payload":{
      "game":{
         "id":"5f548f9c-c6a3-46e5-bf28-c6769bbf2522",
         "status":"inprogress",
         "coverage":"full",
         "game_type":"regular",
         "scheduled":"2023-07-24T17:30:00+00:00",
         "entry_mode":"LDE",
         "wx_temp":82,
         "wx_humidity":72,
         "wx_wind_speed":6,
         "wx_wind_direction":"S",
         "wx_condition":"Partly cloudy",
         "weather":"Partly cloudy Temp: 82 F, Humidity: 72%, Wind: S 6 mph",
         "quarter":1,
         "clock":"12:12",
         "sr_id":"sr:match:42030150",
         "summary":{
            "home":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "used_timeouts":0,
               "remaining_timeouts":3,
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "points":0,
               "sr_id":"sr:competitor:4416"
            },
            "away":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "used_timeouts":0,
               "remaining_timeouts":3,
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "points":0,
               "sr_id":"sr:competitor:4287"
            }
         }
      },
      "event":{
         "type":"play",
         "id":"4c38ee50-2a4a-11ee-9cc1-fb972f55a873",
         "sequence":1690220983493.0,
         "clock":"12:12",
         "home_points":0,
         "away_points":0,
         "created_at":"2023-07-24T17:49:43+00:00",
         "updated_at":"2023-07-24T17:49:45+00:00",
         "play_type":"pass",
         "wall_clock":"2023-07-24T17:48:57+00:00",
         "source":"SRUS",
         "fake_punt":false,
         "fake_field_goal":false,
         "screen_pass":false,
         "play_action":false,
         "run_pass_option":false,
         "description":"9-Joe Burrow pass  complete naar MIA 35. Catch gemaakt door 88-Hayden Hurst bij MIA 35. Winst van 4 yards. Getackled door  bij MIA 31. PENALTY op Dolphins-27-Keion Crossen, 15 yards, accepted. ",
         "period":{
            "id":"d9c919be-5270-48aa-a76d-edc4d4d87d03",
            "number":1,
            "sequence":1
         },
         "drive":{
            "id":"099e9951-8c59-4810-9a51-d9393dfaae5a",
            "sequence":1,
            "start_reason":"Kickoff",
            "end_reason":"UNKNOWN",
            "play_count":5,
            "duration":"2:21",
            "first_downs":2,
            "gain":40,
            "penalty_yards":0
         },
         "start_situation":{
            "clock":"12:12",
            "down":1,
            "yfd":10,
            "possession":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "sr_id":"sr:competitor:4416"
            },
            "location":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "yardline":35,
               "sr_id":"sr:competitor:4287"
            }
         },
         "end_situation":{
            "clock":"11:24",
            "down":1,
            "yfd":10,
            "possession":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "sr_id":"sr:competitor:4416"
            },
            "location":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "yardline":20,
               "sr_id":"sr:competitor:4287"
            }
         },
         "statistics":[
            {
               "stat_type":"receive",
               "firstdown":0,
               "target":1,
               "reception":1,
               "yards":4,
               "yards_after_catch":4,
               "inside_20":0,
               "goaltogo":0,
               "catchable":0,
               "team":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "sr_id":"sr:competitor:4416"
               },
               "player":{
                  "name":"Hayden Hurst",
                  "jersey":"88",
                  "id":"1b125fc4-5dd9-4eb9-a42f-048e61ca42b7",
                  "position":"TE",
                  "sr_id":"sr:player:1217802"
               }
            },
            {
               "stat_type":"penalty",
               "penalty":1,
               "yards":15,
               "firstdown":1,
               "category":"defense",
               "team":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "sr_id":"sr:competitor:4287"
               },
               "player":{
                  "name":"Keion Crossen",
                  "jersey":"27",
                  "id":"ce0badde-28c3-45ce-a6f4-e2f82ef129f8",
                  "position":"DB",
                  "sr_id":"sr:player:1189988"
               }
            },
            {
               "stat_type":"pass",
               "attempt":1,
               "complete":1,
               "yards":4,
               "att_yards":0,
               "firstdown":0,
               "inside_20":0,
               "goaltogo":0,
               "blitz":0,
               "hurry":0,
               "knockdown":0,
               "on_target_throw":0,
               "batted_pass":0,
               "team":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "sr_id":"sr:competitor:4416"
               },
               "player":{
                  "name":"Joe Burrow",
                  "jersey":"09",
                  "id":"3023ac10-4e7f-425f-9fc5-2b8e6332c92e",
                  "position":"QB",
                  "sr_id":"sr:player:1218002"
               }
            },
            {
               "stat_type":"first_down",
               "category":"penalty",
               "team":{
                  "name":"Bengals",
                  "market":"Cincinnati",
                  "alias":"CIN",
                  "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
                  "sr_id":"sr:competitor:4416"
               }
            },
            {
               "stat_type":"defense",
               "tackle":1,
               "category":"defense",
               "def_target":0,
               "def_comp":0,
               "blitz":0,
               "hurry":0,
               "knockdown":0,
               "batted_pass":0,
               "def_yards_against":0,
               "team":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "sr_id":"sr:competitor:4287"
               }
            }
         ],
         "details":[
            {
               "category":"pass_completion",
               "description":"9-Joe Burrow pass  complete naar MIA 35.",
               "sequence":0,
               "yards":4,
               "alt_description":"Joe Burrow pass  complete naar MIA 35.",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":35,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":35,
                  "sr_id":"sr:competitor:4287"
               },
               "players":[
                  {
                     "role":"pass",
                     "name":"Joe Burrow",
                     "jersey":"09",
                     "id":"3023ac10-4e7f-425f-9fc5-2b8e6332c92e",
                     "position":"QB",
                     "sr_id":"sr:player:1218002"
                  }
               ]
            },
            {
               "category":"pass_reception",
               "description":"Catch gemaakt door 88-Hayden Hurst bij MIA 35. Winst van 4 yards.",
               "sequence":1,
               "yards":4,
               "result":"getackled",
               "alt_description":"Catch gemaakt door Hayden Hurst bij MIA 35. Winst van 4 yards.",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":35,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":31,
                  "sr_id":"sr:competitor:4287"
               },
               "players":[
                  {
                     "role":"catch",
                     "name":"Hayden Hurst",
                     "jersey":"88",
                     "id":"1b125fc4-5dd9-4eb9-a42f-048e61ca42b7",
                     "position":"TE",
                     "sr_id":"sr:player:1217802"
                  }
               ]
            },
            {
               "category":"tackle",
               "description":"Getackled door  bij MIA 31.",
               "sequence":2,
               "alt_description":"Getackled door  bij MIA 31.",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":31,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":31,
                  "sr_id":"sr:competitor:4287"
               },
               "players":[
                  
               ]
            },
            {
               "category":"penalty",
               "description":"PENALTY op Dolphins-27-Keion Crossen, 15 yards, accepted.",
               "sequence":3,
               "alt_description":"PENALTY op Dolphins-Keion Crossen, 15 yards, accepted.",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":35,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":20,
                  "sr_id":"sr:competitor:4287"
               },
               "penalty":{
                  "description":"Personal Foul / Defense",
                  "result":"accepted",
                  "yards":15,
                  "team":{
                     "name":"Dolphins",
                     "market":"Miami",
                     "alias":"MIA",
                     "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                     "sr_id":"sr:competitor:4287"
                  }
               },
               "players":[
                  {
                     "role":"penalty",
                     "name":"Keion Crossen",
                     "jersey":"27",
                     "id":"ce0badde-28c3-45ce-a6f4-e2f82ef129f8",
                     "position":"DB",
                     "sr_id":"sr:player:1189988"
                  }
               ]
            },
            {
               "category":"first_down",
               "description":null,
               "sequence":4,
               "result":"penalty",
               "alt_description":"",
               "start_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":20,
                  "sr_id":"sr:competitor:4287"
               },
               "end_location":{
                  "name":"Dolphins",
                  "market":"Miami",
                  "alias":"MIA",
                  "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
                  "yardline":20,
                  "sr_id":"sr:competitor:4287"
               },
               "players":[
                  
               ]
            }
         ]
      }
   },
   "locale":"nl",
   "metadata":{
      "league":"nfl",
      "match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",
      "status":"inprogress",
      "event_type":"pass",
      "event_category":"",
      "locale":"nl",
      "operation":"update",
      "version":"v7",
      "team":"sd:team:ad4ae08f-d808-42d5-a1e6-e9bc4e34d123,sr:competitor:4416"
   }
}
{
   "payload":{
      "game":{
         "id":"5f548f9c-c6a3-46e5-bf28-c6769bbf2522",
         "status":"inprogress",
         "coverage":"full",
         "game_type":"regular",
         "scheduled":"2023-07-24T17:30:00+00:00",
         "entry_mode":"LDE",
         "wx_temp":82,
         "wx_humidity":72,
         "wx_wind_speed":6,
         "wx_wind_direction":"S",
         "wx_condition":"Partly cloudy",
         "weather":"Partly cloudy Temp: 82 F, Humidity: 72%, Wind: S 6 mph",
         "quarter":1,
         "clock":"6:41",
         "sr_id":"sr:match:42030150",
         "summary":{
            "home":{
               "name":"Bengals",
               "market":"Cincinnati",
               "alias":"CIN",
               "used_timeouts":1,
               "remaining_timeouts":2,
               "id":"ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
               "points":7,
               "sr_id":"sr:competitor:4416"
            },
            "away":{
               "name":"Dolphins",
               "market":"Miami",
               "alias":"MIA",
               "used_timeouts":0,
               "remaining_timeouts":3,
               "id":"4809ecb0-abd3-451d-9c4a-92a90b83ca06",
               "points":0,
               "sr_id":"sr:competitor:4287"
            }
         }
      },
      "event":{
         "type":"play",
         "id":"f5e121b0-2a4b-11ee-a081-f5696882ff52",
         "sequence":1690221650797.0,
         "deleted":true,
         "play_type":"field_goal",
         "source":"SRUS",
         "period":{
            "id":"d9c919be-5270-48aa-a76d-edc4d4d87d03",
            "number":1,
            "sequence":1
         },
         "drive":{
            "id":"39817cc3-e485-457d-b193-f08d4fac107c",
            "sequence":2,
            "start_reason":"Kickoff",
            "end_reason":"UNKNOWN",
            "play_count":9,
            "duration":"4:01",
            "first_downs":3,
            "gain":68,
            "penalty_yards":0,
            "inside_20":true,
            "scoring_drive":true
         }
      }
   },
   "locale":"en",
   "metadata":{
      "league":"nfl",
      "match":"sd:match:5f548f9c-c6a3-46e5-bf28-c6769bbf2522,sr:match:42030150",
      "status":"inprogress",
      "event_type":"field_goal",
      "event_category":"scoring_play",
      "locale":"en",
      "operation":"delete",
      "version":"v7",
      "team":"sd:team:4809ecb0-abd3-451d-9c4a-92a90b83ca06,sr:competitor:4287"
   }
}


Endpoint Docs

Visit the links below for syntax structure, data samples, and data dictionaries for all NFL Push feeds.

  • Push Events - Provides detailed, real-time information on every live game event.
  • Push Statistics - Provides detailed, real-time game stats at the team and player level for all live games.
  • Push Pulse - Provides real-time messages about on-field activity before, during, and after a play.
  • Push Draft Picks - Provides pre-draft pick order with real-time (push enabled) pick selections during the draft.
  • Push Draft Trades - Provides summary details of all in-draft trades in real-time.

🔐

Access

Our NFL Push Pulse feed is available exclusively for Realtime plans with Pulse enabled. Reach out to our sales team for more information.