Private beta — 0/10 founder seats (-50% for life) Join the waitlist
Leadmaps

Leadmaps for n8n — a local prospecting machine

n8n turns Leadmaps into a recurring machine: a Cron trigger, an HTTP Request to /v1/places, a Filter, and your CRM or outreach tool. The 30-day dedup means a weekly schedule never double-bills the same listing.

Setup

  1. Create your API key at app.leadmaps.io/keys.
  2. Option A (agentic): add an MCP Client node pointed at https://mcp.leadmaps.io/mcp.
  3. Option B (classic): HTTP Request node → GET https://api.leadmaps.io/v1/places with your Bearer header.
  4. Chain: Cron → HTTP Request → Filter (e.g. has_website=false) → Google Sheets / Lemlist.
MCP Client node
Server URL: https://mcp.leadmaps.io/mcp
Header: Authorization: Bearer lm_live_xxx

3 copy-paste prompts

MCP tools

ToolCost
count_placesFree — always call first
search_places1 credit per place returned (30-day dedup free)
get_place1 credit (dedup)
list_categoriesFree
create_export1 credit per delivered row
get_export_statusFree

The weekly prospecting machine, node by node

The canonical Leadmaps flow in n8n has four nodes and runs forever:

  1. Cron — every Monday, 07:00.
  2. HTTP RequestGET https://api.leadmaps.io/v1/places?category=plumber&city=Nantes&min_rating=4.5 with header Authorization: Bearer lm_live_xxx. Paginate with pagination.next_cursor.
  3. Filter — keep has_website === false (the #1 agency use case: businesses to pitch a website to).
  4. Google Sheets / Lemlist — append rows or push contacts into a campaign.

Because delivered listings are deduplicated for 30 days, the Monday run only pays for new businesses that entered your filter since last week. Your credit spend converges to the true novelty rate of your market.

Cost guard with a free count

Add an HTTP Request to /v1/places/count before the paid call and an IF node: if count > 500, send yourself a Slack message instead of fetching. Counting is free.

Agentic variant (MCP Client node)

n8n's MCP Client node speaks to https://mcp.leadmaps.io/mcp directly — useful when an AI Agent node decides what to search based on upstream data (e.g. a list of cities from a Google Sheet).

Import the template

Our docs ship a one-click importable template (Cron → HTTP → Filter → Sheets) at docs.leadmaps.io — copy the JSON, paste into n8n, add your key, done.

FAQ

MCP Client node or plain HTTP Request: which should I pick?

Both work. HTTP Request is enough for a deterministic pipeline (Cron → HTTP → Filter → Sheets); the MCP Client node shines when an AI Agent node must dynamically decide what to search (e.g. a list of cities from a Google Sheet).

How do I paginate results in n8n?

Every response carries pagination.next_cursor: loop with the cursor parameter until has_more=false. Beyond a few hundred listings, prefer create_export (async) over manual pagination.

Will my weekly workflow pay again for the same listings?

No: any listing already delivered to your account is re-deliverable for free for 30 days. A weekly Cron therefore only pays for new or modified listings entering your filter.

How do I keep an n8n run from blowing my budget?

Call /v1/places/count (free) before the paid call, then an IF node: if the count exceeds your threshold, send yourself a Slack alert instead of delivering. The Leadmaps spending cap bounds the worst case.