{
  "id": "PXfj3dKsPDIM8vKJ",
  "name": "Automated_Food_Deal_Finder_via_Bright_Data",
  "tags": [],
  "nodes": [
    {
      "id": "6c651293-5535-424b-ab9a-562326fcb0a5",
      "name": "Trigger Workflow",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -400,
        680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "44ef6d02-59e1-4e00-adde-c0d0965d96e0",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2040,
        40
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6cb1eda2-5e6a-41f4-bb21-c9289c9e470f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2040,
        380
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2758,
        "content": "# \ud83d\ude80 **Pizza Deal Finder Automation \u2013 Breakdown**\n\nThis workflow automatically **scrapes Uber Eats for pizza deals**, **extracts the names and discounts**, and **emails the best offers** to you \u2014 all without writing any complex code!\n\n---\n\n## \ud83d\udfe2 **SECTION 1: \ud83d\udd01 Trigger & \ud83c\udf0d Fetch Pizza Deals Page**\n\n### \ud83d\udd39 Nodes Included:\n\n1. \u26a1 **Trigger Workflow**\n2. \ud83c\udf10 **Fetch Uber Eats Search Page (Bright Data)**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* **\u26a1 Trigger Workflow**: This node is the starting point. You can configure it to run:\n\n  * On-demand (when you click \"Execute\")\n  * On a schedule (e.g., every morning or every 4 hours)\n\n* **\ud83c\udf10 Fetch Uber Eats Search Page**:\n\n  * Sends a `POST` request to **Bright Data\u2019s Web Unlocker API** to access UberEats.\n  * It bypasses JavaScript-heavy pages and bot protections.\n  * URL targeted: something like `https://www.ubereats.com/search?query=pizza`\n  * Returns full HTML of the results page with all pizza restaurant names and their deals.\n\n### \ud83d\udc68\u200d\ud83d\udcbb For Beginners:\n\n* This is the **scraping engine** of your workflow.\n* Bright Data does the heavy lifting (proxying, unblocking, rendering).\n* You only need to provide your **Bright Data API key** and the target URL.\n\n---\n\n## \ud83d\udfe1 **SECTION 2: \ud83e\uddf9 Extract Pizza Names & Deals**\n\n### \ud83d\udd39 Node Included:\n\n* \ud83e\udde9 **Extract Names & Deals**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* This is the **HTML Extract** node.\n* It scans the raw HTML from the previous step and pulls:\n\n  * \ud83c\udff7\ufe0f Restaurant names (e.g., \u201cDomino\u2019s\u201d)\n  * \ud83d\udcb8 Deals or special offers (e.g., \u201cFree Item on \\$9 Spend\u201d)\n\n### \ud83d\udee0\ufe0f CSS Selectors Used:\n\n* **Name Selector**: `div.be.f3.bg.f2.ck.bp.bn.k2` \u2192 extracts all names\n* **Deal Selector**: `div.hr.bn.k2` \u2192 extracts all visible deals\n\n\u2699\ufe0f You configure it to **get all matches**, not just one. This ensures multiple restaurants are included.\n\n### \ud83d\udc68\u200d\ud83d\udcbb For Beginners:\n\n* This is where **the magic happens** \u2014 HTML becomes readable data.\n* No coding is required \u2014 just CSS selectors you can get from \u201cInspect Element\u201d in Chrome.\n* You can reuse this for other platforms like DoorDash or Grubhub by updating the selectors.\n\n---\n\n## \ud83d\udd34 **SECTION 3: \ud83d\udce7 Send Best Deals via Gmail**\n\n### \ud83d\udd39 Node Included:\n\n* \u2709\ufe0f **Send Pizza Deals via Gmail**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* Sends you an email (or to any recipient you define).\n* The email includes:\n\n  * \ud83e\uddfe List of pizza restaurants\n  * \ud83c\udf81 Associated deals\n\n\ud83d\udcec You can customize the subject and message format using simple templates:\n\n```html\n<h3>\ud83c\udf55 Today\u2019s Top Pizza Deals</h3>\n<ul>\n  {{#each items}}\n    <li><b>{{this.title}}</b> \u2014 {{this.deal}}</li>\n  {{/each}}\n</ul>\n```\n\n### \ud83d\udc68\u200d\ud83d\udcbb For Beginners:\n\n* This turns your data into a **daily email alert**.\n* You can plug in **Gmail, Outlook, Telegram, Slack**, etc.\n* Use this to stay updated or forward to your group of friends or a Discord bot.\n\n---\n\n## \u2728 Final Thoughts\n\n| \u2705 Feature                    | \ud83d\udca1 Benefit                              |\n| ---------------------------- | --------------------------------------- |\n| Fully visual                 | No coding knowledge needed              |\n| Web Unlocker via Bright Data | Access any site without getting blocked |\n| HTML Extraction              | Pull exactly what you need              |\n| Email Integration            | Automatically get results               |\n\nThis is a **production-grade workflow** that\u2019s easy to understand, scalable, and customizable for other food types, locations, or platforms.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "acfcd516-583b-49d9-a5ca-d610761e8ef4",
      "name": "Fetch Uber Eats Search Page (Bright Data)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -140,
        680
      ],
      "parameters": {
        "url": "https://api.brightdata.com/request",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "zone",
              "value": "n8n_unblocker"
            },
            {
              "name": "url",
              "value": "=https://www.ubereats.com/feed?diningMode=DELIVERY&pl=JTdCJTIyYWRkcmVzcyUyMiUzQSUyMkxvcyUyMEFuZGVzJTIwQmFrZXJ5JTIyJTJDJTIycmVmZXJlbmNlJTIyJTNBJTIyZDM2NThkYmItODRhNi1kMTRhLWMyNWEtNTBkZWVjMTRmY2RmJTIyJTJDJTIycmVmZXJlbmNlVHlwZSUyMiUzQSUyMnViZXJfcGxhY2VzJTIyJTJDJTIybGF0aXR1ZGUlMjIlM0EzMy44Nzk0NiUyQyUyMmxvbmdpdHVkZSUyMiUzQS04NC4zMDc5NCU3RA%3D%3D&scq=Pizza&sf=JTVCJTdCJTIydXVpZCUyMiUzQSUyMjMzZTBmN2NjLTg5MjctNGRhYy1hOTJlLTE5YTI5NmFhYjA5NyUyMiUyQyUyMm9wdGlvbnMlMjIlM0ElNUIlN0IlMjJ1dWlkJTIyJTNBJTIyZzk5NjQ3NmMtMmIxYi00ZGIyLWI0MGEtMTNkNDNjYjExN2RjJTIyJTdEJTVEJTdEJTVE"
            },
            {
              "name": "country",
              "value": "us"
            },
            {
              "name": "format",
              "value": "raw"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_TOKEN_HERE"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0cea9a9b-5ccc-4ca9-8a2c-ab453206c88d",
      "name": "Extract Names & Deals",
      "type": "n8n-nodes-base.html",
      "position": [
        160,
        680
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "deak",
              "cssSelector": "<div class=\"be f3 bg f2 ck bp bn k2\">Domino's</div>",
              "returnArray": true
            },
            {
              "key": "Deal",
              "cssSelector": "<div class=\"hr bn k2\">Free Item (Spend $9)</div>",
              "returnArray": true
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "802b5bac-0327-4fe3-8cbb-125af2912e06",
      "name": "Send Pizza Deals via Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        480,
        680
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "=Hey there! \ud83d\udc4b\n\nHere are the best pizza deals we found near your location:\n\n\ud83c\udf71 Title: {{ $json.deak[0] }}\n\ud83c\udf89 Deal: {{ $json.Deal[0] }}\n\nWe\u2019ve scanned the menu data for you using our smart scraper automation.",
        "options": {},
        "subject": "=Best Pizza Deals Near You Today!",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6bb11eed-0b93-460e-be4a-bcce086fc5a5",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -440,
        -160
      ],
      "parameters": {
        "color": 3,
        "width": 460,
        "height": 1060,
        "content": "## \ud83d\udfe2 **SECTION 1: \ud83d\udd01 Trigger & \ud83c\udf0d Fetch Pizza Deals Page**\n\n### \ud83d\udd39 Nodes Included:\n\n1. \u26a1 **Trigger Workflow**\n2. \ud83c\udf10 **Fetch Uber Eats Search Page (Bright Data)**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* **\u26a1 Trigger Workflow**: This node is the starting point. You can configure it to run:\n\n  * On-demand (when you click \"Execute\")\n  * On a schedule (e.g., every morning or every 4 hours)\n\n* **\ud83c\udf10 Fetch Uber Eats Search Page**:\n\n  * Sends a `POST` request to **Bright Data\u2019s Web Unlocker API** to access UberEats.\n  * It bypasses JavaScript-heavy pages and bot protections.\n  * URL targeted: something like `https://www.ubereats.com/search?query=pizza`\n  * Returns full HTML of the results page with all pizza restaurant names and their deals.\n\n### \ud83d\udc68\u200d\ud83d\udcbb For Beginners:\n\n* This is the **scraping engine** of your workflow.\n* Bright Data does the heavy lifting (proxying, unblocking, rendering).\n* You only need to provide your **Bright Data API key** and the target URL.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b02aa18f-809e-4aec-9969-b1a30546a936",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        60,
        -320
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 1220,
        "content": "## \ud83d\udfe1 **SECTION 2: \ud83e\uddf9 Extract Pizza Names & Deals**\n\n### \ud83d\udd39 Node Included:\n\n* \ud83e\udde9 **Extract Names & Deals**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* This is the **HTML Extract** node.\n* It scans the raw HTML from the previous step and pulls:\n\n  * \ud83c\udff7\ufe0f Restaurant names (e.g., \u201cDomino\u2019s\u201d)\n  * \ud83d\udcb8 Deals or special offers (e.g., \u201cFree Item on \\$9 Spend\u201d)\n\n### \ud83d\udee0\ufe0f CSS Selectors Used:\n\n* **Name Selector**: `div.be.f3.bg.f2.ck.bp.bn.k2` \u2192 extracts all names\n* **Deal Selector**: `div.hr.bn.k2` \u2192 extracts all visible deals\n\n\u2699\ufe0f You configure it to **get all matches**, not just one. This ensures multiple restaurants are included.\n\n### \ud83d\udc68\u200d\ud83d\udcbb For Beginners:\n\n* This is where **the magic happens** \u2014 HTML becomes readable data.\n* No coding is required \u2014 just CSS selectors you can get from \u201cInspect Element\u201d in Chrome.\n* You can reuse this for other platforms like DoorDash or Grubhub by updating the selectors.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "09f351ad-1911-40ce-9d93-c8e8880c45cd",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -20
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 920,
        "content": "## \ud83d\udd34 **SECTION 3: \ud83d\udce7 Send Best Deals via Gmail**\n\n### \ud83d\udd39 Node Included:\n\n* \u2709\ufe0f **Send Pizza Deals via Gmail**\n\n---\n\n### \ud83d\udd27 What Happens Here:\n\n* Sends you an email (or to any recipient you define).\n* The email includes:\n\n  * \ud83e\uddfe List of pizza restaurants\n  * \ud83c\udf81 Associated deals\n\n\ud83d\udcec You can customize the subject and message format using simple templates:\n\n```html\n<h3>\ud83c\udf55 Today\u2019s Top Pizza Deals</h3>\n<ul>\n  {{#each items}}\n    <li><b>{{this.title}}</b> \u2014 {{this.deal}}</li>\n  {{/each}}\n</ul>\n```\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f8c0655a-9550-488d-a9d9-592f95a193f9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 380,
        "height": 240,
        "content": "## I\u2019ll receive a tiny commission if you join Bright Data through this link\u2014thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "31760015-fb12-44ab-bd99-c7688ec0fd6b",
  "connections": {
    "Trigger Workflow": {
      "main": [
        [
          {
            "node": "Fetch Uber Eats Search Page (Bright Data)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Names & Deals": {
      "main": [
        [
          {
            "node": "Send Pizza Deals via Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Uber Eats Search Page (Bright Data)": {
      "main": [
        [
          {
            "node": "Extract Names & Deals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}