---
updatedAt: 2026-09-09T07:05:47.000Z
agentTools:
  siteIndex: https://developer.sportradar.com/llms.txt
  projectIndex: https://developer.sportradar.com/football/llms.txt
---

# Push Pulse

**NFL Push Pulse** provides real-time messages about on-field activity before, during, and after a play.<br><br>Messages will include: players approaching the line of scrimmage, ball snap (play start), end of play, game clock status (start and stop), play event outcome, and updated game state info (possession, down, distance, and location).

> 📘 Streaming with Push
>
> Learn how to subscribe, filter the stream, and recover from disconnections in our <a href="https://developer.sportradar.com/football/docs/nfl-ig-push" target="_blank">Push Feeds</a> integration guide.

<Callout icon="🔐" theme="default">
  ### Access

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

<br />

## Syntax

<HTMLBlock>{`
<table>
  <tr>
    <td
      style="padding:20px; background-color:#00003c; color:white; width:57%; text-align:left; cursor:default;"
    >
      https://api.sportradar.com/nfl/official/{access_level}/stream/{language_code}/pulse/subscribe
    </td>
  </tr>
</table>
`}</HTMLBlock>

<br />

### Parameters

| Parameter       | Description                                                      |
| --------------- | ---------------------------------------------------------------- |
| `access_level`  | Defines the access level of your API key<br /><br />`production` |
| `language_code` | 2-letter code for supported languages<br /><br /> `en` (English) |

> 🔐 Authorization
>
> Place your API key in the header for each request (`x-api-key`)

<br />

### Optional Query String Parameters

By default, a Push feed will provide all data available for all in progress games. If needed, you can filter the data returned by including query strings.

Each query string parameter can be added with a preceding ampersand (`&`).

| Parameter        | Description                                                                                                                                                 |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `event_category` | Event category<br /><br />`redzone`, `two_minute`, `scoring_play`, `big_play`, `turnover`<br /><br />Example: `event_category=redzone`                      |
| `event_type`     | Event type<br /><br />`setup`, `timeout`, `tv_timeout`, `two_minute_warning`, `comment`, `period_end`, `game_over`<br /><br />Example: `event_type=timeout` |
| `match`          | Match id<br /><br />Example: `match=sd:match:673b459c-7506-4c11-9273-1b9502537f1d`                                                                          |
| `status`         | Game status<br /><br />`inprogress`, `created` <br /><br />Example: `status=inprogress`                                                                     |

<br />

***

## Code Samples

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["x-api-key"] = "{your_api_key}"  # Replace with your actual key

response = http.request(request)
puts response.read_body
```
```python
import requests
import json

headers = {
    'x-api-key': 'your_api_key'  # Replace with your actual key
}

r = requests.get(
    "https://api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe",
    headers=headers,
    allow_redirects=False
)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True, headers=headers)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
```
```shell
curl -L -X GET 'https://api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe' \
  -H 'x-api-key: {your_api_key}'
```

<br />

### Samples with Query String Params

```ruby Ruby with Query String Params
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe?&status=inprogress&match=sd:match:673b459c-7506-4c11-9273-1b9502537f1d")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["x-api-key"] = "{your_api_key}"  # Replace with your actual key

response = http.request(request)
puts response.read_body
```
```python Python with Query String Params
import requests
import json

headers = {
    'x-api-key': 'your_api_key'  # Replace with your actual key
}

r = requests.get("https://api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe",
    params = {'status': 'inprogress', 'match': 'sd:match:673b459c-7506-4c11-9273-1b9502537f1d'},
    allow_redirects=False)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
```
```shell Shell with Query String Params
curl -L -X GET 'api.sportradar.com/nfl/official/trial/stream/en/pulse/subscribe?&status=inprogress&match=sd:match:673b459c-7506-4c11-9273-1b9502537f1d'
  -H 'x-api-key: {your_api_key}'
```

<br />

***

## Sample Data

The above commands return json like [this](https://api-docs.sportradar.us/NFL/NFL_v7_Push_Pulse_Example.json).

<br />

### Simulations

Check out our [Simulations](https://developer.sportradar.com/getting-started/docs/simulations) to replay actual games at any time, on your own schedule. [Push simulations](https://developer.sportradar.com/getting-started/docs/simulations#push-request-path) are available as well.

<br />

### Full Game Sample

Click [here](https://api-docs.sportradar.us/NFL/MIA_CIN_092922_Sample_Push_Data.zip) 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](https://api-docs.sportradar.us/NFL/NFL_v7_Push_Stats_Example.json) for an updated Statistics sample.

<br />

***

## Data Points

<Accordion title="Boxscore" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attendance` | `game` | Integer | Attendance of a game<br /><br />ex. `73242` |
| `remaining_timeouts` | `away` | Integer | Away team timeouts remaining |
| `used_challenges` | `away` | Integer | Away team challenges used |
| `used_timeouts` | `away` | Integer | Away team timeouts used |
| `points` | `away` | Integer | Away team total points |
| `points` | `home` | Integer | Home team total points |
| `clock` | `game` | String | Clock value of the game<br /><br />ex. `12:37` |
| `remaining_timeouts` | `home` | Integer | Home team timeouts remaining |
| `used_timeouts` | `home` | Integer | Home team timeouts used |
| `quarter` | `game` | Integer | Quarter number of the game |

</Accordion>

<Accordion title="Game" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `alias` | `away` | String | Away team alias<br /><br />ex. `MIN` (Minnesota) |
| `id` | `away` | GUID | Unique ID of the away team<br /><br />ex. `768c92aa-75ff-4a43-bcc0-f2798c2e1724` |
| `market` | `away` | String | Away team market name<br /><br />ex. `Minnesota` |
| `name` | `away` | String | Away team name<br /><br />ex. `Vikings` |
| `sr_id` | `away` | String | Unique Sportradar ID of the away team<br /><br />ex. `sr:competitor:4376` |
| `duration` | `game` | String | Duration of the game<br /><br />ex. `2:52` |
| `entry_mode` | `game` | String | Type of data entry for the game<br /><br />`LDE` (Live Data Entry) |
| `game_type` | `game` | String | Type of game<br /><br />`regular`, `playoff` |
| `alias` | `home` | String | Home team alias<br /><br />ex. `GB` (Green Bay) |
| `id` | `home` | GUID | Unique ID of the home team<br /><br />ex. `7b112545-38e6-483c-a55c-96cf6ee49cb8` |
| `market` | `home` | String | Home team market name<br /><br />ex. `Green Bay` |
| `name` | `home` | String | Home team name<br /><br />ex. `Packers` |
| `sr_id` | `home` | String | Unique Sportradar ID of the home team<br /><br />ex. `sr:competitor:4391` |
| `id` | `game` | GUID | Unique ID of a game<br /><br />ex. `13025660-aa95-4885-b33e-3a3554d4c4c3` |
| `number` | `game` | Integer | Game number |
| `scheduled` | `game` | Date/Time | Scheduled date and time of a game<br /><br />ex. `2022-09-25T20:10:00+00:00` |
| `sr_id` | `game` | String | Unique Sportradar ID of a game<br /><br />ex. `sr:match:33623305` |
| `status` | `game` | String | Game status <br /><br />`scheduled`, `created`, `inprogress`, `complete`, `closed`, `cancelled`, `delayed`, `suspended`, `postponed`, `time-tbd`, `if necessary`, `unnecessary`<br /><br />See our [NFL FAQ](https://developer.sportradar.com/football/reference/nfl-faq#what-are-the-game-statuses-and-their-descriptions) for game status descriptions |
| `away` | `time_zones` | String | Time zone of the away team<br /><br />ex. `US/Pacific` |
| `home` | `time_zones` | String | Time zone of the home team<br /><br />ex. `US/Eastern` |
| `venue` | `time_zones` | String | Time zone of the venue<br /><br />ex. `US/Eastern` |
| `stadium_status` | `weather` | String | Indicates whether a stadium's roof is open or closed. Omitted from the response when not applicable.<br /><br />`open`, `closed` |
| `weather` | `game` | String | Weather description for a game<br /><br />ex. `Sunny Temp: 69 F, Humidity: 70%, Wind: WSW 9 mph` |
| `wx_condition` | `game` | String | Weather condition for a game<br /><br />ex. `Partly cloudy`, `Clear`, `Light Rain, Mist`<br /><br />Click [here](https://developer.sportradar.com/baseball/page/sportradar-api-weather-values) for more info on weather condition values |
| `wx_humidity` | `game` | Byte | Humidity conditions for a game<br /><br />ex. `44` |
| `wx_temp` | `game` | Byte | Temperature of a game in Fahrenheit<br /><br />ex. `57` |
| `wx_wind_direction` | `game` | String | Wind direction for a game<br /><br />ex. `N` |
| `wx_wind_speed` | `game` | Byte | Wind speed for a game in MPH |

</Accordion>

<Accordion title="Metadata" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `event_category` | `metadata` | String | Category of an event<br /><br />`redzone`, `two_minute`, `scoring_play`, `turnover`, `big_play` (rush 10+ yards or reception 20+ yards) |
| `event_type` | `metadata` | String | Type of an event<br /><br />ex. `pulse`, `pass` or `field_goal` |
| `league` | `metadata` | String | Alias of a league<br /><br />ex. `nfl` |
| `locale` | `metadata` | String | Language code<br /><br />ex. `en` (English) |
| `match` | `metadata` | GUID | Unique ID(s) of a game<br /><br />ex. `sd:match:1a57777c-7c57-43fa-bf08-66bffc204fd1,sr:match:33623353` |
| `operation` | `metadata` | String | Operation of an update<br /><br />`update`, `delete` |
| `status` | `metadata` | String | The status of a game<br /><br />`scheduled`, `inprogress`, `complete`, `closed`, `wdelay`, `fdelay`, `odelay`, `cancelled`, `unnecessary`, `if-necessary`, `postponed`, `suspended`, `maintenance` |
| `team` | `metadata` | GUID | Unique ID(s) of a team<br /><br />ex. `sd:team:1f6dcffb-9823-43cd-9ff4-e7a8466749b5,sr:competitor:4429` |
| `version` | `metadata` | String | Version of the API<br /><br />ex. `v6` |

</Accordion>

<Accordion title="Play-by-Play Details" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------------|------------------|-----------|-------------|
| `category` | `details` | String | Play detail category <br /><br />ex. `kick_off`, `kick_off_return`, `tackle` |
| `description` | - | String | Text description of a play |
| `direction` | `details` | String | Direction of action for a play<br /><br />**Rush:** `short left`, `short right`, `short middle`, `deep right`, `deep left`, `deep middle`, `left`, `right`, `middle`<br /><br />**Pass:** `backward pass`, `handoff`, `lateral`, `reverse`, `left tackle`, `left guard`, `up the middle`, `right guard`, `right tackle`, `right end`, `left end`, `kneels` |
| `alias` | `end_location` | String | Team alias of the location of the ball at the conclusion of a play <br /><br />ex. `MIN` (Minnesota) |
| `yardline` | `end_location` | Integer | Yardline location of the ball at the conclusion of a play <br /><br />ex. `45` |
| `first_touch` | `details` | String | Indicates the yard line where the ball was first touched, after the fumble, but before the ball was recovered (ingested games only) |
| `no_attempt` | `details` | String | Indicates if the player should receive a statistical attempt for the process. Generally used on laterals (ingested games only) |
| `onside` | `details` | String | Signifies an onside kick |
| `description` | `penalty` | String | Text description of a penalty |
| `no_play` | `penalty` | String | Signifies a nullified play due to a penalty |
| `result` | `penalty` | String | Result of a penalty<br /><br />`accepted`, `declined`, `offset` |
| `yards` | `penalty` | Integer | Number of yards penalized on the play |
| `reason_missed` | `details` | String | Indicates how the kicker missed a field goal attempt:  `Blocked`, `Hit Crossbar`, `Hit Left Upright`, `Hit Right Upright`, `Short`, `Wide Left`, `Wide Right`<br /><br />(**ingested games only**) |
| `result` | `details` | String | Result of the play |
| `sack_split` | `details` | String | Indicates if the sack was split by the two defenders (ingested games only) |
| `safety` | `details` | Boolean | Signifies a play ending in a safety |
| `sequence` | `details` | Integer | Sequence number of the play detail |
| `alias` | `start_location` | String | Team alias of the location of the ball at the beginning of a play <br /><br />ex. `MIN` (Minnesota) |
| `yardline` | `start_location` | Integer | Yardline location of the ball at the beginning of a play <br /><br />ex. `45` |
| `yards` | `details` | Integer | Yards gained or lost on the play |

</Accordion>

<Accordion title="Play-by-Play Details - Review" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------|----------------|------|-------------|
| `result` | `detail` - `review` | String | Result of a play review/challenge<br /><br />`overturned`, `upheld` |
| `reversed` | `detail` - `review` | Boolean | Signifies the call on the field was reversed when `true` |
| `type` | `detail` - `review` | String | Type of a play review/challenge<br /><br />ex. `first down`, `pass completion`, `short of the line to gain`<br /><br />See our [FAQ](https://developer.sportradar.com/football/reference/nfl-faq#what-are-the-possible-review-type-values-in-play-details) for a complete list of valid types. |
| `alias` | `detail` - `review` - `team` | String | Alias of a team initiating a review/challenge<br /><br />ex. `MIN` (Minnesota) |
| `id` | `detail` - `review` - `team` | GUID | Unique ID of a team initiating a review/challenge<br /><br />ex. `82d2d380-3834-4938-835f-aec541e5ece7` |
| `market` | `detail` - `review` - `team` | String | Market name of a team initiating a review/challenge<br /><br />ex. `Minnesota` |
| `name` | `detail` - `review` - `team` | String | Name of a team initiating a review/challenge<br /><br />ex. `Vikings` |
| `sr_id` | `detail` - `review` - `team` | String | Unique Sportradar ID of a team initiating a review/challenge<br /><br />ex. `sr:competitor:4324` |

</Accordion>

<Accordion title="Play-by-Play Details - Recovery" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------|----------------|------|-------------|
| `type` | `detail` - `recovery` | String | Type of recovery<br /><br />`ball out of bounds`, `blocked kick recovery`, `dead ball declared`, `fumble recovery`, `interception`, `other team`, `other_team`, `same player`, `same team` |
| `first_touch` | `detail` - `recovery` | Integer | Yard line where a player first touched the ball on a fumble<br /><br />**Data point is only supported from 2017-2020** |
| `alias` | `detail` - `recovery` - `team` | String | Alias of a team recovering the ball<br /><br />ex. `MIN` (Minnesota) |
| `id` | `detail` - `recovery` - `team` | GUID | Unique ID of a team recovering the ball<br /><br />ex. `82d2d380-3834-4938-835f-aec541e5ece7` |
| `market` | `detail` - `recovery` - `team` | String | Market name of a team recovering the ball<br /><br />ex. `Minnesota` |
| `name` | `detail` - `recovery` - `team` | String | Name of a team recovering the ball<br /><br />ex. `Vikings` |
| `sr_id` | `detail` - `recovery` - `team` | String | Unique Sportradar ID of a team recovering the ball<br /><br />ex. `sr:competitor:4324` |

</Accordion>

<Accordion title="Play-by-Play Drive" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------|----------------|------|-------------|
| `created_at` | `drive` | Date/Time | Timestamp of the start of a drive |
| `duration` | `drive` | String | Duration of a drive in `MM:SS` format |
| `end_clock` | `drive` | String | Game clock value at the end of a drive<br /><br />ex. `9:56` |
| `end_reason` | `drive` | String | End result of a drive<br /><br />ex. `Touchdown`<br /><br />See our [FAQ](https://developer.sportradar.com/football/reference/nfl-faq#what-are-the-start-and-end-reasons-for-a-drive-that-i-can-expect-to-see) for a list of valid end reasons and their definitions |
| `farthest_drive_yardline` | `drive` | Integer | The furthest yardline the offensive team reached during a drive (1-99 scale) |
| `first_downs` | `drive` | Integer | Number of first downs in a drive |
| `first_drive_yardline` | `drive` | Integer | Starting yardline of the first play of a drive (1-99 scale) |
| `gain` | `drive` | Integer | Number of yards gained in a drive |
| `id` | `drive` | GUID | Unique ID of a drive |
| `inside_20` | `drive` | Boolean | Signifies a drive which ends inside the opponent's 20 yardline |
| `last_drive_yardline` | `drive` | Integer | Starting yardline of the last play of a drive (1-99 scale) |
| `net_yards` | `drive` | Integer | Net yards for the offensive team on a drive (Yards gained minus penalty yards) |
| `pat_points_attempted` | `drive` | Integer | Number of point after touchdown attempts on a drive |
| `pat_successful` | `drive` | Boolean | Signifies a successful point after touchdown on a drive |
| `penalty_yards` | `drive` | Integer | Number of penalty yards on a drive |
| `play_count` | `drive` | Integer | Number of plays in a drive |
| `scoring_drive` | `drive` | Boolean | Signifies a drive which ends in a score |
| `sequence` | `drive` | Integer | Sequential number of the drive within a game |
| `start_clock` | `drive` | String | Game clock value at the start of a drive<br /><br />ex. `4:32` |
| `start_reason` | `drive` | String | Start reason of a drive |
| `team_sequence` | `drive` | Integer | Sequential number of the drive for the offensive team |
| `updated_at` | `drive` | Date/Time | Timestamp of the last update of a drive |
| `id` | `drive` - `defensive_team` | GUID | Unique ID of the defensive team for a drive<br /><br />ex. `82d2d380-3834-4938-835f-aec541e5ece7` |
| `points` | `drive` - `defensive_team` | Integer | Number of points scored for the defensive team for a drive |
| `id` | `drive` - `offensive_team` | GUID | Unique ID of the offensive team for a drive<br /><br />ex. `82d2d380-3834-4938-835f-aec541e5ece7` |
| `points` | `drive` - `offensive_team` | Integer | Number of points scored for the offensive team for a drive |

</Accordion>

<Accordion title="Play-by-Play Ending Situation" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `clock` | `end_situation` | String | Game clock value at the end of a play<br /><br />ex. `14:55` |
| `down` | `end_situation` | Integer | Down at the end of a play |
| `alias` | `end_situation` - `location` | String | Team alias of the location of the ball at the end of a play <br /><br />ex. `MIN` (Minnesota) |
| `id` | `end_situation` - `location` | GUID | Unique ID of a team of the team with possession at the end of a play<br /><br />ex. `7b112545-38e6-483c-a55c-96cf6ee49cb8` |
| `market` | `end_situation` - `location` | String | Team market name<br /><br />ex. `Minnesota` |
| `name` | `end_situation` - `location` | String | Team name<br /><br />ex. `Vikings` |
| `sr_id` | `end_situation` - `location` | GUID | Unique Sportradar ID of the team with possession at the end of a play<br /><br />ex. `sr:competitor:4423` |
| `yardline` | `end_situation` - `location` | Integer | Yardline of the ball at the end of a play |
| `alias` | `end_situation` - `possession` | String | Team alias of the possession of the ball at the end of a play <br /><br />ex. `MIN` (Minnesota) |
| `id` | `end_situation` - `possession` | GUID | Unique ID of a team of the team with possession at the end of a play<br /><br />ex. `7b112545-38e6-483c-a55c-96cf6ee49cb8` |
| `market` | `end_situation` - `possession` | String | Team market name<br /><br />ex. `Minnesota` |
| `name` | `end_situation` - `possession` | String | Team name<br /><br />ex. `Vikings` |
| `sr_id` | `end_situation` - `possession` | GUID | Unique Sportradar ID of the team with possession at the end of a play<br /><br />ex. `sr:competitor:4423` |
| `yfd` | `end_situation` | Integer | Yards to gain a first down at the end of a play |

</Accordion>

<Accordion title="Play-by-Play Event" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `clock` | `event` | String | Clock value for an event<br /><br />ex. `12:37` |
| `created_at` | `event` | Date/Time | Timestamp of the creation of an event<br /><br />ex. `2022-09-20T00:54:16+00:00` |
| `description` | - | String | Text description of an event |
| `id` | `event` | String | Unique ID of an event<br /><br />ex. `fd790d30-4e81-11ed-b357-5954f3d7fdac` |
| `sequence` | `event` | Decimal | Sequence number of an event or play as a UNIX timestamp. Use this value to help sequence play-by-play events (smallest to largest sequence number).<br /><br />ex. `1665336878436.0` |
| `type` | `event` | String | Type of an event<br /><br />`setup`, `timeout`, `tv_timeout`, `two_minute_warning`, `comment`, `period_end`, `game_over` |
| `updated_at` | `event` | Date/Time | Timestamp of the last update of an event<br /><br />ex. `2022-09-20T00:54:16+00:00` |
| `wall_clock` | `event` | Date/Time | Timestamp of the start of a play/event entry<br /><br />ex. `2022-10-09T17:12:08+00:00` |

</Accordion>

<Accordion title="Play-by-Play Play" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------|----------------|------|-------------|
| `away_points` | `play` | Integer | Away points at the end of a play |
| `blitz` | `play` | Boolean | Signifies whether the defense blitzed on a play |
| `clock` | `play` | String | Clock value for a play<br /><br />ex. `12:37` |
| `created_at` | `play` | Date/Time | Timestamp of the creation of a play<br /><br />ex. `2022-09-20T00:54:16+00:00` |
| `description` | - | String | Text description of a play |
| `fake_field_goal` | `play` | Boolean | Signifies whether a play was a fake field goal |
| `fake_punt` | `play` | Boolean | Signifies whether a play was a fake punt |
| `hash_mark` | `play` | String | The hash mark of the ball at the beginning of a play<br /><br />`Right Hash`, `Left Hash` |
| `home_points` | `play` | Integer | Home points at the end of a play |
| `huddle` | `play` | String | Signifies whether there was a huddle prior to a play |
| `id` | `play` | GUID | Unique ID of a play |
| `left_tightends` | `play` | Integer | Number of tight ends lined up on the left side for a play |
| `men_in_box` | `play` | Integer | Number of defensive men in the box for a play |
| `pass_route` | `play` | String | Type of pass route on a passing play |
| `play_action` | `play` | Boolean | Signifies whether there was a play action for a play |
| `play_direction` | `play` | String | Direction of action for a play<br /><br />**Rush:** `short left`, `short right`, `short middle`, `deep right`, `deep left`, `deep middle`, `left`, `right`, `middle`<br /><br />**Pass:** `backward pass`, `handoff`, `lateral`, `reverse`, `left tackle`, `left guard`, `up the middle`, `right guard`, `right tackle`, `right end`, `left end`, `kneels` |
| `players_rushed` | `play` | Integer | Number of defensive players rushing for a play |
| `pocket_location` | `play` | String | Location of the quarterback pocket for a play<br /><br />`Scramble Left`, `Scramble Right`, `Boot Left`, `Boot Right`, `Rollout Left`, `Rollout Right`, `Middle` |
| `qb_at_snap` | `play` | String | Location of the quarterback at the snap for a play<br /><br />`Shotgun`, `Under Center`, `Pistol` |
| `right_tightends` | `play` | Integer | Number of tight ends lined up on the right side for a play |
| `run_pass_option` | `play` | Boolean | Signifies whether a play is a run/pass option |
| `running_lane` | `play` | Integer | Signifies which hole the running back ran through on a rush play (1-8) |
| `scoring_play` | `play` | Boolean | Signifies whether a play resulted in a score |
| `screen_pass` | `play` | Boolean | Signifies whether a play is a screen pass |
| `sequence` | `play` | Decimal | Sequence number of an event or play as a UNIX timestamp. Use this value to help sequence play-by-play events (smallest to largest sequence number).<br /><br />ex. `1665336878436.0` |
| `type` | `play` | String | Type of play<br /><br />`pass`, `rush`, `faircatch_kick`, `extra_point`, `conversion`, `free_kick`, `kickoff`, `punt`, `field_goal`, `penalty` |
| `updated_at` | `play` | Date/Time | Timestamp of the last update of a play<br /><br />ex. `2022-09-20T00:54:16+00:00` |
| `wall_clock` | `play` | Date/Time | Timestamp of the start of the play/event entry<br /><br />ex. `2022-10-09T17:12:08+00:00` |

</Accordion>

<Accordion title="Play-by-Play Points After" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `id` | `points-after-play` | GUID | Unique ID of a point after attempt<br /><br />ex. `a397a7c0-47f8-11ed-972d-8539f16b8bbf` |
| `type` | `points-after-play` | String | Type of a point after attempt<br /><br />`extra_point`, `conversion`, `penalty` |
| `sequence` | `points-after-play` | Decimal | Sequence number of a point after play as a UNIX timestamp. Use this value to help sequence play-by-play events (smallest to largest sequence number).<br /><br />ex. `1665336878436.0` |

</Accordion>

<Accordion title="Play-by-Play Quarter" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `id` | `quarter` | GUID | Unique ID of a quarter<br /><br />ex. `47091cc4-08c2-4f83-9d8d-59c3c85e1725` |
| `number` | `quarter` | Integer | Number of a quarter |
| `sequence` | `quarter` | Integer | Sequential number of a quarter |

</Accordion>

<Accordion title="Play-by-Play Scoring" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `away_points` | `score` | Integer | Number of away team points |
| `clock` | `score` | Boolean | Clock value for a score<br /><br />ex. `12:37` |
| `home_points` | `score` | Integer | Number of home team points |
| `points` | `score` | Integer | Number of points for a score |
| `sequence` | `score` | Integer | Sequence number of an event or play. Used to sequence events properly |

</Accordion>

<Accordion title="Play-by-Play Starting Situation" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `clock` | `start_situation` | String | Clock value at the start of a play<br /><br />ex. `12:37` |
| `down` | `start_situation` | Integer | Down at the start of a play |
| `alias` | `location` | String | Team alias of the location of the ball at the start of a play <br /><br />ex. `MIN` (Minnesota) |
| `id` | `start_situation` - `location` | GUID | Unique ID of a team of the team with possession at the start of a play<br /><br />ex. `33405046-04ee-4058-a950-d606f8c30852` |
| `market` | `start_situation` - `location` | String | Team market name<br /><br />ex. `Minnesota` |
| `name` | `start_situation` - `location` | String | Team name<br /><br />ex. `Vikings` |
| `sr_id` | `start_situation` - `location` | GUID | Unique Sportradar ID of the team with possession at the start of a play<br /><br />ex. `sr:competitor:4423` |
| `yardline` | `start_situation` - `location` | Integer | Yardline of the ball at the start of a play |
| `alias` | `start_situation` - `possession` | String | Team alias of the possession of the ball at the start of a play <br /><br />ex. `MIN` (Minnesota) |
| `id` | `start_situation` - `possession` | GUID | Unique ID of a team of the team with possession at the start of a play<br /><br />ex. `33405046-04ee-4058-a950-d606f8c30852` |
| `market` | `start_situation` - `possession` | String | Team market name<br /><br />ex. `Minnesota` |
| `name` | `start_situation` - `possession` | String | Team name<br /><br />ex. `Vikings` |
| `sr_id` | `start_situation` - `possession` | GUID | Unique Sportradar ID of the team with possession at the start of a play<br /><br />ex. `sr:competitor:4423` |
| `yfd` | `end_situation` | Integer | Yards to gain a first down at the start of a play |

</Accordion>

<Accordion title="Kick & Punt Block Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `block` | `block` | Integer | Number kick blocks |
| `category` | `block` | String | Type of blocked kick<br /><br />`field_goal`, `extra_point`, `punt` |

</Accordion>

<Accordion title="Conversion Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `conversion` | Integer | Number of conversion attempts |
| `category` | `conversion` | String | Category of conversion<br /><br />`pass`, `receive`, `rush`, `turnover` |
| `complete` | `conversion` | Integer | Number of conversion completions |
| `safety` | `conversion` | Integer | Number of conversion safeties |

</Accordion>

<Accordion title="Defensive Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
|-----------|----------------|------|-------------|
| `ast_sack` | `defense` | Integer | Number of assisted sacks |
| `ast_tackle` | `defense` | Integer | Number of assisted tackles |
| `ast_tlost` | `defense` | Integer | Number of assisted tackles for a loss |
| `batted_pass` | `defense` | Integer | Number of batted passes |
| `blitz` | `defense` | Integer | Number of blitzes |
| `block` | `defense` | Integer | Number of blocked kicks/punts |
| `category` | `defense` | String | Category of defensive statistic<br /><br />`defense`, `special_team`, `misc` |
| `def_comp` | `defense` | String | Number of completed passes with a defensive player covering on the play |
| `def_target` | `defense` | Integer | Number of defensive targets |
| `forced_fumble` | `defense` | Integer | Number of forced fumbles |
| `hurry` | `defense` | Integer | Number of hurries |
| `interception` | `defense` | Integer | Number of interceptions |
| `int_touchdown` | `defense` | Integer | Number of interceptions for a touchdown |
| `int_yards` | `defense` | Integer | Number of interception yards |
| `knockdown` | `defense` | Integer | Number of knockdowns |
| `missed_tackle` | `defense` | Integer | Number of missed tackles |
| `nullified` | `defense` | Boolean | Nullified play flag |
| `pass_defended` | `defense` | Integer | Number of passes defended |
| `primary` | `defense` | Integer | Indicates whether the assist tackler was the primary tackler on a play<br /><br />***This stat is unsupported since 2021** |
| `qb_hit` | `defense` | Integer | Number of hits on the quarterback |
| `sack` | `defense` | Integer | Number of sacks |
| `sack_yards` | `defense` | Decimal | Number of sack yards |
| `safety` | `defense` | Integer | Number of safeties |
| `tlost` | `defense` | Integer | Number of tackles for a loss |
| `tlost_yards` | `defense` | Integer | Number of tackles for a loss yardage |
| `tackle` | `defense` | Integer | Number of tackles |

</Accordion>

<Accordion title="Defensive Conversion Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `defense_conversion` | Integer | Number of defensive conversion attempts |
| `category` | `defense_conversion` | String | Category of defensive conversion<br /><br />`conversion`, `extra_point` |
| `complete` | `defense_conversion` | Integer | Number of defensive conversion completions |

</Accordion>

<Accordion title="Down Conversion Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `down_conversion` | Integer | Number of down conversion attempts |
| `complete` | `down_conversion` | String | Category of down conversion<br /><br />`conversion`, `extra_point` |
| `down` | `down_conversion` | Integer | Number of the down at play start |
| `category` | `first_down` | String | Type of first down<br /><br />`pass`, `rush`, `penalty` |

</Accordion>

<Accordion title="Extra Point Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `aborted` | `extra_point` | Integer | Number of aborted extra points |
| `attempt` | `extra_point` | Integer | Number of attempted extra points |
| `blocked` | `extra_point` | Integer | Number of blocked extra points |
| `made` | `extra_point` | Integer | Number of made extra points |
| `missed` | `extra_point` | Integer | Number of missed extra points |
| `returned` | `extra_point` | Integer | Number of returned extra points |
| `safety` | `extra_point` | Integer | Number of extra point safeties |

</Accordion>

<Accordion title="Field Goal Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `field_goal` | Integer | Number of attempted field goals |
| `att_yards` | `field_goal` | Integer | Yardage of attempted field goal |
| `blocked` | `field_goal` | Integer | Number of blocked field goals |
| `made` | `field_goal` | Integer | Number of made field goals |
| `missed` | `field_goal` | Integer | Number of missed field goals |
| `nullified` | `field_goal` | Boolean | Signifies a nullified field goal attempt |
| `returned` | `field_goal` | Integer | Number of returned field goals |
| `yards` | `field_goal` | Integer | Yardage of made field goal |

</Accordion>

<Accordion title="Fumbles Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `forced` | `fumble` | Integer | Number of forced fumbles |
| `fumble` | `fumble` | Integer | Number of fumbles |
| `lost` | `fumble` | Integer | Number of lost fumbles |
| `nullified` | `fumble` | Boolean | Signifies a nullified play due to a penalty |
| `opp_rec` | `fumble` | Integer | Number of opponent fumble recoveries |
| `opp_rec_td` | `fumble` | Integer | Number of opponent fumble recovery touchdowns |
| `opp_rec_yards` | `fumble` | Integer | Number of opponent fumble recovery yards |
| `out_of_bounds` | `fumble` | Integer | Number of fumbles out of bounds |
| `own_rec` | `fumble` | Integer | Number of own fumble recoveries |
| `own_rec_td` | `fumble` | Integer | Number of own fumble recovery touchdowns |
| `own_rec_yards` | `fumble` | Integer | Number of own fumble recovery yards |
| `play_category` | `fumble` | String | Type of fumble<br /><br />ex. `misc` |

</Accordion>

<Accordion title="Kickoff Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `kick` | Integer | Number of kickoff attempts |
| `endzone` | `kick` | Integer | Number of kickoffs into the endzone |
| `inside_20` | `kick` | Integer | Number of kickoffs inside the 20 yardline |
| `net_yards` | `kick` | Integer | Number of net yards on the kickoff |
| `nullified` | `kick` | Boolean | Signifies a nullified play due to a penalty |
| `onside_attempt` | `kick` | Integer | Number of onside kickoff attempts |
| `onside_success` | `kick` | Integer | Number of onside kickoff successes |
| `own_rec` | `kick` | Integer | Number of own recoveries on a kickoff |
| `own_rec_td` | `kick` | Integer | Number of own recovery touchdowns on a kickoff |
| `squib_kick` | `kick` | Integer | Number of squib kicks |
| `touchback` | `kick` | Integer | Number of touchbacks |
| `yards` | `kick` | Integer | Number of kickoff yards |

</Accordion>

<Accordion title="Passing Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `pass` | Integer | Number of pass attempts |
| `att_yards` | `pass` | Integer | Number of pass attempt (air) yards, measured from the line of scrimmage to the yardline of the receiving target |
| `batted_pass` | `pass` | Integer | Number of batted pass attempts |
| `blitz` | `pass` | Integer | Number of blitzes |
| `complete` | `pass` | Integer | Number of pass completions |
| `firstdown` | `pass` | Integer | Number of passing first downs |
| `goaltogo` | `pass` | Integer | Number of plays in a goal-to-go situation (eg. 1st & Goal, 2nd & Goal, etc.) |
| `hurry` | `pass` | Integer | Number of pass hurries |
| `incompletion_type` | `pass` | String | Type of incomplete pass<br /><br />`Thrown Away`, `Pass Defended`, `Dropped Pass`, `Spike`, `Poorly Thrown` |
| `inside_20` | `pass` | Integer | Number of passes inside the 20 yardline |
| `interception` | `pass` | Integer | Number of interceptions thrown |
| `int_touchdown` | `pass` | Integer | Number of interception touchdowns thrown |
| `knockdown` | `pass` | Integer | Number of knockdowns |
| `nullified` | `pass` | Boolean | Signifies a nullified play due to a penalty |
| `on_target_throw` | `pass` | Integer | Number of on target throws |
| `pocket_time` | `pass` | Double | Time spent in the pocket<br /><br />ex. `1.153` |
| `sack` | `pass` | Integer | Number of sacks |
| `sack_yards` | `pass` | Integer | Number of sack yards |
| `safety` | `pass` | Integer | Number of safeties |
| `touchdown` | `pass` | Integer | Number of passing touchdowns |
| `yards` | `pass` | Integer | Number of passing yards |

</Accordion>

<Accordion title="Penalty Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `penalty` | `penalty` | Integer | Number of penalties |
| `yards` | `penalty` | Integer | Number of penalty yardage |

</Accordion>

<Accordion title="Punting Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `punt` | Integer | Number of attempted punts |
| `blocked` | `punt` | Integer | Number of blocked punts |
| `downed` | `punt` | Integer | Number of downed punts |
| `endzone` | `punt` | Integer | Number of punts into the endzone |
| `faircatch` | `punt` | Integer | Number of fair catch punts |
| `hang_time` | `punt` | Double | Hang time of a punt in seconds ex.`3.166` |
| `inside_20` | `punt` | Integer | Number of punts inside the 20 yardline |
| `net_yards` | `punt` | Integer | Net yardage of a punt |
| `nullified` | `punt` | Boolean | Signifies a nullified play due to a penalty |
| `touchback` | `punt` | Integer | Number of touchback punts |
| `yards` | `punt` | Integer | Yardage of punt |

</Accordion>

<Accordion title="Receiving Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `broken_tackles` | `receive` | Integer | Number of receiving broken tackles |
| `catchable` | `receive` | Integer | Number of receiving catchable passes |
| `dropped` | `receive` | Integer | Number of receiving drops |
| `firstdown` | `receive` | Integer | Number of receiving first downs |
| `goaltogo` | `receive` | Integer | Number of receptions in a goal-to-go situation (eg. 1st & Goal, 2nd & Goal, etc.) |
| `inside_20` | `receive` | Integer | Number of receptions inside the 20 yardline |
| `nullified` | `receive` | Boolean | Signifies a nullified play due to a penalty |
| `reception` | `receive` | Integer | Number of receptions |
| `safety` | `receive` | Integer | Number of receiving safeties |
| `targets` | `receive` | Integer | Number of receiving targets |
| `touchdown` | `receive` | Integer | Number of receiving touchdowns |
| `yards` | `receive` | Integer | Number of receiving yards |
| `yards_after_catch` | `receive` | Integer | Number of receiving yards after the catch |
| `yards_after_contact` | `receive` | Integer | Number of receiving yards after contact |

</Accordion>

<Accordion title="Return Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `category` | `return` | String | Type of return<br /><br />`punt_return`, `kick_return` |
| `downed` | `return` | Integer | Number of returns downed |
| `faircatch` | `return` | Integer | Number of return fair catches |
| `firstdown` | `return` | Integer | Number of return first downs |
| `lateral` | `return` | Integer | Number of return laterals |
| `nullified` | `return` | Boolean | Signifies a nullified play due to a penalty |
| `out_of_bounds` | `return` | Integer | Number of returns out of bounds |
| `play_category` | `return` | String | Type of return play<br /><br />`punt_return`, `kick_return` |
| `return` | `return` | Integer | Number of returns |
| `touchback` | `return` | Integer | Number of return touchbacks |
| `touchdown` | `return` | Integer | Number of return touchdowns |
| `yards` | `return` | Integer | Number of return yardage |

</Accordion>

<Accordion title="Rushing Play Statistics" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `attempt` | `rush` | Integer | Number of rushing attempts |
| `broken_tackles` | `rush` | Integer | Number of rushing broken tackles |
| `firstdown` | `rush` | Integer | Number of rushing first downs |
| `goaltogo` | `rush` | Integer | Number of rushes in a goal-to-go situation (eg. 1st & Goal, 2nd & Goal, etc.) |
| `inside_20` | `rush` | Integer | Number of rushes inside the 20 yardline |
| `kneel_down` | `rush` | Integer | Number of rushing kneel downs |
| `lateral` | `rush` | Integer | Number of rushing laterals |
| `nullified` | `rush` | Boolean | Signifies a nullified play due to a penalty |
| `safety` | `rush` | Integer | Number of rushing safeties |
| `scramble` | `rush` | Integer | Number of rushing scrambles |
| `tlost` | `rush` | Integer | Number of rushing tackles for a loss |
| `tlost_yards` | `rush` | Integer | Number of rushing tackles for a loss yardage |
| `touchdown` | `rush` | Integer | Number of rushing touchdowns |
| `yards` | `rush` | Integer | Number of rushing yards |
| `yards_after_contact` | `rush` | Integer | Number of rushing yards after contact |

</Accordion>

<Accordion title="Play Pulse" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `away_points` | `pulse` | Integer | Away points at the end of a pulse update |
| `clock` | `pulse` | String | Clock value for a pulse update<br /><br />ex. `12:37` |
| `description` | `pulse` | String | Description of a pulse update<br /><br />ex. `Time started.` or `Players Lining Up.` |
| `down` | `pulse` | Integer | Down associated with a pulse update |
| `event_type` | `pulse` | String | Type of event associated with a pulse update. See our [NFL FAQ](https://developer.sportradar.com/football/reference/nfl-faq#pulse-data) for a full list of valid events<br /><br />ex. `players_lining_up` |
| `id` | `pulse` | GUID | Unique ID of a pulse update<br /><br />ex. `7ac3e820-2017-11ee-b805-31ec1e396dc4` |
| `play_id` | `pulse` | GUID | Unique ID of a play<br /><br />ex. `0557c980-2017-11ee-b805-31ec1e396dc4` |
| `source` | `pulse` | String | Source of data for a pulse update<br /><br />ex. `SRUS` (Sportradar US Data Entry) |
| `type` | `pulse` | String | Type of a pulse update<br /><br />ex. `event` |
| `wall_clock` | `pulse` | String | Timestamp value of when the ball was snapped from the previous play. Updated once the event message is sent for the play.<br /><br />ex. `2023-07-11T18:20:48+00:00` |
| `yfd` | `pulse` | Integer | Yards to a first down for a pulse update |
| `created_at` | `pulse` | String | Timestamp value of when the pulse message was created<br /><br />ex. `2023-07-11T18:20:58+00:00` |
| `updated_at` | `pulse` | String | Timestamp value of when the pulse message was last updated<br /><br />ex `2023-07-11T18:20:58+00:00` |

</Accordion>

<Accordion title="Play Pulse - Details" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `category` | `pulse` - `details` | String | Category of a pulse details payload<br /><br />ex. `pass_completion`, `pass_reception`, or `third_down_conversion` |
| `conversion_type` | `pulse` - `details` | String | Type of conversion<br /><br />ex. `two_point_rush`, `two_point_pass`, `kneel`, `defensive_conversion_fumble_recovery`, `defensive_conversion_interception_recovery` |
| `penalty_type` | `pulse` - `details` | String | Type of penalty associated with a pulse update <br /><br />ex. `regular` or `no_play` |
| `id` | `pulse` - `details` - `players` | GUID | Unique player ID of a player associated with a pulse update <br /><br />ex. `659bcb6d-877d-49af-8cd3-2f5f40ea4200` |
| `jersey` | `pulse` - `details` - `players` | String | Jersey number of a player associated with a pulse update |
| `name` | `pulse` - `details` - `players` | String | Name of a player associated with a pulse update<br /><br />ex. `Jalen Hurts` |
| `position` | `pulse` - `details` - `players` | String | Position of a player associated with a pulse update<br /><br />ex. `QB` |
| `sr_id` | `pulse` - `details` - `players` | GUID | Unique Sportradar player ID of a player associated with a pulse update <br /><br />ex. `sr:player:2040065` |
| `result` | `pulse` - `details` | String | Result of a pulse details message. See our [NFL FAQ](https://developer.sportradar.com/football/reference/nfl-faq#what-are-the-play-results-detailsresult-or-pulsedetailsresult-i-can-expect-to-see) for a complete list of valid result values.<br /><br />ex. `pushed out of bounds`, `pass` or `tackled` |
| `review_type` | `pulse` - `details` | String | Type of video review<br /><br />ex. `runner broke the plane` or `pass completion` |
| `yards` | `pulse` - `details` | Integer | Number of yards enforced on a penalty |

</Accordion>

<Accordion title="Play Pulse - Start/End Location" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `alias` | `pulse` - `details` - `end_location` | String | Team alias of the location of the ball at the conclusion of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `details` - `end_location` | GUID | Unique team ID of the location of the ball at the conclusion of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `details` - `end_location` | String | Team market name of the location of the ball at the conclusion of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `details` - `end_location` | String | Team name of the location of the ball at the conclusion of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `details` - `end_location` | GUID | Unique Sportradar team ID of the location of the ball at the conclusion of a pulse update <br /><br />ex. `sr:competitor:4428` |
| `yardline` | `pulse` - `details` - `end_location` | Integer | Yardline of the location of the ball at the conclusion of a pulse update <br /><br />ex. `42` |
| `alias` | `pulse` - `details` - `start_location` | String | Team alias of the location of the ball at the start of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `details` - `start_location` | GUID | Unique team ID of the location of the ball at the start of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `details` - `start_location` | String | Team market name of the location of the ball at the start of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `details` - `start_location` | String | Team name of the location of the ball at the start of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `details` - `start_location` | GUID | Unique Sportradar team ID of the location of the ball at the start of a pulse update <br /><br />ex. `sr:competitor:4428` |
| `yardline` | `pulse` - `details` - `start_location` | Integer | Yardline of the location of the ball at the start of a pulse update <br /><br />ex. `42` |

</Accordion>

<Accordion title="Play Pulse - End Situation" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `clock` | `pulse` - `end_situation` | String | Game clock value at the end of a pulse update<br /><br />ex. `14:55` |
| `down` | `pulse` - `end_situation` | Integer | Down at the end of a pulse update |
| `alias` | `pulse` - `end_situation` - `location` | String | Team alias of the location of the ball at the end of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `end_situation` - `location` | GUID | Unique team ID of the location of the ball at the end of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `end_situation` - `location` | String | Team market name of the location of the ball at the end of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `end_situation` - `location` | String | Team name of the location of the ball at the end of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `end_situation` - `location` | GUID | Unique Sportradar team ID of the location of the ball at the end of a pulse update <br /><br />ex. `sr:competitor:4428` |
| `yardline` | `pulse` - `end_situation` - `location` | Integer | Yardline of the location of the ball at the end of a pulse update<br /><br />ex. `42` |
| `play_count` | `pulse` - `end_situation` - `location` | Integer | Play number within a drive at the end of a pulse update |
| `alias` | `pulse` - `end_situation` - `possession` | String | Team alias of the team with the ball at the end of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `end_situation` - `possession` | GUID | Unique team ID of the team with the ball at the end of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `end_situation` - `possession` | String | Team market name of team with the ball at the end of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `end_situation` - `possession` | String | Team name of the team with the ball at the end of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `end_situation` - `possession` | GUID | Unique Sportradar team ID of the team with the ball at the end of a pulse update<br /><br />ex. `sr:competitor:4428` |
| `yfd` | `pulse` - `end_situation` | Integer | Yards to a first down at the end of a pulse update |

</Accordion>

<Accordion title="Play Pulse - Event Context" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `id` | `pulse` - `event_context` | GUID | Reference to the Pulse message ID that has been deleted. Used when `event_type="delete"`<br /><br />ex. `b5b12980-2016-11ee-b805-31ec1e396dc4` |
| `play_id` | `pulse` - `event_context` | GUID | Unique ID of a play<br /><br />ex. `0557c980-2017-11ee-b805-31ec1e396dc4` |
| `outcome` | `pulse` - `event_context` | String | Description of an outcome of a pulse event<br /><br />ex. `time_stopped` or `time_started` |
| `seconds` | `pulse` - `event_context` | Integer | Number representing the amount of time (in seconds) adjusted to the game time<br /><br />ex. `-2` |
| `alias` | `pulse` - `event_context` - `team` | String | Team alias of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `event_context` - `team` | GUID | Unique team ID of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `event_context` - `team` | String | Team market name of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `event_context` - `team` | String | Team name of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `event_context` - `team` | GUID | Unique Sportradar team ID of a pulse update<br /><br />ex. `sr:competitor:4428` |

</Accordion>

<Accordion title="Play Pulse - Location & Possession" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `alias` | `pulse` - `location` | String | Team alias of the location of the ball for a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `location` | GUID | Unique team ID of the location of the ball for a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `location` | String | Team market name of the location of the ball for a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `location` | String | Team name of the location of the ball for a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `location` | GUID | Unique Sportradar team ID of the location of the ball for a pulse update <br /><br />ex. `sr:competitor:4428` |
| `yardline` | `pulse` - `location` | Integer | Yardline of the location of the ball for a pulse update <br /><br />ex. `42` |
| `alias` | `pulse` - `possession` | String | Team alias of the team with the ball for a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `possession` | GUID | Unique team ID of the team with the ball for a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `possession` | String | Team market name of the team with the ball for a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `possession` | String | Team name of the team with the ball for a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `possession` | GUID | Unique Sportradar team ID of the team with the ball for a pulse update <br /><br />ex. `sr:competitor:4428` |

</Accordion>

<Accordion title="Play Pulse - Game Clock & Period" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `running` | `pulse` - `game_clock` | Boolean | Signifies the game clock is running when 'true' |
| `time` | `pulse` - `game_clock` | String | Game clock at the time of a pulse update<br /><br />ex. `5:00` |
| `id` | `pulse` - `period` | GUID | Unique team ID of a period/quarter for a pulse update <br /><br />ex. `b6e771d6-ee48-420e-a524-e4740b07d3f0` |
| `number` | `pulse` - `period` | Integer | Period/quarter number for a pulse update <br /><br />ex. `b6e771d6-ee48-420e-a524-e4740b07d3f0` |
| `sequence` | `pulse` - `period` | Integer | Period/quarter sequence number for a pulse update  (The first overtime sequence would be `5`)<br /><br />ex. `b6e771d6-ee48-420e-a524-e4740b07d3f0` |

</Accordion>

<Accordion title="Play Pulse - Start Situation" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `clock` | `pulse` - `start_situation` | String | Game clock value at the start of a pulse update<br /><br />ex. `14:55` |
| `down` | `pulse` - `start_situation` | Integer | Down at the start of a pulse update |
| `alias` | `pulse` - `start_situation` - `location` | String | Team alias of the location of the ball at the start of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `start_situation` - `location` | GUID | Unique team ID of the location of the ball at the start of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `start_situation` - `location` | String | Team market name of the location of the ball at the start of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `start_situation` - `location` | String | Team name of the location of the ball at the start of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `start_situation` - `location` | GUID | Unique Sportradar team ID of the location of the ball at the start of a pulse update <br /><br />ex. `sr:competitor:4428` |
| `yardline` | `pulse` - `start_situation` - `location` | Integer | Yardline of the location of the ball at the start of a pulse update<br /><br />ex. `42` |
| `play_count` | `pulse` - `start_situation` - `location` | Integer | Play number within a drive at the start of a pulse update |
| `alias` | `pulse` - `start_situation` - `possession` | String | Team alias of the team with the ball at the start of a pulse update <br /><br />ex. `PHI` (Philadelphia) |
| `id` | `pulse` - `start_situation` - `possession` | GUID | Unique team ID of the team with the ball at the start of a pulse update <br /><br />ex. `d5c76f6f-3e6d-4ea3-856c-34f28fe0665d` |
| `market` | `pulse` - `start_situation` - `possession` | String | Team market name of team with the ball at the start of a pulse update <br /><br />ex. `Philadelphia` |
| `name` | `pulse` - `start_situation` - `possession` | String | Team name of the team with the ball at the start of a pulse update <br /><br />ex. `Eagles` |
| `sr_id` | `pulse` - `start_situation` - `possession` | GUID | Unique Sportradar team ID of the team with the ball at the start of a pulse update<br /><br />ex. `sr:competitor:4428` |
| `yfd` | `pulse` - `start_situation` | Integer | Yards to a first down at the start of a pulse update |

</Accordion>

<Accordion title="Player" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `name` | `player` | String | Full name of a player<br /><br />ex. `George Kittle` |
| `id` | `player` | GUID | Unique ID of a player<br /><br />ex. `7e648a0b-fdc8-4661-a587-5826f2cac11b` |
| `jersey` | `player` | String | Jersey number of a player |
| `position` | `player` | String | Position of an NFL player |
| `role` | `player` | String | Role of a player during a specific play |
| `sr_id` | `player` | String | Unique Sportradar player ID<br /><br />ex. `sr:player:828235` |

</Accordion>

<Accordion title="Team" icon="fa-duotone fa-thin fa-football">

| Attribute | Parent Element | Type | Description |
| --------- | -------------- | ---- | ----------- |
| `alias` | `team` | String | Team alias<br /><br />ex. `MIN` (Minnesota) |
| `id` | `team` | GUID | Unique ID of a team<br /><br />ex. `82d2d380-3834-4938-835f-aec541e5ece7` |
| `market` | `team` | String | Team market name<br /><br />ex. `Minnesota` |
| `name` | `team` | String | Team name<br /><br /> ex. `Vikings` |
| `sr_id` | `team` | String | Unique Sportradar ID of a team<br /><br />ex. `sr:competitor:4324` |

</Accordion>

<br />