Leadmaps for n8n — a local prospecting machine

n8n turns Leadmaps into a recurring machine over 13.2M+ European listings: 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.

The fastest path: one command

n8n has no config file to write, so the CLI validates your key for free, then prints a ready-to-paste recipe with your key filled in — both the MCP Client node (agentic) and the HTTP Request node (deterministic) variants:

n8n — leadmaps connect — 80×24
$ npx leadmaps connect --agent n8n
Validating your key against api.leadmaps.io …
✓ 13,233,049 listings reachable
 
n8n — two ways to wire Leadmaps (no file to write):
 
Option A — MCP Client node (agentic, lets an AI Agent node pick the tools):
Endpoint https://mcp.leadmaps.io/mcp
Transport HTTP Streamable
Header Authorization: Bearer lm_live_xxx
 
Option B — HTTP Request node (classic deterministic pipeline):
Method GET
URL https://api.leadmaps.io/v1/places
Header Authorization: Bearer lm_live_xxx
… plus the free count guard and the Cron → HTTP → Filter → Sheets chain

Manual 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

  • Count plumbers rated ≥ 4.5 in Nantes, then deliver the top 20 with phone and website.
  • Find 150 real-estate agencies in Lille rated ≥ 4.4 with a website, export to CSV.
  • List categories around “food”, then count pizzerias without a website in the Rhône department.

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.

What does `npx leadmaps connect --agent n8n` do if n8n has no config file?

It writes nothing to disk: after validating your key for free against the live API, the CLI prints the full ready-to-paste recipe — both variants (MCP Client node and HTTP Request node) with your key filled in, plus the free count guard and the typical Cron → HTTP → Filter → Sheets chain.