Google's "poisoned" result pages look like a successful scrape: no error, no captcha, but empty, cut-off or unrelated results. This recipe sets up A-Parser's SE::Google so that a rank check finishes, and sorts every keyword into FOUND, NOT_FOUND or FAILED. The key rule: an empty or cut-off page is a failed measurement, never "your site is not in the results". Without that rule, a bad page looks like a lost position.
It comes as a ready addTask body (task-body.example.json) and a Python wrapper that sends it, waits, parses the result, retries the failed keywords and prints the table. In the author's test of 2026-11-12 (6 keywords x 8 runs against a browser in the same city, mobile), 83 % of the measurements were good with a proxy pool from the same country as the search, and the mean position error inside the browser's top 5 was 2 places. A measurement counted as good if it did not fail and at least 7 of the 10 domains matched the browser. That is the best case of one setup on one date; the section on accuracy has the other numbers.