# Changelog of Mlb Stats Scraper (`normdata/mlb-stats-scraper`) Actor

- **URL**: https://apify.com/normdata/mlb-stats-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/normdata/mlb-stats-scraper.md

## Changelog

### 2026-09-04 (yet later)

- **Closed the last real gaps against the competition**, verified by reading their full
  READMEs field-by-field: team abbreviation + short name, player age, standings magic number,
  and each team's win-loss record at game time in Schedule mode.
- **Box scores.** Turn on `includeBoxScore` in Schedule mode for the inning-by-inning line
  score, team hits/errors, and the winning/losing/save pitcher. Matches and exceeds the
  "game details" mode the two most-used competitors advertise, verified so the per-inning runs
  actually sum to the final score.
- **Probable pitchers and weather** on every scheduled game, free (no extra lookup), and none
  of the three competitors have it.

### 2026-09-04 (later)

- **Player headshots, team logos, and official profile links** added to every row.
- **Fixed a real data gap:** `team_name`/`team_id` were coming back empty on every Player
  profile row. The source needs an explicit flag to include team affiliation, which wasn't
  being set. Caught by auditing the actual fill-rate of every column shown in the dataset's
  overview table, not just checking the run didn't crash. Regression-tested.

### 2026-09-04

*Initial release.*

- Five modes: player profiles, teams, schedule, standings, league leaders.
- **Search players and teams by name.** None of the existing scrapers in this category offer
  this; they all require the caller to already know MLB's internal numeric IDs.
- Player profiles: bio plus season or career hitting, pitching, or fielding stats, auto-detected
  by position (or forced to one group).
- Teams: league, division, venue, and the full current roster on request.
- Heights/weights normalized to metric alongside the original imperial record.
- Free-plan lock: non-paying accounts always run a 10-player demo sample.
- Break-tested (21 adversarial scenarios) and correctness-verified (9 scenarios checking the
  data actually matches the filter, not just "didn't crash"): league filters, date ranges,
  stat-group auto-detection, leaderboard ranking order, name resolution, career vs. season
  totals.
