Skip to main content
Question

3 problems with apify/json/loop within automated zap

  • October 7, 2025
  • 4 replies
  • 25 views

Hello everyone,
I’m currently trying to create a Zap that will automate future competitor analyses.

Here’s how the process should work:

  1. Zapier triggers a run on Apify (junglee/free-amazon-product-scraper).

  2. The data generated by Apify (JSON) should then automatically be transferred into a prepared Google Sheets table.

However, I’m running into several issues:

 

🧩 Problem 1: OOM Error during Apify Run
When I start the actor via Zapier, I regularly get the following error message:

“The Actor hit an OOM (out of memory) condition.”
If I run the same actor directly in Apify, everything works perfectly.

  • Has anyone experienced why Apify tends to hit a memory limit more often when triggered via Zapier?

  • Is there any way to increase the memory allocation or bypass the timeout within the Zapier context?

  •  

📊 Problem 2: Preparing the JSON File for Google Sheets
I want to format Apify’s JSON output so that it automatically fits into my existing Google Sheets structure.
At the moment, I’m using:

  • Fetch Dataset Items (Apify)

  • Create Loop From Line Items (Zapier)

  • then Lookup Spreadsheet Row (Google Sheets)

Questions:

  • Is this combination generally sufficient to cleanly transfer data into Google Sheets?

  • Or do I need an additional step / other steps to transform the JSON structure?

 

🔁 Problem 3: Setting up “Create Loop From Line Items” correctly
I’m not sure how to configure the “Create Loop From Line Items” step properly.

  • Which fields should I reference here (e.g. from the Apify dataset)?

  • Do I need to specify a separate field for each object in the JSON, or can I pass the entire list?
    An example (or screenshot) of a correctly configured step would be extremely helpful.

 

🎯 Goal
In the end, the Zap should automatically:

  • start the Apify actor,

  • fetch the results,

  • and write the data line by line into my Google Sheet.

 

I’d really appreciate any tips, best practices, or example Zaps from anyone who has implemented something similar.

Thanks in advance 🙏

 

Here a screenshot of the created zap:

 

4 replies

Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • 34066 replies
  • October 7, 2025

Hi ​@intelligent_justification 

Apify help links for using Apify in Zaps: https://docs.apify.com/platform/integrations/zapier

 

If Apify is returning RAW JSON, then you can convert it using a Zap Code step: 

 

Help links for using Looping Zap app: https://zapier.com/apps/looping/integrations#help

Limit of 500 iterations.


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • 9721 replies
  • October 10, 2025

Hey ​@intelligent_justification 👋 How did you get on with Troy’s suggestion - did a Code step do the trick?

Let us know if you still need any help!


Thanks ​@Troy Tessalone  - I tried it but I still have the problem with Apify and the time out there - means that the Flow doesn’t manage to start an apify crawler succesfully.
So if I can get more help from you ​@SamB - that would be awesome. At the moment I paused contiunuing the flow.


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • 9721 replies
  • November 6, 2025

Happy to lend a hand here ​@intelligent_justification! 🙂

With the Run Actor action that’s getting that “The Actor hit an OOM (out of memory) condition” error, does it have No or Yes selected for the Run synchronously field?

If it’s got Yes selected then that might be why it’s erroring 🤔 In which case can you change it to No and see if that then allows the action to run successfully?

With the screenshot of the Paths action (step 7) it looks like you’re comparing a value that’s in step 2 against what’s in step 5. I expect you’d want it to be comparing against a value supplied by the Looping action (step 4), not step 2 to ensure that the line item information passed to the loop from the Fetch Dataset Items action (step 3) is being compared against what was found in step 5. So for step 4, you’d map any line item values that you’d want to have accessible to actions within the loop. You can learn more about how to work with looping actions here: Loop your Zap actions

Give that a try and keep me posted on how it goes.