Why isn't Yelp returning all of the results?

The API doesn't return the correct "total" number of results available. Try loading https://api.yelp.com/v3/businesses/search?limit=20&offset=330&term=childcare&location=NY - this is the last page of results I was able to find, at offset 330. If you change the offset to 350, no businesses will be returned.

Seems like you'll have to scan through the list from the front until you stop getting businesses back in your results since the total is unreliable.