{
  "name": "Scrape Airbnb listings with pagination & store in Google Sheets",
  "nodes": [
    {
      "id": "d20ec65c-efb5-46fc-b6b9-82450f3818c8",
      "name": "Format Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1820,
        80
      ]
    },
    {
      "id": "93bffd11-f607-4cc6-90e7-e3ea29caf00b",
      "name": "Clear Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2020,
        80
      ]
    },
    {
      "id": "a28bf4de-f7e9-446d-9c9e-2abcff994f64",
      "name": "Update Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1360,
        20
      ]
    },
    {
      "id": "754e76da-7f01-4340-a0f1-a37ee76fa99c",
      "name": "Get Airbnb Listing Details",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        1780,
        280
      ]
    },
    {
      "id": "53ade6ca-9334-4aff-8d31-9585d7f033f8",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        220
      ]
    },
    {
      "id": "f91c2319-b797-4477-826f-e2c50e3f4eaf",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1580,
        220
      ]
    },
    {
      "id": "c43b9dd6-cccd-42d5-af16-a3a8af5ccedf",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -100,
        80
      ]
    },
    {
      "id": "9ff06c0b-7e64-41bf-91ff-33ea611ceed8",
      "name": "Final Results",
      "type": "n8n-nodes-base.code",
      "position": [
        980,
        220
      ]
    },
    {
      "id": "f376519c-53e2-49f7-ae36-a36a5362da76",
      "name": "Parse Listing Data2",
      "type": "n8n-nodes-base.code",
      "position": [
        540,
        80
      ]
    },
    {
      "id": "ea1afd06-a60b-4fde-a0c2-c51ba0a37541",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        760,
        160
      ]
    },
    {
      "id": "37240da6-ff3b-4c5e-8a7c-883b757db638",
      "name": "Initial Set1",
      "type": "n8n-nodes-base.set",
      "position": [
        120,
        180
      ]
    },
    {
      "id": "ec20bda7-eaa1-4a34-bde5-dd46f0f21a41",
      "name": "Merge5",
      "type": "n8n-nodes-base.merge",
      "position": [
        320,
        80
      ]
    },
    {
      "id": "c169b045-d48f-4ef1-a755-cd2a7b984143",
      "name": "Code2",
      "type": "n8n-nodes-base.code",
      "position": [
        1160,
        220
      ]
    },
    {
      "id": "46f64ae5-980c-4905-98e8-79c3cfcce9d2",
      "name": "Airbnb Search",
      "type": "n8n-nodes-mcp.mcpClient",
      "position": [
        120,
        -20
      ]
    },
    {
      "id": "69be2f2d-0af2-477e-a8d5-3d22bd8eade2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -220
      ],
      "parameters": {
        "width": 1080,
        "height": 740,
        "content": "## Airbnb Search Flow - Description & Notes\n## Overview\nThis n8n workflow implements a paginated **Airbnb search system** that automatically fetches multiple pages of listings and aggregates them into"
      }
    },
    {
      "id": "a9ff2075-c4f4-43af-92b8-bd92f055a4dd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -220
      ],
      "parameters": {
        "width": 1080,
        "height": 740,
        "content": "This n8n workflow processes Airbnb listing data in a loop structure. Here's how it flows:\n\n## Flow Overview\nThe workflow creates a processing loop that fetches and formats Airbnb listing details for m"
      }
    },
    {
      "id": "79825fe8-9af2-4fba-8fb4-8ba761140fbd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -220
      ],
      "parameters": {
        "width": 680,
        "height": 740,
        "content": "# Setup Steps\n## Prerequisites\nn8n instance with MCP (Model Context Protocol) support\nGoogle Sheets API credentials configured\nAirbnb MCP client properly set up\n\n## Configuration Steps\n- Configure MCP"
      }
    },
    {
      "id": "9e6487df-aeb5-47ca-beca-f2c8d0be6255",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -600
      ],
      "parameters": {
        "width": 3020,
        "height": 360,
        "content": "# Description\n### This n8n workflow automatically **scrapes Airbnb listings** from a specified location and **saves the data to a Google Sheet**. It performs pagination to collect listings across mult"
      }
    }
  ],
  "connections": {
    "If1": {
      "main": [
        [
          {
            "node": "Initial Set1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Airbnb Search",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Final Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code2": {
      "main": [
        [
          {
            "node": "Update Google Sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge5": {
      "main": [
        [
          {
            "node": "Parse Listing Data2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Data": {
      "main": [
        [
          {
            "node": "Clear Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initial Set1": {
      "main": [
        [
          {
            "node": "Merge5",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Airbnb Search": {
      "main": [
        [
          {
            "node": "Merge5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Final Results": {
      "main": [
        [
          {
            "node": "Code2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Format Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get Airbnb Listing Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Listing Data2": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Airbnb Listing Details": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Airbnb Search",
            "type": "main",
            "index": 0
          },
          {
            "node": "Initial Set1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}