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
- Create your API key at app.leadmaps.io/keys.
- Option A (agentic): add an MCP Client node pointed at https://mcp.leadmaps.io/mcp.
- Option B (classic): HTTP Request node → GET https://api.leadmaps.io/v1/places with your Bearer header.
- 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_xxx3 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
| Tool | Cost |
|---|---|
count_places | Free — always call first |
search_places | 1 credit per place returned (30-day dedup free) |
get_place | 1 credit (dedup) |
list_categories | Free |
create_export | 1 credit per delivered row |
get_export_status | Free |
The weekly prospecting machine, node by node
The canonical Leadmaps flow in n8n has four nodes and runs forever:
- Cron — every Monday, 07:00.
- HTTP Request —
GET https://api.leadmaps.io/v1/places?category=plumber&city=Nantes&min_rating=4.5with headerAuthorization: Bearer lm_live_xxx. Paginate withpagination.next_cursor. - Filter — keep
has_website === false(the #1 agency use case: businesses to pitch a website to). - 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.