Runs one product search each week and writes a row per result - price, seller, delivery, rating - to your sheet.

UsesGoogle SheetsSerper

Turn a shopping search into a price sheet

ScheduleRun every 7 days.Run every 7 days.
ValuesSet searchQuery to blank.Set searchQuery to blank.
ValuesSet spreadsheetUrl to blank.Set spreadsheetUrl to blank.
ValuesSet sheetName to blank.Set sheetName to blank.
ValuesSet countryCode to blank.Set countryCode to blank.
ValuesSet maxProducts to 20.Set maxProducts to 20.
Google SheetsGoogle SheetsRead the rows of spreadsheetUrl. Save it as sheet.Read the rows of spreadsheetUrl. Save it as sheet.
ValuesSet sheetHeaders to sheet.headers.Set sheetHeaders to sheet.headers.
Decisions & LoopsIf sheetHeaders is emptyIf sheetHeaders is empty
Yes
Google SheetsGoogle SheetsAdd a row to sheetName in spreadsheetUrl.Add a row to sheetName in spreadsheetUrl.
No
No steps
SerperSerperSearch Google Shopping for searchQuery. Save it as search.Search Google Shopping for searchQuery. Save it as search.
ValuesSet products to search.products.Set products to search.products.
ValuesSet addedCount to 0.Set addedCount to 0.
ValuesSet noPriceCount to 0.Set noPriceCount to 0.
Decisions & LoopsFor each product in products:For each product in products:
Decisions & LoopsIf addedCount multiplied by 1 is greater than or equal to maxProducts multiplied…If addedCount multiplied by 1 is greater than or equal to maxProducts multiplied…
Yes
Decisions & LoopsStop repeating.Stop repeating.
No
No steps
Decisions & LoopsIf a step below fails, save the error as productErrorIf a step below fails, save the error as productError
Try
TextTrim product.title and save it as productTitle.Trim product.title and save it as productTitle.
Decisions & LoopsIf productTitle is nullIf productTitle is null
Yes
ValuesChange productTitle to blank.Change productTitle to blank.
No
No steps
Decisions & LoopsIf productTitle is emptyIf productTitle is empty
Yes
ValuesShow in the output: Skipped a shopping result that came back without a product name..Show in the output: Skipped a shopping result that came back without a product name..
No
TextTrim product.price and save it as priceAsListed.Trim product.price and save it as priceAsListed.
Decisions & LoopsIf priceAsListed is nullIf priceAsListed is null
Yes
ValuesChange priceAsListed to blank.Change priceAsListed to blank.
No
No steps
TextTrim product.source and save it as seller.Trim product.source and save it as seller.
Decisions & LoopsIf seller is nullIf seller is null
Yes
ValuesChange seller to blank.Change seller to blank.
No
No steps
TextTrim product.delivery and save it as delivery.Trim product.delivery and save it as delivery.
Decisions & LoopsIf delivery is nullIf delivery is null
Yes
ValuesChange delivery to blank.Change delivery to blank.
No
No steps
TextTrim product.rating and save it as rating.Trim product.rating and save it as rating.
Decisions & LoopsIf rating is nullIf rating is null
Yes
ValuesChange rating to blank.Change rating to blank.
No
No steps
TextTrim product.rating_count and save it as reviews.Trim product.rating_count and save it as reviews.
Decisions & LoopsIf reviews is nullIf reviews is null
Yes
ValuesChange reviews to blank.Change reviews to blank.
No
No steps
TextTrim product.link and save it as link.Trim product.link and save it as link.
Decisions & LoopsIf link is nullIf link is null
Yes
ValuesChange link to blank.Change link to blank.
No
No steps
ValuesSet priceValue to blank.Set priceValue to blank.
Decisions & LoopsIf priceAsListed isn't emptyIf priceAsListed isn't empty
Yes
TextExtract the first number from priceAsListed and save it as priceValue.Extract the first number from priceAsListed and save it as priceValue.
No
ValuesAdd 1 to noPriceCount.Add 1 to noPriceCount.
Google SheetsGoogle SheetsAdd a row to sheetName in spreadsheetUrl.Add a row to sheetName in spreadsheetUrl.
ValuesAdd 1 to addedCount.Add 1 to addedCount.
On error
ValuesShow in the output: Skipped a shopping result that could not be read: productError as text.Show in the output: Skipped a shopping result that could not be read: productError as text.
Decisions & LoopsIf addedCount multiplied by 1 is 0If addedCount multiplied by 1 is 0
Yes
ValuesShow in the output: The search for '@searchQuery' returned nothing that could be written, so no rows were added.Show in the output: The search for '@searchQuery' returned nothing that could be written, so no rows were added.
No
ValuesShow in the output: Wrote addedCount as text products to the '@sheetName' tab. noPriceCount as text of them were listed without a price, so their price columns are empty.Show in the output: Wrote addedCount as text products to the '@sheetName' tab. noPriceCount as text of them were listed without a price, so their price columns are empty.