# Changelog of Yelp Ultimate Scraper ($0.75/1000 results) (`api-ninja/yelp-ultimate-scraper`) Actor

- **URL**: https://apify.com/api-ninja/yelp-ultimate-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/api-ninja/yelp-ultimate-scraper.md

## Changelog

### 2026-10-12

- **Missing-business records for reviews and menus:** The provider's known missing-business response now produces a billable `not_found` record during the initial review lookup or menu/dishes URL-to-ID lookup. These lookups no longer finish silently without a record for that response.
- **Reviews and menus input limits:** Each reviews or menus/dishes list now accepts up to 5 business URLs or IDs. Longer lists are rejected before any API requests.
- **Duplicate inputs:** Repeated IDs and equivalent business URLs are processed once per input list, reducing unnecessary calls. A business can still be requested in separate lists for different data.
- **Outage protection:** The run stops further API work after five consecutive requests fail despite their applicable retries. Saved results remain available, and provider failures are not billed as missing businesses.
- **Business details input limit:** You can now provide up to 5 business URLs or IDs per run in the Business Profile Details list. Longer lists are rejected before any API requests are made. Split larger lists into runs of up to 5 items.

### 1.0.0 - 2026-10-10

- **Smoother request pacing:** All API requests, including retries, now share a limit of 10 request starts per second and up to 10 requests in flight per run. Requests are spaced evenly, and rate-limit responses automatically pause new requests for the provider's requested wait time.
- **Missing-business results:** When a lookup confirms that a business does not exist, the dataset now includes a `not_found` record with the requested URL or business ID and a clear error message. These records are charged at the same per-item rate as successful results because the lookup still uses API resources.
- **Clearer output:** Missing-business details are visible in the dataset table, making it easier to identify URLs or IDs that need correcting. Successful business, review, and menu records keep their existing format.
- **Faster error handling:** Missing businesses and permanent errors are no longer retried. Temporary connection and service errors are retried up to twice, with increasing delays.
- **Safer failure handling:** Empty responses and unrelated service errors are not charged as missing-business results. API authentication failures stop further requests and end the run with an error.
