Website Logo
/ blog / brisbanes-best-restaurants-2025

Brisbane's Best Restaurants - 2025

A few weeks ago I read this fantastic blog post which detailed how to download review data from the Google Places API, and use it to find the "Best Restaurants" in your town. They also:

As someone who is:

This falls right into the intersection of things I like.

So as the remnants of tropical cyclone Alfred turn Brisbane into a flooded swamp this weekend and keep me indoors, I thought I'd adapt Matt's analysis of his home town of Colorado Springs to my hometown of Brisbane.

A screenshot of a comment on hackernews saying this has already been done.

Here is a tirimisu this work has already found me. Worth it.

Hasn't this already been done?

A screenshot of a comment on hackernews saying this has already been done.

Yeah - badly. This website does this for every city in the world. It's also not entirely clear how it's rating them. According to that website, the number one place in Brisbane is a random training facility 6km from the city, and it's definitely not doing anything fancy with Wilson Score intervals like Matt's analysis was. I'd rather make my own list.

What do you mean by "Best Restaurant in Brisbane"?

I just mean a vague list of good restaurants. The problem is that: "Best", "Restaurant", and "Brisbane" are all subjective. Does "best" mean best for me, or best for the average person? Is a burger better than ramen, or are they just different? This comment on the original post sums it up nicely:

A comment about customer entitlement.

Let's just admit to ourselves right now that defining a "Best Restaurant" is actually impossible, and that "A list of good restaurants" is fine, because the whole goal is really to uncover hidden gems, and it'll still help me unearth hidden gems.

Also, it's about the journey, not the destination! Right?!

The Data

Here is Brisbane with a 15km radius circle overlaid. I live centrally, so this includes everything I might want to drive to. I attempted to scrape all the restaurant data in this area.

A screenshot of Google Maps with a 15km radius circle around it.

I heavily modified the script, and ran it on Brisbane. Modifications were needed to:

  1. Change the location from Colorado Springs to Brisbane.
  2. Change "rankPreference": "DISTANCE" to "rankPreference": "POPULARITY" so if we're going to drop restaurants (due to a 20 restaurant limit per API call), we're at least dropping the less popular ones.
  3. Some tweaking for sub-query sizes so that I don't make too many, blasting me out of the free tier, and I don't make too few, dropping loads of restaurants.

This was actually not an easy process, and I have a lot of feelings about Google Cloud Platform (GCP) and the Maps API after doing this, so feel free to read my rant about those in this post here.

Findings

I find that it's always useful to visualise some general statistics about your dataset before doing what you actually want, because it helps you 'get a feel for it'. In that vein, here is a histogram of average restaurant ratings in Brisbane:

A histogram showing the number of restaurants with each review ratings. The mean is 4.2. The mode is clearly 4.5.

So if you were ever wondering what the average rating was in Brisbane, it's 4.2. Let's also see roughly how many reviews restaurants have:

A histogram showing the number of reviews a restaurant would typically have. The mode is roughly 200. The mean is 348.

So if you're a restaurant owner, having more than 348 reviews makes you better than average!

Let's show all of Brisbane's restaurants on a single plot:

That's a lot of restaurants! Here you can see the dense mass of average restaurants, (and I'm sure some great ones too), but what I'm most interested here, are the restaurants with the most reviews for each rating level. Mouse over the points on the plot to take a look for yourself.

Interestly, as you move down the scale from the best to the worst Brisbane has to offer, you maybe start to notice a pattern. May I present what I call: "The 4 horsemen of the Brisbane restaurant scene":

A four panel winnie the pooh meme, ordered from fanciest to least fancy. It is captioned: 'Establishments with the word 'hotel' in them.', 'McDonalds', 'KFC', 'Anything at the domestic airport terminal'.

Intuitively this makes sense. Airports tend to abuse their captive audience, and that's not conducive to being reviewed positively.

However, we can go a step further here, and with the power of computer, we can show these four group on the same chart! (with Subway for scale.)

The last thing I wanted to try, was to try using the Wilson Score to find "best restaurants" using the number of reviews as a sort of 'confidence' in the rating, and then using the lower bound of that confidence as the score. I made a table with a slider that lets me change the parameter that controls how much confidence each review adds. I also added the ability to switch it to "worst restaurants" too, in which I use the upper bound of the confidence interval instead of the lower one. This is useful for searching for the funniest Google reviews. Here is the table in action:

BestWorst
Rating More ImportantNum Reviews More Important
#NameRatingReviewsScore
1Ach Wine Bar5.0314100.0
2Dino Food & Drink5.013998.5
3Pera Kitchen5.013498.4
4KatsuCo Toowong4.9120298.2
5Antica4.9107698.2
6BeeJay's Home Kitchen5.011698.0
7Piccolo Ristorante4.970697.9
8À la Bonne Franquette5.011197.8
9Dicki's New Farm4.962397.8
10Clayfield Cantina5.010697.7
11Authentic Chargrill & Kebab4.953597.6
12Mr Bill's Vietnamese Canteen4.952397.6
13La Cache à Vín4.951897.6
14RUSTICHELLA Pasta Bar4.951097.6
15Italia Lane4.948197.5
16KatsuCo Coorparoo4.947597.5
17Adda @ Oxford - Soulful Indian Cuis...4.942597.4
18Vega cafe4.942197.3
19Wine & Larder4.936197.1
20Fumiki's 鮨割烹ふみき5.09197.1
21Tasty Rumour Sunnybank4.934797.1
22The Ukrainian Club Brisbane (Ukrain...4.929496.8
23D.vino Italian Restaurant & Wine Ba...4.928496.8
24STEVE KIM’S FOOD | MILTON(Pasta Piz...4.926396.7
25Arhibu Restaurant4.925296.6

There were a number of other things we looked at, and wished we could look at while playing with this data. Let's take a look at some of those:

Restaurant Chains

Brisbane has a lot of different restaurant chains, but which ones are best? How many stores do each chain have? How well are they rated? Well let me answer that for you.

A bar graph showing the ratings of all the chains in Brisbane, along with the standard deviation and number of stores.

Cuisine

Something else I would have liked to add as a filter in the "Best Restaurants" table is cuisine, so I can ask "What is the best Indian restaurants in Brisbane?" but we run into some limitations here.

Aproximately half of all the restaurants don't have cuisine data associated with them. I think Google can attempt to guess the cuisine, but relies on business owners to actually add it to their business manually on Google. Naturally, many business owners who would rather cook food than do marketing simply don't do this, and you have restaurants called: "Bob's Vietnamese Shop" in the category of "Restaurant", not "Vietnamese Restaurant". Adding filters for cuisine would filter out any of these un-categorised restaurants, so I decided to give it a miss.

It would be somewhat interesting to pump the list of thousands of restaurant names through an LLM and have it attempt to categorise the cuisine though.

Pricing

Similarly, I think the pricing information for restaurants is collected from user ratings, and user submissions of price data. Consequently, restaurants without lots of reviews just have no price guide, so filtering to include only inexpensive restaurants will give you a limited subset of restaurants than you might expect to see.

To show what I mean, here is what pricing category restaurants belong to:

A bar graph showing how many restaurants belong to each of the 4 price levels, and how many are uncategorised. The largest bar is uncategorised.

As you can see, most restaurants don't have a pricing category. Again, we're stuck.

Seeing this, you might think: "Wow, there are only 4 VERY expensive restaurants in Brisbane? What an exclusive club! What are they?". What a great question from a remarkably intelligent - and good looking - reader, they are:

The data I wish I could have

The visualisation I really wish I could make is some sort of "Brisbane's Best Restaurants Over the Years". Currently our table succumbs to this problem:

"What if a Restaurant was really good in 2024, and has only good reviews, and then changes owners and drops in quality."

Just looking at ratings and number of ratings doesn't give us any information about this, but if I knew the exact time of each review, you could use something like the Glicko Rating System to create a leaderboard to view the best restaurants at any time in the past. Google intentionally makes it hard to get their precious user-generated content back out of their system and as such, it's impossible to get the exact timestamp of reviews out of Google (both legally and via scraping - yes I checked), even though they have it.

If there was one extra piece of data I could get from Google, it would be a list of ("rating", "time") values for every review for every restaurant.


If you want a quick and handy link to save with only the best restaurants table, go here.