STAT-API

MLB player_news API

player_newsmlb.player_news
News about MLB players — trades, IL placements, lineup decisions, suspensions, and general beat-reporter updates, unified from beat-writer scrapers, operator feeds, and AI summarization.
GET/api/v1/mlb/player_news
Requires one of: player_id or team_id — requests satisfying none of these return 400.
Parameters
player_idquerybigintoptional
Filter to a single player.
team_idquerybigintoptional
Filter by team.
categoryquerystringoptional
Filter by news category (injury, transaction, lineup, general, depth_chart, suspension, contract, performance). Values: general, injury, lineup, transaction, depth_chart, suspension, contract, performance.
status_enumquerystringoptional
Filter by player status designation. Values: RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, OUT_SEASON, TRADED, RELEASED, SIGNED, ROUTINE, UNSIGNED.
urgencyquerystringoptional
Filter by news urgency. Values: BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE.
news_timequerytimestamptzoptional
Filter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check. Range syntax: news_time__gte=, news_time__lte=, news_time__between=.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 5000.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/mlb/player_news?player_id=1'
Responses
200player_news rows matching the declared filter set, wrapped in { player_news, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
Response Schema(19 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigintnullableAssociated game ID when this news item relates to a specific game.
e.g. 169744
opponent_team_id
bigintnullableOpponent team ID when this news item relates to an upcoming or active game matchup.
e.g. 16
player_id
bigintnullablePlayer ID associated with the news report.
e.g. 1369
team_id
bigintnullableTeam ID of the player at the time of publication.
e.g. 27
ai_processed
boolean—Whether this story was generated or enriched via LLM summarization.
Values:falsetrue
analysis
stringnullable—Fantasy and tactical analysis of the news.
e.g. — (all-null in sample)
author
stringnullable—Reporter or author of the article.
e.g. Staff
category
stringnullable—injury, transaction, lineup, general
Values:injurygeneraltransactionlineupdepth_chartcontractsuspensionperformanceworkload
content
stringnullable—Full text content of the news report.
e.g. Milwaukee Brewers first baseman/outfielder Jake Bauers is p…
description
stringnullable—Brief synopsis or summary of the news event.
e.g. San Francisco pitcher Sam Hentges is sidelined with a forea…
first_reported_at
timestamptznullable—Timestamp when this story was first reported before multi-source compaction.
e.g. 2026-09-07T01:25:32.000Z
news_time
timestamptz—Publication timestamp of the news story.
e.g. 2026-09-01T04:00:00.000Z
priority
integer—Display priority score (1-10).
e.g. 10
processed_at
timestamptznullable—Timestamp when the story was processed.
e.g. — (all-null in sample)
situational_impact
jsonbnullable—Structured situational impact assessment and fantasy implications for the player.
e.g. {"affected_player_ids":[],"affected_players":[]}
↳type
situational_impact.type
stringnullable—Impact direction: positive, negative, or neutral.
↳impact_enum
situational_impact.impact_enum
stringnullable—Standardized impact state (ACTIVE, CLEARED, QUESTIONABLE, etc.).
↳reason
situational_impact.reason
stringnullable—Narrative explaining the fantasy and playing-time impact.
↳ripple_effect
situational_impact.ripple_effect
stringnullable—Downstream tactical or fantasy consequences.
↳affected_players
situational_impact.affected_players
listnullable—Teammates whose opportunity or role is impacted.
↳affected_player_ids
situational_impact.affected_player_ids
listnullable—IDs of impacted teammates.
status_enum
stringnullable—Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE).
Values:ACTIVEROUTINEIR_PLACEDBENCHEDINACTIVESTARTINGQUESTIONABLEIR_ACTIVATEDCLEAREDSIGNEDRULED_OUTRELEASEDPROBABLEMINUTES_LIMITTRADEDDOUBTFUL
title
string—Headline of the news report.
e.g. Robby Snelling Out Until at Least June 1 with Elbow Injury
urgency
stringnullable—Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE).
Values:ROUTINEHIGHMEDIUMBREAKING_GAME_TIME
GET/api/v1/mlb/player_news/{id}
Parameters
idpathbigintrequired
Primary key (id) of the player_new row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/mlb/player_news/{pk_value}'
Responses
200Single player_new row.application/jsonshow example ▸
404Row not found.
Response Schema(19 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigintnullableAssociated game ID when this news item relates to a specific game.
e.g. 169744
opponent_team_id
bigintnullableOpponent team ID when this news item relates to an upcoming or active game matchup.
e.g. 16
player_id
bigintnullablePlayer ID associated with the news report.
e.g. 1369
team_id
bigintnullableTeam ID of the player at the time of publication.
e.g. 27
ai_processed
boolean—Whether this story was generated or enriched via LLM summarization.
Values:falsetrue
analysis
stringnullable—Fantasy and tactical analysis of the news.
e.g. — (all-null in sample)
author
stringnullable—Reporter or author of the article.
e.g. Staff
category
stringnullable—injury, transaction, lineup, general
Values:injurygeneraltransactionlineupdepth_chartcontractsuspensionperformanceworkload
content
stringnullable—Full text content of the news report.
e.g. Milwaukee Brewers first baseman/outfielder Jake Bauers is p…
description
stringnullable—Brief synopsis or summary of the news event.
e.g. San Francisco pitcher Sam Hentges is sidelined with a forea…
first_reported_at
timestamptznullable—Timestamp when this story was first reported before multi-source compaction.
e.g. 2026-09-07T01:25:32.000Z
news_time
timestamptz—Publication timestamp of the news story.
e.g. 2026-09-01T04:00:00.000Z
priority
integer—Display priority score (1-10).
e.g. 10
processed_at
timestamptznullable—Timestamp when the story was processed.
e.g. — (all-null in sample)
situational_impact
jsonbnullable—Structured situational impact assessment and fantasy implications for the player.
e.g. {"affected_player_ids":[],"affected_players":[]}
↳type
situational_impact.type
stringnullable—Impact direction: positive, negative, or neutral.
↳impact_enum
situational_impact.impact_enum
stringnullable—Standardized impact state (ACTIVE, CLEARED, QUESTIONABLE, etc.).
↳reason
situational_impact.reason
stringnullable—Narrative explaining the fantasy and playing-time impact.
↳ripple_effect
situational_impact.ripple_effect
stringnullable—Downstream tactical or fantasy consequences.
↳affected_players
situational_impact.affected_players
listnullable—Teammates whose opportunity or role is impacted.
↳affected_player_ids
situational_impact.affected_player_ids
listnullable—IDs of impacted teammates.
status_enum
stringnullable—Standardized player status designation (RULED_OUT, DOUBTFUL, QUESTIONABLE, PROBABLE, CLEARED, MINUTES_LIMIT, MINUTES_LIFTED, STARTING, BENCHED, INACTIVE, ACTIVE, IR_PLACED, IR_ACTIVATED, TRADED, RELEASED, SIGNED, ROUTINE).
Values:ACTIVEROUTINEIR_PLACEDBENCHEDINACTIVESTARTINGQUESTIONABLEIR_ACTIVATEDCLEAREDSIGNEDRULED_OUTRELEASEDPROBABLEMINUTES_LIMITTRADEDDOUBTFUL
title
string—Headline of the news report.
e.g. Robby Snelling Out Until at Least June 1 with Elbow Injury
urgency
stringnullable—Urgency level of the news event (BREAKING_GAME_TIME, HIGH, MEDIUM, ROUTINE).
Values:ROUTINEHIGHMEDIUMBREAKING_GAME_TIME