{
  "name": "Track Redfin real estate listings with ScrapeOps, Google Sheets, and Slack",
  "nodes": [
    {
      "id": "8975814a-86ee-4313-8e1d-fdef4c16d347",
      "name": "Set Search Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        1296,
        912
      ]
    },
    {
      "id": "27533ae7-b0fe-4330-9e97-7ec5c6b8f264",
      "name": "Filter Valid Properties",
      "type": "n8n-nodes-base.if",
      "position": [
        2640,
        912
      ]
    },
    {
      "id": "8f7c0dc6-253f-4a9e-8f38-85b669bffc37",
      "name": "Send Slack Summary",
      "type": "n8n-nodes-base.slack",
      "position": [
        2976,
        1024
      ]
    },
    {
      "id": "f6429dff-9a79-42e7-b957-a490cd57018f",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        496
      ],
      "parameters": {
        "width": 704,
        "height": 832,
        "content": "# 🏡 Redfin Property Scraper → Google Sheets + Slack\n\nThis workflow automatically scrapes Redfin property listings on a schedule. It fetches search results via **ScrapeOps Proxy API**, parses them into"
      }
    },
    {
      "id": "e892ecd8-63ba-4034-9b1f-649ff04ebbda",
      "name": " Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1072,
        912
      ]
    },
    {
      "id": "76b652e7-1645-492a-bd32-b889fd7b48e2",
      "name": "ScrapeOps: Fetch Redfin Page (Proxy)",
      "type": "@scrapeops/n8n-nodes-scrapeops.ScrapeOps",
      "position": [
        1584,
        912
      ]
    },
    {
      "id": "f83f344b-7603-438d-b36b-1dd2c7739138",
      "name": "ScrapeOps: Parse Redfin Listings",
      "type": "@scrapeops/n8n-nodes-scrapeops.ScrapeOps",
      "position": [
        1792,
        912
      ]
    },
    {
      "id": "a4e368d0-372d-49f9-a23b-83b70c3c9e9a",
      "name": "Add Search Metadata",
      "type": "n8n-nodes-base.set",
      "position": [
        2096,
        912
      ]
    },
    {
      "id": "e72e4f6b-0b6e-4987-aca8-f2dffe76fef3",
      "name": "Split Properties Into Items",
      "type": "n8n-nodes-base.code",
      "position": [
        2272,
        912
      ]
    },
    {
      "id": "e8b45f2d-c69d-4239-988f-abad44ed2299",
      "name": "Format Property Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2448,
        912
      ]
    },
    {
      "id": "f61461ad-6608-485b-b0d7-69a748c05e61",
      "name": "Save Listings to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2976,
        816
      ]
    },
    {
      "id": "5fe6aaaf-304f-437a-845d-137287f8d527",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        816
      ],
      "parameters": {
        "width": 448,
        "height": 272,
        "content": "## 1. Trigger & Configuration\nFires on a schedule and sets the Redfin search URL to scrape."
      }
    },
    {
      "id": "aa8e1734-476d-41de-9ff9-20f7c5dcca81",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        816
      ],
      "parameters": {
        "width": 480,
        "height": 272,
        "content": "## 2. Fetch & Parse Listings\nLoad the Redfin page via [ScrapeOps Proxy](https://scrapeops.io/docs/n8n/proxy-api/) with JS rendering, then extract structured listing data using the [ScrapeOps Parser AP"
      }
    },
    {
      "id": "ffa90a55-997f-4530-af38-f7bf61abedd0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1984,
        816
      ],
      "parameters": {
        "width": 800,
        "height": 272,
        "content": "## 3. Transform & Filter\nLift search summary fields, split results into individual items, normalize property fields, and drop listings missing an address or valid price."
      }
    },
    {
      "id": "698a5b77-3c8b-4690-a650-15a57fdbac41",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2832,
        704
      ],
      "parameters": {
        "width": 416,
        "height": 480,
        "content": "## 4. Save & Notify\nAppend valid listings to Google Sheets and optionally post a Slack summary with listing count and a link to the sheet."
      }
    }
  ],
  "connections": {
    " Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set Search Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Search Metadata": {
      "main": [
        [
          {
            "node": "Split Properties Into Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Search Parameters": {
      "main": [
        [
          {
            "node": "ScrapeOps: Fetch Redfin Page (Proxy)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Property Fields": {
      "main": [
        [
          {
            "node": "Filter Valid Properties",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Valid Properties": {
      "main": [
        [
          {
            "node": "Save Listings to Google Sheets",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Slack Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Properties Into Items": {
      "main": [
        [
          {
            "node": "Format Property Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Listings to Google Sheets": {
      "main": [
        [
          {
            "node": "Send Slack Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ScrapeOps: Parse Redfin Listings": {
      "main": [
        [
          {
            "node": "Add Search Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ScrapeOps: Fetch Redfin Page (Proxy)": {
      "main": [
        [
          {
            "node": "ScrapeOps: Parse Redfin Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}