Skip to content

[google] browser results return encrypted /goto URLs with domain google.* — unusable for rank tracking #53

Description

@konlyzx

Google results return encrypted /goto URLs instead of direct links

Version: karust/openserp:latest pulled 2026-09-28 (API reports meta.version: "2.1")

What I did

docker run -d --name openserp --restart unless-stopped -p 127.0.0.1:7000:7000 karust/openserp:latest serve -a 0.0.0.0 -p 7000
curl "http://127.0.0.1:7000/google/search?text=seoptimer&limit=20&lang=ES&region=ES&features=false"

What I got

Every organic result looks like this — encrypted redirect URL, domain is google.es, display_url is google.es › goto:

{
  "rank": 1,
  "type": "organic",
  "title": "...",
  "url": "https://www.google.es/goto?url=CAESWAHrOzAVpFXxDsVNoqe1v8jrAP-E8voZNDQ",
  "display_url": "google.es › goto",
  "domain": "google.es"
}

Same behaviour with lang=ES/region=ES, with and without features, cached or fresh (took_ms 4600+ on fresh). /bing/search for the same query returns direct URLs + real domains, so only the Google parser path is affected.

Why it matters

Domain-based rank tracking is impossible: there is no way to tell which result belongs to which site. The opaque url= token does not decode to the target (tried base64url — binary protobuf-ish payload, 97 bytes).

Question

Is this a known parser drift with Google's current markup, a consent/redirect artifact of datacenter IPs, or is there a flag (raw mode? query param?) to get direct result URLs out of the Google engine? Happy to provide full responses / test other params.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions