Google has put another obstacle between a search result and the website behind it. Its /goto links already hide destination URLs behind opaque tokens. Now, opening those links in quick succession can trigger a verification screen that makes the requester wait before Google reveals the address.
For services collecting thousands of results, the search page can arrive before usable URLs. Waiting for redirects slows the pipeline. Returning Google wrappers passes that work to the customer.
Researchers documented the growing delays on October 30. We captured the waiting screen and tested 10 SERP API providers on November 2, comparing their returned URLs and response times. On November 6, with /goto incidents open on provider status pages, we repeated the run for all 10 providers. That day Google’s raw HTML wrapped 145 of 151 organic title links. SearchApi returned wrappers on nineteen of its twenty pages and SERPHouse on all twenty, after both had returned direct organic URLs on November 2.
From hidden URLs to delayed redirects
Google confirmed its /goto rollout on August 26, describing it as a measure against abuse. A result could still show a familiar title and domain while its clickable address led to google.com/goto.
An ordinary redirect exposes the destination in a Location header. In the October tests, Google sometimes returned a verification page and delayed access to the URL.
RESONEO tested links from 21 US and French results pages, opening them in bulk and at two-second intervals. Its researchers observed direct redirects for the first four to eleven opens, followed by increasing waits. Pacing the requests almost removed the delay. Three minutes after collection, the same links redirected immediately.
What the verification wait looks like
Google displayed a verification page with Continue disabled. The button later turned blue and let the browser proceed.
We sent parallel HTTP requests to six /goto links from a fresh results page. Four returned verification pages without a destination URL and two redirected. On a recheck about two minutes later, all six redirected.
Which APIs returned direct URLs
We compared 12 API modes from 10 providers on November 2, including our HasData Full and Light APIs and Scrapingdog Standard and Advanced. The comparison uses twenty completed responses per mode, for 240 responses in total.
HasData Light returned 171 organic URLs without /goto at a 1.402-second median. Full returned 146 at 2.211 seconds. SearchApi, Serper, ScrapingBee, SERPHouse, Cloro and Scrapingdog Standard returned no primary organic wrappers either.
We counted /goto in each result’s primary organic URL field. Median and P95 measure the complete API response, including network time and excluding follow-up URL resolution.
| API | Completed searches | Organic URLs | /goto URLs | Median | P95 |
|---|---|---|---|---|---|
| HasData Light | 20 | 171 | 0 | 1.402 s | 5.082 s |
| SerpApi | 20 | 158 | 96 | 2.017 s | 5.923 s |
| HasData Full | 20 | 146 | 0 | 2.211 s | 5.64 s |
| Serper | 20 | 173 | 0 | 2.872 s | 4.004 s |
| SearchApi | 20 | 158 | 0 | 3.326 s | 7.488 s |
| Scrapingdog Standard | 20 | 174 | 0 | 4.008 s | 11.357 s |
| Bright Data | 20 | 153 | 105 | 4.201 s | 59.278 s |
| ScrapingBee | 20 | 148 | 0 | 4.431 s | 7.192 s |
| Scrapingdog Advanced | 20 | 155 | 96 | 5.586 s | 9.288 s |
| Oxylabs | 20 | 144 | 14 | 6.372 s | 14.644 s |
| Cloro | 20 | 152 | 0 | 7.552 s | 17.145 s |
| SERPHouse | 20 | 154 | 0 | 8.595 s | 19.589 s |
SerpApi returned 96 wrappers among 158 organic URLs, affecting 19 of its 20 searches. Its 2.017-second median excludes the work needed to resolve those links.
Bright Data returned 105 wrappers among 153 organic URLs, with at least one in every completed search. Its median was 4.201 seconds. Oxylabs returned fourteen wrappers across three searches. For web scraping api, all seven organic URLs in its response pointed to /goto.
Why checking only the first few links can miss the problem
SerpApi returned direct URLs for all sixty organic results at positions one through three. At position four and below, 96 of 98 links remained /goto.
In six no_cache=true requests, the first eighteen organic links were direct. Beyond position three, 31 of 33 remained /goto.
Oxylabs returned six wrappers among its sixty links at positions one through three. Scrapingdog Advanced returned wrappers at the top of results, while Standard returned none in its primary organic URL fields.
Scrapingdog Standard returned 174 organic URLs without wrappers at a 4.008-second median. Advanced returned 96 wrappers among 155 URLs at a 5.586-second median.
Organic URLs and AI citations can behave differently
AI citations can still contain /goto when organic result links are direct.
ScrapingBee returned 148 primary organic URLs without /goto, but sixteen wrapper occurrences remained elsewhere, fifteen in AI Overview references and one in a knowledge-graph link.
SearchApi’s Google documentation offers link=resolved for encrypted links beyond its automatic organic URL recovery. In six requests with that setting, two AI Overview references for best CRM software still contained /goto.
Cloro returned direct primary links and kept the original redirects in a separate field. Its standalone resolver costs one credit per successful resolution.
Which APIs still returned /goto links on November 6
Four days after the test the wrappers were still in Google’s HTML, and providers kept reporting resolution problems. SerpApi’s status page listed /goto links in its organic_results field as an open incident from November 3. ScraperAPI’s status page didn’t close its October 30 notice on /goto resolution and marked the API itself degraded from 09:34 UTC on November 6.
We repeated the November 2 run on November 6. The raw Google HTML behind the twenty HasData Full responses carried /goto on 145 of 151 organic title links, at every position from one to nine. Six weren’t wrapped.
| API | Completed searches | Organic URLs | /goto URLs | Median | P95 |
|---|---|---|---|---|---|
| Serper | 20 | 185 | 0 | 1.359 s | 1.966 s |
| HasData Light | 20 | 169 | 0 | 2.05 s | 5.247 s |
| HasData Full | 20 | 151 | 0 | 3.075 s | 5.506 s |
| SerpApi | 20 | 147 | 102 | 3.683 s | 7.011 s |
| Scrapingdog Standard | 20 | 169 | 0 | 4.012 s | 12.456 s |
| Bright Data | 20 | 168 | 115 | 4.34 s | 58.954 s |
| Cloro | 20 | 148 | 0 | 4.942 s | 14.428 s |
| SearchApi | 20 | 157 | 98 | 5.309 s | 11.613 s |
| Scrapingdog Advanced | 20 | 156 | 124 | 5.589 s | 9.452 s |
| SERPHouse | 20 | 152 | 98 | 7.269 s | 9.419 s |
| ScrapingBee | 20 | 158 | 2 | 32.639 s | 46.54 s |
| Oxylabs | 20 | 143 | 3 | 41.415 s | 52.216 s |
Serper, Cloro and both HasData modes returned every primary organic URL direct, as on November 2. Cloro kept the original /goto redirect in redirectLink beside 142 of its 148 organic results, and 47 more in its local, knowledge-graph and people-are-saying blocks. Serper’s median fell from 2.872 to 1.359 seconds and Cloro’s from 7.552 to 4.942, while both HasData modes were under a second slower than on November 2.
On November 6 SearchApi returned 98 wrappers among 157 organic URLs, on nineteen of the twenty pages, and SERPHouse returned 98 among 152, on all twenty. On November 2 they didn’t return any. SearchApi wrapped nine of its twenty position-one results and SERPHouse eleven. SearchApi’s median rose from 3.326 to 5.309 seconds, and SERPHouse’s fell from 8.595 to 7.269. SearchApi’s responses also carried /goto in 85 perspectives links, 73 AI Overview references and 57 video key-moment links.
SerpApi returned 102 wrappers among 147 organic URLs, on every one of the twenty pages, against 96 among 158 on nineteen pages on November 2. The wrappers moved up. On November 2 they started at position four. On November 6 five of the twenty position-one results were wrappers, and fourteen of the twenty at position three. Its median rose from 2.017 to 3.683 seconds. Outside the primary field, its responses carried /goto in 98 about-this-result source links, 71 perspectives links, 51 read-more links and 34 video key-moment links.
Scrapingdog Standard again returned every primary organic URL direct, 169 of them at a 4.012-second median, against 174 and 4.008 seconds on November 2. Advanced returned 124 wrappers among 156 URLs on all twenty pages at a 5.589-second median, against 96 among 155 and 5.586 seconds on November 2.
On all twenty Bright Data pages, 115 of 168 organic URLs were wrappers, against 105 of 153 on November 2. Its median rose from 4.201 to 4.34 seconds, and its P95 didn’t move much, 58.954 seconds against 59.278.
Oxylabs went the other way, with three wrappers among 143 organic URLs, all in the github search at positions one to three, against fourteen in three other searches on November 2. Its AI Overview references carried 36 more. Its median rose from 6.372 to 41.415 seconds, and its slowest response took 57.683 seconds.
ScrapingBee had returned 148 direct URLs on November 2. On November 6 two of its 158 organic URLs were wrappers, at position two in the openai search and position three in amazon, and the other eighteen pages had none. Another 38 were outside the primary field, 25 in AI Overview references, five in top stories, four in knowledge-graph profile links and four in organic sitelinks. Its median rose from 4.431 to 32.639 seconds, and its P95 from 7.192 to 46.54.
A provider with direct primary URLs on one day can return wrappers four days later. Of the eight modes with no primary wrappers on November 2, SearchApi and SERPHouse returned them on November 6, and ScrapingBee returned two among 158. Of the four that returned them on November 2, SerpApi and Scrapingdog Advanced wrapped a larger share of their primary URLs on November 6, Bright Data went from 68.6% to 68.5%, and Oxylabs fell from 9.7% to 2.1%.
What this means for search-data pipelines
If your pipeline stored rows during that week, recheck them. The sample you took when you chose the API doesn’t cover a change like this. Check the URL fields your crawler or agent uses, including AI citations, and repeat the check on live batches. Include follow-up redirects when comparing how long it takes to obtain usable URLs.
Try the Google SERP API with your own queries and inspect the URLs your crawler or agent needs.
How we tested
On November 2 we collected first-page US English results for twenty fixed queries covering brands, commercial searches, local services and informational topics. We targeted New York where supported and used documented desktop or default settings.
We sent requests one at a time to each provider, with a 150-second client timeout. We didn’t control providers’ caches or synchronize their Google fetches.
On November 6 we repeated the run for all twelve modes with the same queries, parameters and classification. We also fetched the raw Google HTML that each HasData Full response links in requestMetadata.html and counted /goto in the organic title links, the anchors wrapping each result’s <h3>.
We calculated P95 by nearest rank for both runs.


