ParseForge Scrapers

Pro Football Reference Passing Stats Scraper

parseforge/pro-football-reference-scraper

SportsNews & mediaOther

Scrapes NFL passing statistics from Pro Football Reference for a given season. Returns each player as a flat row with completions, yards, touchdowns, and more.

Run this scraper See the API call
Total users
3
Monthly active
1
Total runs
112
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Pro Football Reference Passing Stats Scraper

Scrape NFL passing stats from Pro Football Reference by season, up to a million records per run. Every row includes the player, team, completions, yards, touchdowns, and passer rating. No login or API key. Export to CSV, JSON, Excel, or XML.

Pro Football Reference has no official API, and building your own scraper means handling page structure changes and rate limits. This Actor reads the public passing stats tables directly, season by season, and returns each player's row in one fixed schema. Filter by season and cap the number of records to keep runs fast.

Who uses it What they scrape Pro Football Reference for
Fantasy football analysts Which quarterbacks are trending up or down this season
Sports journalists Season passing leaderboards for articles and infographics
Data scientists Historical passing data for model training and trend analysis
NFL fans and hobbyists Personal stat tracking and comparison across seasons

What it does

This Actor collects NFL passing statistics from Pro Football Reference for a given season and returns each player as a flat row.

  • ๐Ÿˆ Season selector: pick any NFL season from 1932 to the current year.
  • ๐Ÿ“Š Flat rows: every player comes back as one record with all passing columns.
  • โšก Fast and simple: one input field for season, one for max records, no complex setup.
  • ๐Ÿ“ Multiple exports: download as CSV, JSON, Excel, or XML from the dataset tab.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Pro Football Reference data

๐Ÿ“ˆ Track quarterback performance.

A fantasy analyst scrapes the 2024 passing stats to see which quarterbacks are outperforming their draft position.

๐Ÿ“ฐ Build season leaderboards.

A sports journalist pulls the latest season's passing yards and touchdowns to publish a weekly top-10 list.

๐Ÿค– Train prediction models.

A data scientist collects passing stats from 2000 to 2024 to train a model that predicts player fantasy points.

๐Ÿ“Š Compare historical eras.

An NFL historian scrapes passing stats from 1970 and 2020 to compare how the game has changed.

Why choose this scraper

What you get
No API key needed Scrape public stats without registering an app or dealing with OAuth.
One fixed schema Every run returns the same columns, so your pipeline never breaks.
Season by season Pull a single year or loop over many seasons for historical data.
Up to a million rows Set maxItems high enough for every passer in a season, or low for a quick sample.

How it compares

No other Store actor targets Pro Football Reference the same way, so the honest comparison is with the alternatives teams actually weigh.

Pro Football Reference Passing Stats Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Pro Football Reference changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a season year and a maximum record count, and it returns the passing stats table for that season. The Input tab lists every parameter.

A first run with the defaults:

{
 "season": "2024",
 "maxItems": 10
}

A larger pull:

{
 "season": "2024",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Pro Football Reference Passing Stats Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Pro Football Reference through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/pro-football-reference-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the season you entered exists on Pro Football Reference. The site has data back to 1932, but if you enter an invalid year like 1800 or 2030, the table may be empty. Also ensure maxItems is at least 1.

Why did the run fail with a timeout?

Pro Football Reference can be slow to respond during peak traffic. Try increasing the Actor's timeout in the run settings, or run it at a less busy time.

Why are some player names missing or garbled?

The site occasionally changes its HTML structure. If you see missing fields, try running again later. If the problem persists, report it on the Actor's issues page.

Can I get more than passing stats?

This Actor is designed for passing stats only. For rushing, receiving, or defensive stats, you would need a different scraper or a custom solution.

Why is my dataset smaller than expected?

Check the maxItems setting. If it is lower than the number of players in the season, the Actor stops early. Increase maxItems to get the full table.

FAQ

Question Answer
What data does this Actor return? It returns the passing stats table from Pro Football Reference for the season you choose. Each row is one player and includes columns like completions, attempts, yards, touchdowns, interceptions, and passer rating.
Do I need an API key or login? No. The Actor reads the public pages on pro-football-reference.com directly. You only need an Apify account to run it.
Can I scrape multiple seasons at once? The Actor takes one season per run. To get multiple seasons, run it once per season, or use Apify's scheduler or an integration to loop over a list of years.
What is the maximum number of records I can get? You can set maxItems up to 1,000,000. A single NFL season has far fewer passers, so the full table will be returned unless you set a lower cap.
Which seasons are supported? Any season available on Pro Football Reference. The site has passing stats back to 1932, but the Actor will return whatever the site shows for the year you enter.
What formats can I export the data in? From the Apify dataset tab you can download the results as CSV, JSON, Excel, or XML. You can also use the API to get JSON directly.
Does this Actor scrape rushing or receiving stats? No, this Actor is focused on passing stats only. For other stat types, you would need a different scraper or a custom solution.
Is web scraping Pro Football Reference legal? Scraping public data is generally allowed, but you should review the site's terms of service and respect their robots.txt. This Actor only reads publicly available pages.
How often is the data updated? The Actor fetches live data from Pro Football Reference on each run, so it reflects the site's current content. Run it after games to get the latest stats.
Can I schedule this Actor to run automatically? Yes, you can set up a schedule in Apify to run it daily, weekly, or at any interval. This is useful for tracking stats throughout the season.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Sports Reference LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
season string NFL season year to scrape (e.g. 2024, 2023, 2022) 2024
maxItems integer How many records to collect per run. 10

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~pro-football-reference-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "season": "2023",
    "maxItems": 3
  }'

Examples

Input that runs as-is.

input.json
{
  "season": "2023",
  "maxItems": 3
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Pro Football Reference Passing Stats Scraper on Apify All scrapers