MSN Sports API
Pricing
from $0.62 / 1,000 sports lookups
MSN Sports API
Unofficial wrapper around MSN's own public sports API for live scores, standings, schedules, and highlight videos across major leagues worldwide.
Unofficial, reverse-engineered wrapper around MSN's own public sports content API. Returns real-time scores, standings, schedules, and highlight videos as structured JSON — no scraping, no HTML parsing, no login required.
What
A Standby REST API that proxies MSN's own backend for major-league sports data:
- Scores: live and recently completed games for a league — period-by-period scores, game state, broadcast channels, win probabilities.
- Standings: current league table/standings.
- Schedule: upcoming or past games for a league on a given date.
- Videos: recent highlight videos for a league.
Why
MSN's sports section aggregates live scores, standings, and highlights for every major league worldwide through one consistent API. This wrapper exposes that data as clean JSON for anyone who wants real-time sports data without building a scraper against MSN's web frontend.
How
This is a Standby Actor — it runs as a long-lived HTTP server, not a one-shot crawl. Send GET requests to its Standby URL with the query parameters documented below; each call returns JSON immediately.
Input
All parameters are passed as query string parameters on the request URL — there is no JSON input needed to start the Actor.
| Route | Params | Description |
|---|---|---|
GET /scores | leagueId (e.g. IceHockey_NHL), sport (e.g. IceHockey) | Live and recently completed games for a league — scores by period, game state, broadcast channels, win probabilities. |
GET /standings | leagueId, seasonPhase (default regularSeason) | Current league standings/table. |
GET /schedule | leagueId, date (optional, YYYY-MM-DD, defaults to today) | Upcoming/past schedule for a league. |
GET /videos | leagueId | Recent highlight videos for a league. |
League ids follow the {Sport}_{League} pattern. Confirmed examples: Football_NFL/Football, Basketball_NBA/Basketball, Baseball_MLB/Baseball, IceHockey_NHL/IceHockey, Soccer_USAMajorLeagueSoccer/Soccer, Soccer_InternationalClubsUEFAChampionsLeague/Soccer, Soccer_UEFAEuropaLeague/Soccer.
Output
Each route returns MSN's own response JSON largely as-is — field names and shapes follow MSN's API directly, so the response is richer and more detailed than any fixed Apify Dataset schema could usefully flatten. See the Input table above for what each route's response contains.
Pricing
Pay-per-event:
apify-actor-start— flat fee per Actor Standby run.sports-lookup— one charge per call.
Known limitations
- Sports coverage depends on MSN's own league catalog; not every league/competition worldwide is available, and league ids must match MSN's own naming exactly (see the confirmed examples above).
- This is an unofficial, reverse-engineered integration, not affiliated with or endorsed by Microsoft Corporation. Behavior may change if MSN changes its API.
Found a bug or have a feature request? Use the Issues tab on this Actor's page.