Skip to content

Stats API · v1 pilot

Build with NPL data

Teams, players, fixtures and the numbers behind each recorded innings.

Request access →OpenAPI specification ↗

Start with your API key

Access is by invitation. Each approved integration receives a key and request allowance. Send your key in the Authorization: Bearer header from your server.

curl --fail-with-body 'https://nepalcric.com/api/v1/stats/batting?year=2025&team=pokhara-avengers&limit=10' \
  -H "Authorization: Bearer $NPL_API_KEY"

Base URL: https://nepalcric.com/api/v1. Keep keys on your backend. Do not include them in URLs or browser bundles.

Teams and players

  • GET/teams
  • GET/teams/{slug}
  • GET/teams/{slug}/roster?year=2025
  • GET/players?team=pokhara-avengers&year=2025
  • GET/players/{slug}
  • GET/players/{slug}/rosters

Games and standings

  • GET/seasons
  • GET/matches?year=2026
  • GET/matches/{id}
  • GET/standings?year=2026

NPL archive statistics

  • GET/stats/batting?year=2025
  • GET/stats/bowling?year=2025
  • GET/stats/fielding?year=2025
  • GET/players/{slug}/stats?year=2025
  • GET/teams/{slug}/stats?year=2025

Cricsheet scorecards and deliveries

  • GET/archive/players?year=2025
  • GET/archive/players/{personId}/stats?year=2025
  • GET/archive/matches?year=2025
  • GET/archive/matches/{sourceId}
  • GET/archive/matches/{sourceId}/deliveries?innings=1&limit=60&after=0

Read the response

Successful requests return data, meta and requestId. Lists accept limit and offset; follow meta.pagination.nextOffset until it is null. Most lists return 25 rows by default, up to 100.

Deliveries use an after cursor and return nextAfter. Their limit is 200 events. Wides and no-balls are individual events, so a delivery sequence is different from a legal-ball count.

Statistics require a year. Begin with /seasons to discover which seasons have imported ball-by-ball records. Profiles expose verified Cricsheet identities; players without a confirmed link return STATS_NOT_LINKED for profile statistics.

Coverage and sources

Fixtures and results follow the records maintained by Nepal Cric. The API does not promise live ball-by-ball updates. Cricsheet statistics cover imported NPL matches and do not represent complete player careers.

Super Overs are excluded from summary totals and appear separately in scorecards. Undefined rates are null. Overs use cricket notation: 9.5 means 59 legal balls. Season rosters include recorded jersey numbers and roles.

Archive responses include meta.attribution with Cricsheet and ODC-By 1.0 links. Keep the attribution with downstream data.

Limits and errors

Your minute and daily allowances are returned in X-RateLimit-* and X-DailyLimit-* headers. Daily windows reset at 00:00 UTC. Authenticated GET attempts count toward your allowance, including invalid queries.

  • 400: Check the parameters and required season.
  • 401: Supply a valid key; keys can expire or be revoked.
  • 404: Resource unavailable, or player statistics have no verified link.
  • 409: Choose an explicit archive identity.
  • 429: Wait for the number of seconds in Retry-After.
  • 503: Service temporarily unavailable; retry with backoff.

Errors include a stable code, message and request ID. The OpenAPI specification lists all supported parameters and response fields.