# nflverse NFL Data Releases Scraper (`parseforge/nflverse-data-scraper`) Actor

Export nflverse NFL data releases. Pull play-by-play, schedules, rosters, player stats, weekly stats, snap counts, and more. Filter by dataset type and season. Returns release metadata + download links for CSV / Parquet / RDS files covering all NFL seasons.

- **URL**: https://apify.com/parseforge/nflverse-data-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Sports, Other, Automation
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.75 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏈 nflverse NFL Data Releases Scraper

> 🚀 **Export every nflverse NFL data release in seconds.** Play-by-play from 1999, schedules, rosters, snap counts, injuries, depth charts, contracts, combine, Next Gen Stats and more across **24 dataset families**. CSV, Parquet, RDS, qs.

> 🕒 **Last updated:** 2026-05-21 · **📊 19 fields** per release · **🏈 24 dataset families** · **📅 1999 to current season** · **🔗 every download link, every format**

The **nflverse Data Scraper** indexes the community-maintained nflverse release feed and returns one record per release, including release metadata (tag, name, publish date, author, description, prerelease flag), aggregate stats (asset count, total size, total downloads, list of seasons covered, list of file formats), and the complete asset manifest (file name, size, season, team, format, direct download link). nflverse powers the R packages `nflreadr`, `nflfastR`, and `nflseedR`, and is the de-facto open data backbone for modern football analytics.

Coverage spans **24 dataset families** including play-by-play (1999-present), play-by-play participation, schedules, rosters, weekly rosters, players, player stats, weekly player stats, team stats, depth charts, snap counts, injuries, officials, draft picks, combine, contracts, FTN charting, ESPN data, PFR advanced stats, Next Gen Stats, trades, and teams.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| NFL analytics teams, DFS players, sports-media producers, fantasy-football tool builders, sports betting modelers, R / Python data scientists, college coaches studying pro data | Play-by-play loaders, fantasy-roster sync, weekly model rebuilds, injury and snap-count dashboards, prop-bet research, podcast research |

---

### 📋 What the nflverse Scraper does

Three filtering workflows in a single run:

- 🏈 **Pick a dataset family.** One of 24 nflverse release tags (`pbp`, `schedules`, `rosters`, `injuries`, `snap_counts`, `nextgen_stats`, etc.).
- 📅 **Filter by season.** Restrict the asset list to a single NFL season year (1999-present where data exists).
- 🗂️ **Include or exclude the asset manifest.** Pull just release metadata, or the full file list with download links.

Each record exposes the release tag, name, ID, publish and create timestamps, prerelease / draft flags, author handle, release description, asset count for the filter, the sorted list of seasons present, the list of file formats (CSV, CSV.GZ, Parquet, RDS, qs), total asset size in bytes, cumulative download count, the GitHub release URL, and (optionally) a full asset array with per-file metadata.

> 💡 **Why it matters:** building an NFL analytics pipeline yourself means watching a community release feed, parsing season-naming conventions across 24 different tag families, and refreshing weekly. This Actor returns a clean index with every download link on tap.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to load weekly play-by-play and snap counts into a fantasy model._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. When <code>dataset</code> is set, this caps individual asset files (one record per file). When <code>dataset</code> is empty, it caps full releases (one record per release with embedded asset list). Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>dataset</code></td><td>string</td><td><code>"pbp"</code></td><td>One of 24 nflverse release tags. When set, the actor returns one record per downloadable asset file in that release.</td></tr>
<tr><td><code>season</code></td><td>integer</td><td>empty</td><td>Filter assets to a single NFL season year. Omit for all seasons.</td></tr>
<tr><td><code>includeAssets</code></td><td>boolean</td><td><code>true</code></td><td>Only applies when <code>dataset</code> is empty (release mode). Include the full per-file asset manifest with download links on each release record.</td></tr>
</tbody>
</table>

**Example: full play-by-play release index with every season and every download link.**

```json
{
    "maxItems": 1,
    "dataset": "pbp",
    "includeAssets": true
}
````

**Example: snap counts for 2024 only.**

```json
{
    "maxItems": 1,
    "dataset": "snap_counts",
    "season": 2024
}
```

> ⚠️ **Good to Know:** nflverse releases are produced and maintained by a community of volunteers. Files are updated through the season as new game data arrives. Always confirm the publish date and asset list match the analysis window you need.

***

### 📊 Output

Each release record contains **19 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🏷️ `releaseTag` | string | `"pbp"` |
| 🏈 `releaseName` | string | `"pbp"` |
| 📑 `datasetType` | string | `"pbp"` |
| 🆔 `releaseId` | number | `58152862` |
| 📅 `publishedAt` | ISO 8601 | `"2022-01-28T02:12:09Z"` |
| 🗓️ `createdAt` | ISO 8601 | `"2022-01-28T02:09:45Z"` |
| 🚧 `isPrerelease` | boolean | `false` |
| 📝 `isDraft` | boolean | `false` |
| 👤 `author` | string | null | `"tanho63"` |
| 📜 `description` | string | null | `"Play by play data, accessed with nflreadr::load_pbp()"` |
| 🔢 `assetCount` | number | `160` |
| 📅 `seasons` | number\[] | `[1999, 2000, ..., 2024, 2025]` |
| 📦 `fileFormats` | string\[] | `["rds", "csv", "qs", "csv.gz", "parquet"]` |
| 📏 `totalSizeBytes` | number | `4282937881` |
| ⬇️ `totalDownloads` | number | `3661982` |
| 🔗 `releaseUrl` | string | `"https://github.com/nflverse/nflverse-data/releases/tag/pbp"` |
| 🗂️ `assets` | object\[] | full manifest of files |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-20T12:00:00.000Z"` |
| ⚠️ `error` | string | null | `null` |

#### 📦 Sample records

<details>
<summary><strong>🏈 Play-by-play release: full 1999-present catalog</strong></summary>

```json
{
    "releaseTag": "pbp",
    "releaseName": "pbp",
    "datasetType": "pbp",
    "releaseId": 58152862,
    "publishedAt": "2022-01-28T02:12:09Z",
    "createdAt": "2022-01-28T02:09:45Z",
    "isPrerelease": false,
    "isDraft": false,
    "author": "tanho63",
    "description": "Play by play data, accessed with `nflreadr::load_pbp()`",
    "assetCount": 160,
    "seasons": [1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025],
    "fileFormats": ["rds", "csv", "qs", "csv.gz", "parquet"],
    "totalSizeBytes": 4282937881,
    "totalDownloads": 3661982,
    "releaseUrl": "https://github.com/nflverse/nflverse-data/releases/tag/pbp",
    "assets": [
        {
            "name": "play_by_play_1999.zip",
            "size": 12289792,
            "downloadCount": 407,
            "format": null,
            "season": 1999,
            "downloadUrl": "https://github.com/nflverse/nflverse-data/releases/download/pbp/play_by_play_1999.zip"
        }
    ],
    "scrapedAt": "2026-05-20T12:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🩹 Injuries release: 2024 season only</strong></summary>

```json
{
    "releaseTag": "injuries",
    "releaseName": "injuries",
    "datasetType": "injuries",
    "publishedAt": "2024-09-04T10:14:22Z",
    "isPrerelease": false,
    "isDraft": false,
    "author": "nflverse-bot",
    "description": "Weekly injury reports.",
    "assetCount": 3,
    "seasons": [2024],
    "fileFormats": ["csv", "parquet", "rds"],
    "releaseUrl": "https://github.com/nflverse/nflverse-data/releases/tag/injuries",
    "scrapedAt": "2026-05-20T12:00:00.000Z"
}
```

</details>

<details>
<summary><strong>📊 Next Gen Stats release: 2022-present</strong></summary>

```json
{
    "releaseTag": "nextgen_stats",
    "releaseName": "nextgen_stats",
    "datasetType": "nextgen_stats",
    "publishedAt": "2023-09-08T18:02:11Z",
    "author": "nflverse-bot",
    "description": "Next Gen Stats for passing, rushing, and receiving.",
    "assetCount": 9,
    "seasons": [2022, 2023, 2024],
    "fileFormats": ["csv", "parquet", "rds"],
    "releaseUrl": "https://github.com/nflverse/nflverse-data/releases/tag/nextgen_stats",
    "scrapedAt": "2026-05-20T12:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🏈 | **24 dataset families.** Play-by-play, schedules, rosters, snap counts, injuries, depth charts, Next Gen Stats, contracts, combine, draft, and more. |
| 📅 | **Deep history.** Play-by-play from 1999, schedules since the AFL merger, weekly stats and snap counts through current season. |
| 🗂️ | **Full asset manifest.** Every download link in one record, with season and format already parsed. |
| 📦 | **Multi-format.** CSV, CSV.GZ, Parquet, RDS, qs - whatever your analytics stack expects. |
| ⚡ | **Fast.** Release index in seconds, full manifests in well under a minute. |
| 🔁 | **Live.** Each run pulls the current release feed; new season files appear as nflverse maintainers publish them. |
| 🚫 | **No login.** No GitHub token or registration required. |

> 📊 nflverse is the open-data backbone of modern NFL analytics and powers the most widely used R and Python football packages.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ nflverse Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **24 dataset families, 1999+** | **Live per run** | dataset tag, season, manifest | ⚡ 2 min |
| Commercial NFL data services | $1k+/year per seat | Curated | Daily | Many | 🕒 Days |
| Direct nflreadr / nflfastR install | Free | Same data | Manual updates | None | 🐢 R environment required |
| Hand-built scrapers | Engineering time | Limited | Manual | Whatever you code | 🛠️ Weeks |

Pick this Actor when you want a clean, language-agnostic index of nflverse releases without standing up an R toolchain.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the nflverse NFL Data Releases Scraper page on the Apify Store.
3. 🎯 **Set input.** Pick a dataset family, optionally narrow by season, and decide if you want the full asset manifest.
4. 🚀 **Run it.** Click **Start** and let the Actor build your release index.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to a downloaded nflverse manifest: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 📊 NFL Analytics Teams

- Pipeline bootstrap for play-by-play models
- Weekly snap-count and depth-chart refreshes
- Roster diff detection week-over-week
- Multi-season feature stores for ML pipelines

</td>
<td width="50%" valign="top">

#### 🎯 DFS & Betting Models

- Prop-bet research with Next Gen Stats
- Injury-driven lineup adjustments
- Schedule pull for stack and contrarian plays
- Historical backtesting datasets

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 📰 Sports Media

- Storyline research with player stats and depth charts
- Combine and draft-history pulls for draft coverage
- Contract-history dashboards
- Weekly columns powered by live nflverse data

</td>
<td width="50%" valign="top">

#### 🏈 Fantasy Football Tools

- Roster and player metadata sync
- Weekly stat refresh for scoring engines
- Injury feeds for waiver-wire alerts
- Depth-chart deltas for start-sit recommendations

</td>
</tr>
</table>

***

### 🔌 Automating nflverse Data Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Weekly Tuesday refreshes line up with how most nflverse datasets ship after Monday Night Football.

***

### 🌟 Beyond business use cases

nflverse data drives education, research, fan projects, and creative work beyond commercial analytics.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Sports-economics studies on contract value
- Health and injury research with weekly reports
- Reproducible NFL datasets for kinesiology programs
- Methods papers comparing modelling approaches

</td>
<td width="50%">

#### 🎨 Personal and creative

- Fantasy-league custom scoring dashboards
- Friends-and-family pick-em apps
- Twitter / Bluesky bots posting weekly leaders
- Visualisation portfolios for football fans

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Coaching clinics for youth programs
- Open-data education for sports-analytics bootcamps
- Community-driven game charting projects
- Concussion-policy research datasets

</td>
<td width="50%">

#### 🧪 Experimentation

- Train QB-passing-grade ML models
- Benchmark play-call prediction algorithms
- Prototype agent pipelines that answer "what happened this week"
- Test sports-betting models with historical data

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20nflverse%20NFL%20Data%20Releases%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20nflverse%20NFL%20Data%20Releases%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20nflverse%20NFL%20Data%20Releases%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20nflverse%20NFL%20Data%20Releases%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Pick a dataset family (`pbp`, `schedules`, `snap_counts`, etc.), optionally narrow by season, and the Actor returns one record per matching nflverse release with the full asset manifest and download links.

#### 📏 How accurate is the data?

nflverse data is community-maintained and widely used by analytics professionals. Accuracy is high for the regular and post-season game data that backs `nflfastR`. Niche datasets (FTN charting, advanced stats) reflect the underlying provider's coverage.

#### 🔁 How often is the dataset refreshed?

nflverse maintainers re-publish datasets through the season. Most refresh weekly during the regular season; some refresh hourly during live game windows. Each run pulls the current release index.

#### 📅 What seasons are covered?

Play-by-play goes back to 1999. Schedules go further. Player stats, snap counts, and Next Gen Stats have shorter histories (typically 2016-present for snap counts, 2016-present for Next Gen Stats). The Actor returns the `seasons` array so you can see exactly what is in each release.

#### 📦 Which file formats are available?

CSV, CSV.GZ, Parquet, RDS, and qs depending on the dataset. The `fileFormats` field on each record lists what is present.

#### 💼 Can I use this data commercially?

nflverse data is published under permissive open-source licenses (typically MIT or CC0 by file). Review the underlying license for each dataset family and the upstream source where applicable.

#### ⏰ Can I schedule regular runs?

Yes. A weekly schedule (Tuesday morning is a popular choice) keeps your downstream NFL pipeline current with new release publishes.

#### 💳 Do I need a paid Apify plan?

No. The free Apify plan covers testing and small runs. Paid plans unlock larger datasets, scheduling, and concurrency.

#### 🔁 What happens if a run fails?

Apify automatically retries transient errors. Partial datasets are preserved so you can adjust the input and re-run.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

nflverse Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe NFL data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh NFL data into your model server, or alert your analytics Slack channel when a new weekly file lands.

***

### 🔗 Recommended Actors

- [**🏎️ AutoTrader Scraper**](https://apify.com/parseforge/autotrader-scraper) - U.S. used-car listings
- [**🚗 Cars for Sale Scraper**](https://apify.com/parseforge/cars-for-sale-scraper) - Used-car inventory across dealers
- [**📈 Indexmundi Scraper**](https://apify.com/parseforge/indexmundi-scraper) - Global demographic and economic indicators
- [**🛬 OpenSky Flights Scraper**](https://apify.com/parseforge/opensky-flights-scraper) - Real-time flight tracking
- [**📊 Figshare Research Scraper**](https://apify.com/parseforge/figshare-scraper) - Research dataset metadata

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more open-data scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the National Football League, nflverse, nflfastR, or any team or rights holder. All trademarks mentioned are the property of their respective owners. Only publicly available open data is collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `dataset` (type: `string`):

Which nflverse dataset release type to pull.

## `season` (type: `integer`):

Filter assets to a specific NFL season year (e.g. 2024). Leave empty for all seasons in the release.

## `includeAssets` (type: `boolean`):

Include the full file list (name, size, format, download link) for each release.

## Actor input object example

```json
{
  "maxItems": 10,
  "dataset": "pbp",
  "includeAssets": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "dataset": "pbp"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/nflverse-data-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "dataset": "pbp",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/nflverse-data-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "dataset": "pbp"
}' |
apify call parseforge/nflverse-data-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/nflverse-data-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "nflverse NFL Data Releases Scraper",
        "description": "Export nflverse NFL data releases. Pull play-by-play, schedules, rosters, player stats, weekly stats, snap counts, and more. Filter by dataset type and season. Returns release metadata + download links for CSV / Parquet / RDS files covering all NFL seasons.",
        "version": "1.0",
        "x-build-id": "lZdLzjgOvhApy1ZhQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~nflverse-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-nflverse-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~nflverse-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-nflverse-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~nflverse-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-nflverse-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "dataset": {
                        "title": "Dataset",
                        "enum": [
                            "pbp",
                            "pbp_participation",
                            "schedules",
                            "rosters",
                            "weekly_rosters",
                            "players",
                            "players_components",
                            "player_stats",
                            "stats_player",
                            "stats_team",
                            "depth_charts",
                            "snap_counts",
                            "injuries",
                            "officials",
                            "draft_picks",
                            "combine",
                            "contracts",
                            "ftn_charting",
                            "espn_data",
                            "pfr_advstats",
                            "nextgen_stats",
                            "teams",
                            "trades",
                            "misc"
                        ],
                        "type": "string",
                        "description": "Which nflverse dataset release type to pull."
                    },
                    "season": {
                        "title": "Season",
                        "minimum": 1999,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Filter assets to a specific NFL season year (e.g. 2024). Leave empty for all seasons in the release."
                    },
                    "includeAssets": {
                        "title": "Include Asset Files",
                        "type": "boolean",
                        "description": "Include the full file list (name, size, format, download link) for each release.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
