{"product_id":"geocode-supabase-queued-addresses-with-nominatim-claude","title":"Geocode Supabase queued addresses with Nominatim \u0026 Claude","description":"\u003ch3\u003eGeocode your queued Supabase addresses daily—using Nominatim first, Claude fallback\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow automatically geocodes up to \u003cstrong\u003e100 pending place records\u003c\/strong\u003e in your \u003cstrong\u003eSupabase\u003c\/strong\u003e table every day. It queries \u003cstrong\u003eOpenStreetMap Nominatim\u003c\/strong\u003e for precise matches, and if that fails, it uses \u003cstrong\u003eClaude\u003c\/strong\u003e to derive \u003cstrong\u003edistrict-level centroid coordinates\u003c\/strong\u003e—then writes latitude\/longitude and a precision\/source label back to Supabase.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns daily at 07:00\u003c\/strong\u003e on a schedule.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLoads up to 100 rows\u003c\/strong\u003e from a specified Supabase table where \u003cstrong\u003estatus\u003c\/strong\u003e is set to your configured pending value.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIterates each place\u003c\/strong\u003e, waits \u003cstrong\u003e2.1 seconds\u003c\/strong\u003e between requests to respect Nominatim rate limits, then searches using \u003cstrong\u003edistrict + city + country\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIf Nominatim returns coordinates, the workflow updates Supabase with \u003cstrong\u003egeo_lat\u003c\/strong\u003e, \u003cstrong\u003egeo_lon\u003c\/strong\u003e, and tags the record as coming from a \u003cstrong\u003eprecise Nominatim lookup\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIf Nominatim has no precise hit, it asks \u003cstrong\u003eAnthropic Claude\u003c\/strong\u003e for the \u003cstrong\u003edistrict centroid\u003c\/strong\u003e and parses a \u003cstrong\u003eJSON-only\u003c\/strong\u003e response.\u003c\/li\u003e\n  \u003cli\u003eIf Claude provides coordinates, it updates Supabase with \u003cstrong\u003egeo_lat\u003c\/strong\u003e\/\u003cstrong\u003egeo_lon\u003c\/strong\u003e and labels the result as coming from the \u003cstrong\u003eLLM\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eIf Claude declines, it retries Nominatim at the \u003cstrong\u003ecity level\u003c\/strong\u003e and stores fallback coordinates (or leaves the row pending to retry next run).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eGeocoding “address\/place” data for \u003cstrong\u003emapping\u003c\/strong\u003e, \u003cstrong\u003eproximity searches\u003c\/strong\u003e, and \u003cstrong\u003eanalytics\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003eKeeping a Supabase-backed dataset continuously enriched with \u003cstrong\u003elatitude\/longitude\u003c\/strong\u003e without manual work.\u003c\/li\u003e\n  \u003cli\u003eHandling messy or inconsistent place names where street-level geocoding often fails—by falling back to district centroids.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n schedule\u003c\/strong\u003e (daily at 07:00)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSupabase\u003c\/strong\u003e node for reading\/updating the geocode queue table\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNominatim\u003c\/strong\u003e (OpenStreetMap) lookups with district + city + country, then city-level fallback\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAnthropic Claude\u003c\/strong\u003e fallback for district-level centroid coordinates (expects JSON-only output)\u003c\/li\u003e\n  \u003cli\u003eUses n8n logic nodes such as \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, \u003cstrong\u003ecode\u003c\/strong\u003e, \u003cstrong\u003ewait\u003c\/strong\u003e, \u003cstrong\u003eno op\u003c\/strong\u003e, and \u003cstrong\u003esupabase\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45876846362803,"sku":"N8N-18523","price":55.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/sYEimElOX7RRmZjnTCEOr_Q7v5i9bK.png?v=1787303205","url":"https:\/\/buyflowscripts.com\/products\/geocode-supabase-queued-addresses-with-nominatim-claude","provider":"N8N Commerce","version":"1.0","type":"link"}