Welcome! This page describes the API for accessing all data in the RealmCharts dashboard. Data is delivered as JSON. You do not need to sign up for an API key.
https://realmcharts.swrlly.com/api
GET /players?time={time}
Returns historical player count data at minute-level granularity in an array. Row entries read left to right:
timestamp: Unix time when player data was collectedplayers: Total unique players seen in the last 60 minutes, excluding <2 star playersplayers = 0 represents maintenance times, players = null represents missing data, bugged data collection, or counts withheld due to less than 60 minutes of observed data.
time string
now or last-weekGET /api/players
GET /api/players?time=now
GET /api/players?time=last-week
GET /reviews
Returns all Steam review statistics grouped by day in an array. Each row represents statistics for reviews created within that day. Row entries read left to right:
timestamp: Unix time for start of daydaily_total_reviews: Total reviews created within this daytotal_proportion_positive: Total proportion of positive reviews over entire game history up until this daydaily_total_playtime_last_two_weeks: Total daily playtime last two weeks for reviews created in this daydaily_total_votes_up: Total positive reviews created within this daydaily_total_playtime_at_review: Total daily playtime at reviews for reviews created within this daydaily_total_playtime_forever: Total overall playtime for reviews created within this dayGET /api/reviews
GET /reviews/last-scraped
Returns time when Steam reviews were last scraped in Unix time.
GET /api/reviews/last-scraped
GET /forecast
Returns a 24-hour forecast of player counts based on the current time at five minute-level granularity in an array. Row entries read left to right:
timestamp: Unix time of the forecast at the beginning of the five minute intervalpredicted_mean: Predicted average player countsone_sd_lower: Prediction interval lower bound for one standard deviation below predicted_meanone_sd_upper: Prediction interval upper bound for one standard deviation above predicted_meantwo_sd_lower: Prediction interval lower bound for two standard deviations below predicted_meantwo_sd_upper: Prediction interval upper bound for two standard deviations above predicted_meanIn general, 68% of observed player counts will lie between one_sd_lower and one_sd_upper while 95% of observed player counts will lie between two_sd_lower and two_sd_upper.
GET /api/forecast
GET /forecast/performance
Returns the 1-, 6-, 12- and 24-hour forecast performance statistics over the last 48 hours in an array. For example, 24-hour forecasts are saved and compared with real player counts 24 hours later. Row entries read left to right:
horizon: how far in the future the forecast isMAE: mean absolute error, calculated as \[\dfrac{1}{n}\sum^n_{i=1}\lvert A_t - F_t\rvert\] where $A_t = $ actual players and $F_t = $ forecasted players. MAPE: mean absolute percentage error, calculated as \[\dfrac{100}{n}\sum^n_{i=1}\left\lvert\dfrac{A_t - F_t}{A_t}\right\rvert\]n_obs: number of observations in the calculation of MAE and MAPEGET /api/forecast/performance
GET /game/online
Checks whether RotMG is currently undergoing maintenance.
last_checked float
online int
1 if RotMG is online, 0 if RotMG undergoing maintenanceGET /api/game/online
A rate limit of 50 requests per second is enforced on the realmcharts.swrlly.com subdomain as well as the root domain swrlly.com. Each API request counts against a per-second rate limit, as well as any requests on realmcharts.swrlly.com and swrlly.com. If a request hits the Cloudflare cache, it will not count towards the rate limit. You can check if a request was a cache hit by looking for the response header CF-Cache-Status: HIT. See the Cloudflare documentation for more details.
If the rate limit is surpassed, Cloudflare will prevent you from accessing the site for 15 minutes.