Filtering scraped reviews

Hi everybody,

I built a scenario on Make to scrape a venue’s reviews left on Google Maps and save them in a table on Airtable. This is what the overall workflow looks like:

In my use case, upon each scraping I want to be able to scrape the reviews that were left by people only after the latest scraping. I would imagine that it could be possible using some kind of filtering. But I was not able to make that happen. For the record, the dates provided by Google Maps are relative dates (e.g. ‘a month ago’) instead of absolute dates.

Consequently, as of yet, I have the Make scenario delete all the reviews saved on Airtable and then scrape all the reviews that are on Google Maps. The bulk of the reviews are therefore deleted and then retrieved again. Obviously, in terms of efficiency, this is nonsense.

Would any of you guys have a better solution to suggest?

Thanks!

Do you have a table that stores the time of the last run? If so you could update it after every run and refer to it to get the last run time and filter the results that are later than that.

Another option is to see if Google Maps give an ID for the reviews and store those for the reviews you’ve scraped. Then when you get Google reviews, check for the existence of those IDs. If Google doesn’t provide IDs, you could possibly create one yourself using the data in the review (like creating a hash or something like it that would be identical from one call to the next).

As for the dates (“yesterday”, “a month ago”) the only way to know that is that the creation date of the comment is stored somewhere. I see that the API can get the information so maybe the Make Google Maps app can help. It allows you to make an arbitrary API call.

I asked Perplexity and it says this call would help (I didn’t test it):

https://maps.googleapis.com/maps/api/place/details/json?place_id=YOUR_PLACE_ID&fields=reviews&key=YOUR_API_KEY

Let us know,

L

Thanks for your suggestions, @L_Duperval.

I’m not using Google Maps official API because you need to be the owner of the account managing a place to be able to scrape its reviews. Instead, I’m using Google Scraper Reviews API. Consequently, I suggested your two ideas – fetching the creation date or fetching the review ID – to that API’s developer.

1 Like

Hey @JBJ

I see you mentioned that you need to be the owner of the account to managing a place to be able to scrape. Could you please elaborate on this??

As we recently did google profile scraping using official google maps API that gives reviews
with date (you can see the publish time in below image) and all other available information for any google profile.

Regards,
Msquare Automation - Gold Partner of Make

Hi @Msquare_Automation,

Yes, but as is shown in your screenshot, Google’s Places API makes it possible to retrieve only the last 5 reviews.

So if you want to scrape all the reviews of a place on Google Maps, you’re left with using either Google My Business API (but it requires your being the owner of the account managing the place on Google Maps) or any other non-Google scraping API. But in the case of Google Reviews Scraper API, only relative dates are provided in output. That being said, upon my request, the API’s developer has since added review ID to the data output by the API.

If you have any other scraping tool to suggest that would fit my need, I’d be down to try it out.