ESPN Sports News Scraper - Headlines & Stories by League avatar

ESPN Sports News Scraper - Headlines & Stories by League

Pricing

from $0.50 / 1,000 results

Go to Apify Store
ESPN Sports News Scraper - Headlines & Stories by League

ESPN Sports News Scraper - Headlines & Stories by League

$0.5/1K ๐Ÿ”ฅ Fast ESPN news scraper! Sports headlines & stories by league โ€” title, byline, image & link. No key. JSON, CSV, Excel or API in seconds. Pull the news for aggregation, fan apps & media monitoring โšก

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

ninhothedev

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

ESPN Sports News Scraper

Fetch the latest ESPN news feed for selected leagues. Each result contains a headline, available description, byline, timestamps, article URL, image and categories. Descriptions are source excerpts, capped at 3,000 characters; full article bodies and historical pagination are not provided. League availability depends on ESPN's public site API. No API key is required.

First run

The default {} input requests up to five NFL articles. A small explicit example:

{"mode":"news","leagues":["football/nfl"],"limit":5,"maxItems":5}
InputDefaultMeaning
modenewsOnly news is supported.
leagues["football/nfl"]1โ€“30 sport/league paths. Legacy string input is accepted. Repeated paths are normalized and deduplicated.
limit5Requested articles per league, integer 1โ€“100. The source may return fewer.
maxItems5Strict global dataset cap across leagues and resumed runs, integer 1โ€“2000.

Other example paths: basketball/nba, baseball/mlb, hockey/nhl, soccer/eng.1, soccer/esp.1. These are source paths, not a guarantee that every feed is available. Input order determines which leagues are reached before the global or charge budget cap.

Output and coverage

Existing fields remain: league, headline, description, byline, published, last_modified, type, url, image, image_caption, categories, source, scraped_at. Additive fields are id and source_url. The ID uses ESPN's article ID, falling back to a normalized URL hash, and stays the same when an article appears in multiple leagues. Only the first encountered league is recorded. Missing optional fields and invalid source dates are null; categories default to []. Valid dates and capture time use ISO-8601 UTC.

{"id":"espn:123456","league":"football/nfl","headline":"Example headline","description":null,"byline":null,"published":null,"last_modified":null,"type":null,"url":"https://www.espn.com/nfl/story/_/id/123456/example","image":null,"image_caption":null,"categories":[],"source":"espn","scraped_at":"2026-09-05T20:00:00+00:00","source_url":"https://site.api.espn.com/apis/site/v2/sports/football/nfl/news?limit=5"}

RUN_SUMMARY in the default key-value store records requested leagues, fetched/empty/failed feeds, delivered count and complete, limit_reached or partial_error status. An explicit empty articles array is a valid zero-result response. HTTP errors, timeouts, malformed response shapes and articles missing a usable identity or headline cause a failed run; already delivered valid articles are retained. There are no automatic source retries. Requests time out after 15 seconds.

The default dataset is read on resurrection: existing rows count against maxItems and article IDs/URLs prevent duplicate rows and repeated result charges in that dataset. A new run with a new dataset is an independent collection. Feed contents can change between attempts; this is not a historical archive or a guarantee of complete league coverage. Budget checks occur before each fetch and write.

Pricing

Current configured standard event prices, checked 5 September 2026: $0.0005 per delivered article ($0.50 per 1,000) and $0.00005 Actor Start, charged per GB with a one-event minimum. At 512 MB, 5 / 100 / 1,000 delivered articles correspond to $0.00255 / $0.05005 / $0.50005 in these events. Consult the live pricing panel for account-specific pricing and any platform charges. Empty feeds and rejected articles do not create result events. No proxy is configured by this Actor.

Development

Install requirements.txt into a virtual environment, run python -m unittest discover -s tests -p 'test_*.py', then use apify run for a local source test. The committed dependency lock uses Apify SDK 4 with automatic default-dataset result charging. Local storage is not uploaded to Apify. Cloud source access and billing must be validated on the exact candidate build before release.