Paging
page or cursor, per_page, and walking a long list politely.
Endpoints that return lists page them. Ask with page (from 1) and per_page (1 to 100, default 50), or follow a cursor. If both are sent, page wins.
{"data": [ ... ], "meta": {"count": 50, "next_cursor": "Y2RiOnAy", "page": 1, "per_page": 50, "total": 919, "total_pages": 19, "next_page": 2, "prev_page": null}}
A first call gives the whole picture: total, total_pages and the pages either side. Matches and innings come newest first, so page 1 is always the latest.
Walking a long list
Pass next_cursor back as cursor until it comes back null. A cursor call returns only count and next_cursor, which keeps later pages quick. Each page is one call against your daily quota, so a larger per_page costs fewer calls; filters (a year, a format, a competition) keep lists short.