Locan — free local SEO tools

Run the Google Business Profile Optimizer from n8n

One workflow, five nodes, all core n8n: trigger → set the input → call the API → shape the result → email it.

Download the workflow JSON

Import it in n8n via Workflows → Import from File.

The workflow

Trigger → Set → HTTP Request → Set → Email

1. Manual or Schedule Trigger

Start the workflow by hand, or on a schedule (n8n-nodes-base.scheduleTrigger) to run the audit weekly.

2. Set — business input

A Set node before the HTTP request defines businessName and city, so the workflow has something to send on a manual run.

3. HTTP Request — the audit

POST to https://api.locan.ai/api/tools/gbp-optimizer with a JSON body of { businessName, city } (or { placeId } if you already have one).

4. Set — edit fields

Map the fields you want out of the response: score, grade, summary, recommendations, ai.optimizedDescription.

5. Send Email (or Slack)

Email the mapped fields to whoever owns the profile. Swap the Send Email node for n8n-nodes-base.slack to post to a channel instead — the fields feeding it stay the same.

Exact request

The HTTP Request node, in detail

Method: POST

URL: https://api.locan.ai/api/tools/gbp-optimizer

Body type: JSON

={{ JSON.stringify({ businessName: $json.businessName, city: $json.city }) }}

The response is JSON with score, grade, summary, checks, recommendations and an ai object (optimized description, post ideas, FAQs, review reply templates, citation ideas). Errors come back as { "error", "code" }, with a 429 when the daily limit is hit.

Limits

Hosted limits apply — self-host to remove them

The hosted API enforces daily per-visitor limits, so a scheduled workflow calling it for many businesses can hit them. Self-hosting removes the limits — point the HTTP Request node's URL at your own instance instead, for example http://localhost:8080/api/tools/gbp-optimizer.

Prefer an AI agent instead? Run it via MCP →