For local rank tracking, pass the city-level location (coordinates where you have them), not just gl. Pair it with hl and device so the same keyword returns comparable results run to run. And pull up to 100 results per call with the pagination args instead of firing ten separate queries.

Context: Web (Hackernoon SERP benchmark comparison): in their vendor table, Zenserp supports city-level geolocation with coordinates, all languages Google supports, desktop and mobile devices, up to 100 results in a single call plus pagination arguments, and basic custom error codes. If you track local rankings, the city location parameter is what keeps results stable; a bare country gl code gives you generic national results.