From 489a8475dac5f929d5c84cb3ee53b1443901f0b3 Mon Sep 17 00:00:00 2001 From: 0xGhostCasper <125361508+0xGhostCasper@users.noreply.github.com> Date: Mon, 5 Oct 2026 12:13:23 +0300 Subject: [PATCH] docs(lens): product filters now, and exact_matches is 8/10 (SCR-180) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to scrape-badger/scrapebadger#2273. exact_matches went 6/10 -> 8/10 once the retry became a fresh mint rather than a fresh fetch, and product=true now returns only the tiles Google marked buyable (price chip + stock status) from the same grid, with no extra request — it is no longer NOT YET SUPPORTED. Hand-edited because generate.sh builds this facade from this repo's main and not from the OpenAPI spec, so the spec-generated SDKs get this for free and these two never do. Co-Authored-By: Claude Opus 5 --- src/scrapebadger/google/lens.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/scrapebadger/google/lens.py b/src/scrapebadger/google/lens.py index 6d2a138..20756cf 100644 --- a/src/scrapebadger/google/lens.py +++ b/src/scrapebadger/google/lens.py @@ -58,17 +58,19 @@ async def search( ``hl``. When supplied, takes precedence. gl: Native country code (default ``"us"``). hl: Native language code (default ``"en"``). - product: NOT YET SUPPORTED. Accepted for API compatibility - and echoed in the response's ``warnings`` list; it does - not change the results. + product: Return only the tiles Google marked as buyable — + those carrying a price chip and stock status — drawn from + the same grid with no extra request. When the image has + no shoppable matches the full grid is returned and + ``warnings`` says so. visual_matches: Visual matches are the only surface this endpoint serves, so they are always returned. ``False`` is echoed in ``warnings``. exact_matches: Return just the pages hosting this image, each flagged ``exact_match``, instead of the broad visual grid — what a copyright or provenance check needs. Google - exposes this set for most images but not all (6-7 of 10 - in our sampling); when it is unavailable the full grid is + exposes this set for most images but not all (8 of 10 in + our sampling); when it is unavailable the full grid is returned and ``warnings`` says the filter was not applied, so you never have to guess which you got.