Updated on 2026-05-12 NovaDataHub Engineering
Developer docs

Cricket Match vs Scorecard Workflow

Cricket integrations usually work best when match listings and scorecards are treated as different workflow stages, not as interchangeable payloads. This page explains when to use lighter match responses, when to load scorecard detail, and how to connect the two without over-fetching.

Key points

  • Match-list endpoints are usually best for schedules, widget selection, and current-state surfaces.
  • Scorecard endpoints are usually best for expanded match views, innings detail, and player-level rendering.
  • A clean workflow usually stores match identifiers from the list response and uses them later for detail fetches.

Common errors

  • 401 invalid_key
  • 404 match_not_found
  • 429 rate_limited
Reference details

Parameters, response shape, and operational notes

Parameter notes

  • Use match listings first when the UI or job needs discovery, status, or a list of available matches.
  • Use scorecards only after you know which specific match needs deeper detail.
  • Keep the match identifier as the bridge between lightweight and heavyweight cricket data paths.

Response highlights

  • Match-list payloads usually emphasize id, teams, status, and summary-friendly fields.
  • Scorecard payloads usually emphasize innings, batting, bowling, and deeper match context.
  • Many products need both response shapes, but not at the same time or with the same refresh cadence.

Operational notes

  • Model match-list fetches and scorecard fetches as separate code paths.
  • Cache the lighter list flow differently from the heavier detail flow.
  • Do not force every widget or list page to fetch full scorecards when summaries are enough.

Implementation checklist

  • Start by rendering one live match list end to end.
  • Persist a known match ID from the list response before building scorecard detail screens.
  • Choose different refresh cadences for listings and scorecards based on product need.
  • Use the cricket docs and solution pages to keep UI depth aligned with the actual payload you fetch.
Code examples

Visible integration examples

curl

curl -s -H "x-api-key: YOUR_API_KEY" "https://novadatahub.com/api/cricket/matches?status=live&limit=5"

Python

import requests
matches = requests.get('https://novadatahub.com/api/cricket/matches', params={'status': 'live', 'limit': 5}, headers={'x-api-key': 'YOUR_API_KEY'}, timeout=60).json()
match_id = matches['matches'][0]['id']
scorecard = requests.get(f'https://novadatahub.com/api/cricket/match/{match_id}/scorecard', headers={'x-api-key': 'YOUR_API_KEY'}, timeout=60).json()
print(match_id, scorecard.keys())

C# HttpClient

using System.Net.Http.Json;
using System.Text.Json;
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var matches = await http.GetFromJsonAsync<JsonElement>("https://novadatahub.com/api/cricket/matches?status=live&limit=5");
var matchId = matches.GetProperty("matches")[0].GetProperty("id").GetString();
var scorecard = await http.GetFromJsonAsync<JsonElement>($"https://novadatahub.com/api/cricket/match/{matchId}/scorecard");
Console.WriteLine(scorecard.ToString());

Sample JSON response

{
  "ok": true,
  "matches": [
    { "id": "12345", "teams": ["IND", "AUS"], "status": "Live" }
  ],
  "scorecard": {
    "match": { "id": "12345" },
    "innings": [
      { "team": "IND", "runs": 187, "wkts": 4 }
    ]
  }
}
Related resources

Move from reference docs into the next relevant workflow

Cricket Scores API docs

Open the live-match reference page that feeds this workflow.

Open docs

Cricket scorecard docs

Open the detailed scorecard reference page for the second half of the workflow.

Open docs

Live cricket scores solution

See how list-style cricket data fits widgets and score surfaces.

Open use case

Cricket widget API

Compare compact widget use cases against deeper scorecard use cases.

Open use case
Related links

Continue with connected pages