nwslsoccer.com APInwslsoccer.com ↗
Access NWSL match results, event-level data with xG, player statistics, and news articles via 4 endpoints. Covers goals, cards, assists, passing accuracy, and more.
curl -X GET 'https://api.parse.bot/scraper/e58759f6-a60d-41d8-9f14-20e3e617ca1e/get_news?limit=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Extract latest news articles from the NWSL website. Returns article titles and URLs. Fields such as description, image_link, and date may be null depending on upstream data availability.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of news articles to retrieve. |
{
"type": "object",
"fields": {
"news": "array of news objects with title, description, image_link, url, and date fields"
},
"sample": {
"data": {
"news": [
{
"url": "https://www.nwslsoccer.com/news/nwsl-after-dark-strikes-again-four-first-time-goal-scorers-find-the-net-in-midweek-action",
"date": null,
"title": "NWSL After Dark strikes again: Four first-time goal scorers find the net in midweek action",
"image_link": null,
"description": null
}
]
},
"status": "success"
}
}About the nwslsoccer.com API
The NWSL API gives developers access to 4 endpoints covering the National Women's Soccer League: news articles, season match listings, per-match event data, and detailed player statistics. The get_match_details endpoint returns event-by-event breakdowns — goals, cards, substitutions — alongside team-level expected goals (xG). The get_player_stats endpoint surfaces per-player metrics including goals, assists, xG, passing accuracy, and tackles across a full season.
Match Data and xG Statistics
The get_match_details endpoint takes a match_id (and optionally a season_id) and returns two main structures: an events array and an xg_stats object. Each event carries a type, time, description, label, and xg value — note that time and xg on individual events may be null depending on data availability. The xg_stats object provides home_xg and away_xg as numeric values for the full match. Match IDs follow the format nwsl::Football_Match::{hash} and can be retrieved from list_matches.
Season Schedules and Player Stats
The list_matches endpoint accepts a season_id parameter (e.g. nwsl::Football_Season::fad050beee834db88fa9f2eb28ce5a5c) and defaults to the current season when omitted. It returns a competition object with metadata — season name, competition ID, and date range — plus a matches array with each match's matchId, status, matchDateUtc, home/away team details, and scores. An invalid season_id will produce an upstream error rather than an empty result.
The get_player_stats endpoint returns a paginated players array. Each player object includes playerId, name, team info, position, and a stats array where each entry has a statsId, statsLabel, and statsValue. Supported stats span attacking (goals, assists, xG), distribution (passing accuracy), and defending (tackles). The limit parameter controls how many player records are returned.
News Coverage
The get_news endpoint retrieves recent NWSL news articles with title, description, image_link, url, and date fields. The description, image_link, and date fields may be null depending on how the article was published. A limit parameter controls the number of articles returned.
- Build a live NWSL match tracker displaying goals and cards using the
eventsarray fromget_match_details. - Compare team attacking efficiency by plotting
home_xgvsaway_xgacross a full season's matches. - Create a player performance leaderboard ranked by xG, assists, or passing accuracy from
get_player_stats. - Populate a season fixture calendar using match dates, team names, and statuses from
list_matches. - Feed an NWSL news aggregator or alert system with article titles and URLs from
get_news. - Analyze substitution patterns and card frequency per team using typed events from match event arrays.
- Track a specific player's stats across multiple seasons by querying
get_player_statswith differentseason_idvalues.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NWSL have an official developer API?+
What does `get_match_details` return beyond the score?+
events array — each entry typed as a goal, card, or substitution — with time, description, label, and per-event xg values where available. It also returns an xg_stats object with aggregate home_xg and away_xg for the match. Note that time and xg on individual events can be null.How do I get a valid `match_id` or `season_id`?+
nwsl::Football_Match::{hash} and nwsl::Football_Season::{hash}. Season IDs and match IDs are returned by list_matches, which defaults to the current season if no season_id is passed. Passing an invalid season_id returns an upstream error rather than an empty response.Does the API cover historical seasons beyond the current one?+
list_matches and get_player_stats both accept a season_id parameter, so historical seasons can be queried as long as you have the corresponding season identifier. The get_news endpoint does not accept a date or season filter; it returns the most recent articles up to the specified limit.