{
  "name": "Find business emails from contact names and domains using ScraperCity",
  "nodes": [
    {
      "id": "a1000000-0000-0000-0000-000000000001",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -2000,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000002",
      "name": "Set Contact List",
      "type": "n8n-nodes-base.set",
      "position": [
        -1750,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000003",
      "name": "Submit Email Finder Job",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000004",
      "name": "Store Run ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -1250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000005",
      "name": "Wait Before First Poll",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1000,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000006",
      "name": "Polling Loop",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -750,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000007",
      "name": "Check Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000008",
      "name": "Is Job Complete?",
      "type": "n8n-nodes-base.if",
      "position": [
        -250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000009",
      "name": "Wait 60 Seconds Before Retry",
      "type": "n8n-nodes-base.wait",
      "position": [
        -250,
        592
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000010",
      "name": "Download Email Results",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000011",
      "name": "Parse and Format Results",
      "type": "n8n-nodes-base.code",
      "position": [
        250,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000012",
      "name": "Filter Emails Found",
      "type": "n8n-nodes-base.filter",
      "position": [
        500,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000013",
      "name": "Write Results to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        750,
        400
      ]
    },
    {
      "id": "a1000000-0000-0000-0000-000000000020",
      "name": "Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2600,
        100
      ],
      "parameters": {
        "width": 500,
        "height": 700,
        "content": "## Find business emails from names and domains using ScraperCity\n\n**Who is this for**\n\nSales development reps, growth marketers, and recruiters who need to find verified business email addresses at sc"
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000021",
      "name": "Section: Contact Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2040,
        -160
      ],
      "parameters": {
        "width": 730,
        "height": 330,
        "content": "## Contact Configuration\n\nThe `Set Contact List` node is where you define the contacts to look up. Each contact needs a `first_name`, `last_name`, and `domain` (e.g. `acme.com`). The list is formatted"
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000022",
      "name": "Section: Submit and Store Job",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1290,
        -160
      ],
      "parameters": {
        "width": 730,
        "height": 330,
        "content": "## Submit and Store Job\n\n`Submit Email Finder Job` sends a POST request to the ScraperCity email-finder API with your contact list and receives a `runId`. The `Store Run ID` node captures this ID and "
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000023",
      "name": "Section: Async Polling Loop",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -160
      ],
      "parameters": {
        "width": 730,
        "height": 530,
        "content": "## Async Polling Loop\n\nScraperCity email-finder jobs run in the background and typically complete in 1-10 minutes depending on list size. This section waits 30 seconds on the first pass, then enters a"
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000024",
      "name": "Section: Download and Output",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        210,
        -160
      ],
      "parameters": {
        "width": 730,
        "height": 330,
        "content": "## Download and Output\n\n`Download Email Results` fetches the completed results from ScraperCity using the stored `runId`. `Parse and Format Results` normalizes each contact row into flat fields. `Filt"
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000025",
      "name": "Add ScraperCity API key here",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1516,
        288
      ],
      "parameters": {
        "width": 280,
        "height": 70,
        "content": "Add your ScraperCity API key credential here"
      }
    },
    {
      "id": "a1000000-0000-0000-0000-000000000026",
      "name": "Set your Google Sheets ID here",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        734,
        288
      ],
      "parameters": {
        "width": 280,
        "height": 70,
        "content": "Set your Google Sheets document ID and sheet name here"
      }
    }
  ],
  "connections": {
    "Polling Loop": {
      "main": [
        [
          {
            "node": "Check Job Status",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Store Run ID": {
      "main": [
        [
          {
            "node": "Wait Before First Poll",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Job Status": {
      "main": [
        [
          {
            "node": "Is Job Complete?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Job Complete?": {
      "main": [
        [
          {
            "node": "Download Email Results",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 60 Seconds Before Retry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Contact List": {
      "main": [
        [
          {
            "node": "Submit Email Finder Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Emails Found": {
      "main": [
        [
          {
            "node": "Write Results to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Email Results": {
      "main": [
        [
          {
            "node": "Parse and Format Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Before First Poll": {
      "main": [
        [
          {
            "node": "Polling Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit Email Finder Job": {
      "main": [
        [
          {
            "node": "Store Run ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse and Format Results": {
      "main": [
        [
          {
            "node": "Filter Emails Found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 60 Seconds Before Retry": {
      "main": [
        [
          {
            "node": "Polling Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Set Contact List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}