Skip to content

[Yelp Search API] organic_results always empty while raw_html_file contains organic listings #3998

Description

@michaelhongbgf

Engine: yelp
Severity: Engine unusable — 100% of fresh searches return zero organic results
Dates observed: 2026-07-06 to 2026-07-07 (ongoing)
Client: google-search-results 2.4.2 (Python)

Summary

Every engine=yelp search returns status: Success with filters, inline_ads, and
pagination correctly parsed — but organic_results is always empty or absent.
The raw_html_file for these same searches contains the organic listings
(~13 unique organic /biz/ links per page), so Yelp is serving complete results
pages and the fetch succeeds. The organic-listing extraction appears broken
against Yelp's current search-results markup.

Reproducible examples (search IDs on our account)

Example 1 — playground search:

Example 2 — fresh search with no_cache=true:

Reproduction matrix (all fresh, no_cache=true)

find_desc find_loc yelp_domain organic_results
restaurants Miami, FL www.yelp.com 0
restaurants Miami, FL (default) 0
Coffee San Francisco, California, United States www.yelp.com 0
Coffee San Francisco, California, United States (default) 0
pizza New York, NY www.yelp.com 0 (+ error "Yelp hasn't returned any results for this query")
fine dining Miami Beach, FL www.yelp.com 0 (+ same error)
restaurants (cflt=restaurants) Miami, FL (default) 0

8+ searches over two days: 0% returned any organic result. filters and
inline_ads parse correctly in every response, so the page structure is
partially recognised — only organic listing extraction fails.

Additional observation (possibly related)

Although search_metadata.yelp_url shows https://www.yelp.com/..., links
inside the served HTML are geo-localised to non-US Yelp domains — ad redirect
URLs reference en.yelp.ch and pagination.next references
en.yelp.com.ph / en.yelp.be / en.yelp.my (varies per request). If the
organic-results parser keys on US-domain-specific markup or URL patterns,
this localisation may be why extraction fails while ads/filters still parse.

Expected behaviour

organic_results populated with the ~13 organic listings demonstrably present
in the raw_html_file of the same search.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions