{
  "name": "Fetch property listings from 99Acres & MagicBricks with Apify and Google Sheets",
  "nodes": [
    {
      "id": "b7841298-d962-4077-a738-4208c6fc18e7",
      "name": "Create Master Spreadsheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        192,
        16
      ]
    },
    {
      "id": "bc5ed6fb-7ee1-4b3f-ab60-5f4ccdcfd21b",
      "name": "Fetch 99Acres Listings",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        -64
      ]
    },
    {
      "id": "fdf938a4-49da-454c-92fb-f4099c6d7416",
      "name": "Fetch MagicBricks Listings",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        128
      ]
    },
    {
      "id": "fb105b28-b47a-4626-a195-7e6854a6ebf7",
      "name": "Filter & Format 99Acres Listings",
      "type": "n8n-nodes-base.code",
      "position": [
        688,
        -64
      ]
    },
    {
      "id": "59070614-bcae-4315-9470-c28a47a69015",
      "name": "Filter & Format MagicBricks Listings",
      "type": "n8n-nodes-base.code",
      "position": [
        688,
        128
      ]
    },
    {
      "id": "07efdf9d-da87-41ec-872a-7747b86c5ad8",
      "name": "Append Rows → 99Acres Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        944,
        -64
      ]
    },
    {
      "id": "50940371-760e-406e-846a-08d5c0cd981b",
      "name": "Append Rows → MagicBricks Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        944,
        128
      ]
    },
    {
      "id": "6e9c56d4-29ae-4c75-9010-7a430c822999",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        -176
      ],
      "parameters": {
        "width": 528,
        "height": 512,
        "content": "##  99Acres & MagicBricks → Google Sheets\n\n### How it works\n1. The workflow starts when a user submits property search URLs through the form.\n2. A new Google Spreadsheet is created automatically with "
      }
    },
    {
      "id": "955899bb-62c7-4c5e-a0f6-bd68d7b82767",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -128
      ],
      "parameters": {
        "width": 208,
        "height": 288,
        "content": "## Trigger\nStarts the workflow when a user submits property search URLs."
      }
    },
    {
      "id": "ad1d0859-114a-4029-a4cd-d5d59e37f42b",
      "name": "Property Search URLs",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -32,
        16
      ]
    },
    {
      "id": "0413192a-5760-4ed4-8e6b-d8f750c39f94",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -160
      ],
      "parameters": {
        "width": 176,
        "height": 352,
        "content": "## Create Spreadsheet\nCreates a new Google Spreadsheet with dedicated sheets for each portal.\n"
      }
    },
    {
      "id": "1f7ce13e-a8ba-4744-9127-6bdb2a537b33",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -256
      ],
      "parameters": {
        "width": null,
        "height": 592,
        "content": "## Fetch Property Listings\nCalls external APIFY scrapers/APIs to retrieve raw property listings\nfrom 99Acres and MagicBricks based on user-provided URLs.\n"
      }
    },
    {
      "id": "d337ea0c-3dfa-4e23-a139-d6fb069e768d",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -304
      ],
      "parameters": {
        "width": 208,
        "height": 608,
        "content": "## Clean & Standardize Data\nFilters duplicate listings and converts raw API responses\ninto a consistent format suitable for Google Sheets.\n"
      }
    },
    {
      "id": "63f2a96c-07ae-440f-ae06-cbc7a60b5b31",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -272
      ],
      "parameters": {
        "width": null,
        "height": 576,
        "content": "## Save Results to Sheets\nAppends cleaned listings into the correct sheet\nso each portal’s data stays separated and organized.\n"
      }
    }
  ],
  "connections": {
    "Property Search URLs": {
      "main": [
        [
          {
            "node": "Create Master Spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch 99Acres Listings": {
      "main": [
        [
          {
            "node": "Filter & Format 99Acres Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Master Spreadsheet": {
      "main": [
        [
          {
            "node": "Fetch 99Acres Listings",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch MagicBricks Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch MagicBricks Listings": {
      "main": [
        [
          {
            "node": "Filter & Format MagicBricks Listings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter & Format 99Acres Listings": {
      "main": [
        [
          {
            "node": "Append Rows → 99Acres Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter & Format MagicBricks Listings": {
      "main": [
        [
          {
            "node": "Append Rows → MagicBricks Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}