{"product_id":"n8n-workflow-google-places-lead-enrichment-to-google-sheets","title":"n8n Workflow: Google Places Lead Enrichment to Google Sheets","description":"\u003ch3\u003eTurn Google Places searches into verified B2B leads in Google Sheets\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow searches Google Places for your target niche and location, enriches each business by scraping contact details from its website (optionally respecting \u003cstrong\u003erobots.txt\u003c\/strong\u003e), and then \u003cstrong\u003eupserts verified prospect records into Google Sheets\u003c\/strong\u003e—with clear confidence and status reporting.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eStarts with input\u003c\/strong\u003e via a manual run or a public \u003cstrong\u003en8n Form\u003c\/strong\u003e submission (niche, city, country, result limit, scraping depth, and robots.txt preference).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBuilds and paginates\u003c\/strong\u003e a Google Places Text Search query, iterating through results until the configured maximum is reached or a controlled stop condition occurs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates per-place enrichment jobs\u003c\/strong\u003e for each returned business, including website domain normalization to reduce unsafe requests.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOptionally checks robots.txt\u003c\/strong\u003e before scraping, based on your preference.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eScrapes key website data\u003c\/strong\u003e from the homepage and a small set of internal pages (basic or expanded depth), extracting emails, phone numbers, WhatsApp links, social profiles, and selected \u003cstrong\u003eJSON-LD\u003c\/strong\u003e fields with source URLs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates verified records\u003c\/strong\u003e with confidence\/status labels, keeps only the permanent schema, and deduplicates using \u003cstrong\u003ePlace ID\u003c\/strong\u003e (or normalized domain if Place ID is missing).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWrites to Google Sheets\u003c\/strong\u003e via upsert and outputs an execution summary (complete, partial, blocked, no website, and controlled errors).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eBuild a targeted prospect list for outbound sales by niche + location (e.g., “plumbing services in Austin”).\u003c\/li\u003e\n  \u003cli\u003eEnrich trade directories and local business leads into structured Google Sheets for outreach.\u003c\/li\u003e\n  \u003cli\u003eRun repeatable lead research workflows using n8n Forms with adjustable scraping depth.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eTarget integrations\/nodes: \u003cstrong\u003eGoogle Places API (Text Search)\u003c\/strong\u003e, \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e, and n8n nodes including \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003ewait\u003c\/strong\u003e, \u003cstrong\u003esticky note\u003c\/strong\u003e, and \u003cstrong\u003eform trigger\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIncludes input validation\/normalization, pagination state handling, website\/domain safety checks, optional \u003cstrong\u003erobots.txt\u003c\/strong\u003e evaluation, and structured upsert deduplication.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45758758387891,"sku":"N8N-17776","price":54.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/5PEGB1goasxKRGobwY18S_LXwioYwo.png?v=1785834781","url":"https:\/\/buyflowscripts.com\/products\/n8n-workflow-google-places-lead-enrichment-to-google-sheets","provider":"N8N Commerce","version":"1.0","type":"link"}