{
  "name": "Zillow property scraper by location via Bright Data & Google Sheets",
  "nodes": [
    {
      "id": "3ac2c390-45ef-4c40-99ba-7c41e387f88c",
      "name": "📝 Form Trigger - Start Property Search",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -2040,
        620
      ]
    },
    {
      "id": "e8976089-8572-45f0-b895-3517bf157801",
      "name": "📤 Trigger Bright Data Scraping Job",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1800,
        620
      ]
    },
    {
      "id": "1a3a3572-b249-4ca0-9b18-0fc2341aea93",
      "name": "Form Submission Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        545
      ],
      "parameters": {
        "width": 180,
        "height": 240,
        "content": "Starts workflow when user submits location & category via form"
      }
    },
    {
      "id": "902fe79f-8373-4a17-9e6a-a8449bcd48f5",
      "name": "API Trigger Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1850,
        545
      ],
      "parameters": {
        "width": 200,
        "height": 240,
        "content": "Sends search request to Bright Data API to trigger Zillow data scraping"
      }
    },
    {
      "id": "eea4519d-eaca-4bba-b31b-67c12bdd943b",
      "name": "Status Check Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1610,
        545
      ],
      "parameters": {
        "width": 200,
        "height": 240,
        "content": "Monitors scraping job status and waits for completion"
      }
    },
    {
      "id": "0992cf05-aa2c-449f-af0f-c4cbd4cb340d",
      "name": "⏳ Check Scraping Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1560,
        620
      ]
    },
    {
      "id": "ce4357aa-e6de-4082-8cef-7cb3aa9727a2",
      "name": "Wait Timer Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1140,
        660
      ],
      "parameters": {
        "width": 220,
        "height": 220,
        "content": "Waits 1 minute before rechecking scraping job status"
      }
    },
    {
      "id": "5be9e5cb-57d3-47db-ba39-543799a1ecad",
      "name": "⏱️ Wait Before Retry",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1100,
        720
      ]
    },
    {
      "id": "60878135-aa34-4b71-98ca-ac9dccc6b7e9",
      "name": "Data Validation Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1140,
        420
      ],
      "parameters": {
        "width": 220,
        "height": 220,
        "content": "Validates if property data was found in scraping results"
      }
    },
    {
      "id": "4b6df4c2-c72a-4a29-8077-17332184a038",
      "name": "Data Retrieval Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        400
      ],
      "parameters": {
        "width": 220,
        "height": 220,
        "content": "Retrieves the actual property data using snapshot ID"
      }
    },
    {
      "id": "fc1fcdd3-f3cf-43aa-ac63-bfc5270b3663",
      "name": "📥 Fetch Property Listing Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -820,
        460
      ]
    },
    {
      "id": "b980cf99-85cc-4dd9-9c41-405f20e45827",
      "name": "Google Sheets Save Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        400
      ],
      "parameters": {
        "width": null,
        "height": 220,
        "content": "Saves the scraped property data to your Google Sheet"
      }
    },
    {
      "id": "a9daf529-3b67-4f07-8d55-95af66861baf",
      "name": "📄 Save Property Data to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -600,
        460
      ]
    },
    {
      "id": "74062322-6e62-40d6-8876-dada77a319fc",
      "name": "✅ Check If Scraping Complete",
      "type": "n8n-nodes-base.if",
      "position": [
        -1320,
        540
      ]
    },
    {
      "id": "25326b0a-7fb3-4ee5-9d6a-56c2d1d4cf41",
      "name": "📊 Validate Property Data Exists",
      "type": "n8n-nodes-base.if",
      "position": [
        -1080,
        480
      ]
    },
    {
      "id": "3a7c4645-e5e9-4feb-8635-0953b6ae6a6a",
      "name": "Google Sheet Template Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        300
      ],
      "parameters": {
        "width": 280,
        "height": null,
        "content": "Sample Google Sheet Template:\nhttps://docs.google.com/spreadsheets/d/SAMPLE_SHEET_ID/edit\n\nMake a copy and update the workflow with your Sheet ID"
      }
    }
  ],
  "connections": {
    "⏱️ Wait Before Retry": {
      "main": [
        [
          {
            "node": "⏳ Check Scraping Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "⏳ Check Scraping Job Status": {
      "main": [
        [
          {
            "node": "✅ Check If Scraping Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "✅ Check If Scraping Complete": {
      "main": [
        [
          {
            "node": "📊 Validate Property Data Exists",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "⏱️ Wait Before Retry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📥 Fetch Property Listing Data": {
      "main": [
        [
          {
            "node": "📄 Save Property Data to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📊 Validate Property Data Exists": {
      "main": [
        [
          {
            "node": "📥 Fetch Property Listing Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📤 Trigger Bright Data Scraping Job": {
      "main": [
        [
          {
            "node": "⏳ Check Scraping Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "📝 Form Trigger - Start Property Search": {
      "main": [
        [
          {
            "node": "📤 Trigger Bright Data Scraping Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}