ESPN News avatar

ESPN News

Pricing

from $1.00 / 1,000 results

Go to Apify Store
ESPN News

ESPN News

Scrape ESPN news articles and headlines across 16 leagues and 5 sports. Optional team filter. No account or proxy required.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(4)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

4

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

ESPN News Scraper

Scrape news articles and headlines from ESPN — no account or subscription required. Supports 16 leagues across 5 sports including the NBA, NFL, MLB, NHL, MLS, WNBA, NCAA basketball and football, Premier League, La Liga, Champions League, Bundesliga, Serie A, Ligue 1, and Liga MX.

What This Scraper Does

This actor fetches news articles from ESPN's public JSON API and returns one flat record per article with headline, description, full HTML body, author, publication timestamp, image URLs, and related team/athlete references. Optional team filter fetches additional team-specific articles.

Supported Leagues

CodeSportLeague
nbaBasketballNBA
wnbaBasketballWNBA
ncaamBasketballNCAA Men's
ncaawBasketballNCAA Women's
nflFootballNFL
ncaafFootballNCAA Football
mlbBaseballMLB
nhlHockeyNHL
mlsSoccerMajor League Soccer
eplSoccerEnglish Premier League
laligaSoccerLa Liga (Spain)
uclSoccerUEFA Champions League
bundesligaSoccerBundesliga (Germany)
serieaSoccerSerie A (Italy)
ligue1SoccerLigue 1 (France)
ligamxSoccerLiga MX (Mexico)

Input

FieldTypeDescription
LeaguesList of stringsLeague codes to scrape. Defaults to ["nba"].
TeamsList of strings (optional)Filter by team abbreviation (case-insensitive, e.g. "LAL") or ESPN numeric team ID (e.g. "13"). Team-filtered articles are fetched IN ADDITION to league-wide articles. Unknown entries log a warning and are skipped.
Fetch Full Article BodyBooleanIf enabled, makes one extra API call per article to fetch the full HTML body (story field). Without this, only headlines and summaries are returned. Adds ~300ms per article. Default: false.
Max ItemsIntegerMaximum number of article records across all leagues (1–10,000). Default: 100.

Team Filter Examples

  • Just Lakers: "teams": ["LAL"]
  • By ID: "teams": ["13"]
  • Multiple: "teams": ["LAL", "BOS", "GS"]
  • Mixed: "teams": ["LAL", "17"]

Why ~10 Articles Per League?

ESPN's public news endpoint returns a fixed feed of approximately 10 articles per request and does NOT support pagination, offset, or date filtering. To get more articles per league, use the Teams filter — each team adds another ~10 team-specific articles to the fetch.

Output

Each record represents one article. Fields marked ? are optional and appear only when ESPN returns data for them. Duplicates (same article fetched via both league-wide and team filters) are automatically deduped by articleId.

FieldTypeDescription
articleIdstringESPN article ID (dedup key)
leaguestringLeague code e.g. "nba"
sportstringe.g. "basketball"
typestring?e.g. "Story", "Preview", "HeadlineNews", "Media"
headlinestringAlways present
descriptionstring?Short summary
storystring?Full HTML body of the article (only when Fetch Full Article Body is enabled)
bylinestring?Author name
publishedstring?ISO 8601 publication timestamp
lastModifiedstring?ISO 8601 last-modified timestamp
premiumboolean?If true, ESPN+ paid content
urlstring?Web URL to the article
mobileUrlstring?Mobile web URL
imagesobject[]?Array of {url, caption?, credit?, width?, height?}
keywordsstring[]?ESPN keyword tags
relatedTeamsobject[]?Array of {teamId, teamName, abbreviation}
relatedAthletesobject[]?Array of {athleteId, athleteName}
inputTeamstring?The team-filter entry that fetched this article (only on team-filtered results)
scrapedAtstringISO 8601 UTC scrape timestamp

Fields only appear when ESPN returns data — no nulls.

Error Records

If a league news feed fails to fetch after retries, an error record is emitted:

FieldDescription
inputLeagueLeague code attempted
inputTeamTeam (if team-filtered fetch failed)
errorHuman-readable message
scrapedAtTimestamp

Frequently Asked Questions

Do I need an ESPN account? No. This scraper only uses ESPN's public JSON API.

Is a proxy required? No. ESPN's public API has no bot protection for typical use.

Can I get articles from a specific date? No — ESPN's public news endpoint does not support date filtering. Articles are returned in reverse chronological order (newest first). To capture daily news, run the actor on a schedule (e.g., hourly or daily) and dedupe downstream by articleId.

How many articles can I get per league per run? ESPN returns ~10 articles for the league-wide feed. Use the Teams filter to get ~10 more per team — so for NBA with all 30 teams, you can get up to ~310 articles per run. Duplicates are auto-removed.

What's the difference between the story field and description? description is a one-sentence summary; story is the full article HTML body (with <p>, <a>, etc.).

When does the story field appear? Only when you enable the Fetch Full Article Body input option. ESPN's main news feed returns only headlines and summaries. The body requires an additional API call per article, so it's opt-in. Enable it if you need the full article HTML for downstream processing.

How do I handle the HTML body? The story field contains raw HTML. You can strip tags downstream (e.g., BeautifulSoup for plain text), render it in an HTML viewer, or extract specific elements like paragraphs or links.

Why are some articles marked premium: true? Those are ESPN+ paid content. The API returns the same metadata (headline, description, body) but you'd need an ESPN+ account to read the article on espn.com. The scraped data itself is fully available.

How do dedup + team filters work together? If you specify teams: ["LAL"] and leagues: ["nba"], the scraper fetches the NBA league feed AND the Lakers team feed. An article appearing in both is returned once (with inputTeam set to LAL if it was seen via the team feed first). Use this to maximize coverage without duplicates.

What's the difference between this actor and the other ESPN actors?

  • Scores & Schedules — game results, live scores, upcoming schedules
  • Standings — team rankings and W/L records
  • Rosters & Player Stats — team rosters and player career stats
  • News — articles and headlines (this actor)

Can I combine multiple leagues? Yes. Pass multiple codes in leagues, e.g. ["nba", "epl", "mlb"]. Each record is tagged with its league.

How often is ESPN updating the news? News is near real-time. ESPN publishes new articles throughout the day, so a hourly schedule will usually pick up 5–20 fresh articles per league.