LeadFinder API

Free REST API to find local business leads from Google Maps. No API key required. Get started in seconds.

Free to use No signup 5 leads / request JSON response

Overview

The LeadFinder API gives you free, programmatic access to local business lead data sourced from Google Maps. With a single GET request, you can retrieve up to 5 business leads for any niche in any city -- including business names, phone numbers, websites, addresses, ratings, and reviews.

Endpoint

GET https://leadscraper-coral.vercel.app/api/v1/leads?niche={niche}&city={city}

Returns up to 5 business leads matching the given niche and city. Data is sourced from Google Maps and includes contact information, ratings, and location details.

Parameters

Parameter Type Required Description
niche string Required The business type or industry to search for. Examples: dentists, plumbers, restaurants, lawyers
city string Required The city to search in. Examples: New York, London, Tokyo, Miami

Code Examples

Copy-paste examples to get started immediately. All examples search for dentists in Miami.

# Get dentist leads in Miami curl "https://leadscraper-coral.vercel.app/api/v1/leads?niche=dentists&city=Miami"
// Fetch dentist leads in Miami const response = await fetch( "https://leadscraper-coral.vercel.app/api/v1/leads?niche=dentists&city=Miami" ); const data = await response.json(); console.log(data.leads); // Array of 5 leads console.log(data.total); // Total available (e.g., 100) console.log(data.niche); // "dentists" console.log(data.city); // "Miami"
import requests # Get dentist leads in Miami response = requests.get( "https://leadscraper-coral.vercel.app/api/v1/leads", params={"niche": "dentists", "city": "Miami"} ) data = response.json() for lead in data["leads"]: print(f"{lead['businessName']} - {lead['phone']}")
// Node.js 18+ (native fetch) const url = new URL("https://leadscraper-coral.vercel.app/api/v1/leads"); url.searchParams.set("niche", "dentists"); url.searchParams.set("city", "Miami"); const res = await fetch(url); const { leads, total, niche, city } = await res.json(); console.log(`Found ${total} leads, showing ${leads.length} free:`); leads.forEach(lead => { console.log(` ${lead.businessName} | ${lead.phone} | ${lead.website}`); });

Response Format

The API returns a JSON object with the following structure:

{ "success": true, "niche": "dentists", "city": "Miami", "total": 87, "showing": 5, "leads": [ { "businessName": "Bright Smile Dental", "phone": "(305) 555-0123", "website": "https://brightsmilemiami.com", "address": "1234 Brickell Ave, Miami, FL 33131", "rating": 4.8, "reviewCount": 245, "category": "Dentist", "mapsUrl": "https://maps.google.com/?cid=..." }, // ... 4 more leads ], "upgrade": "https://leadscraper-coral.vercel.app/?niche=dentists&city=Miami" }

Lead Object Fields

Field Type Description
businessName string Name of the business
phone string Phone number (may be empty if not listed)
website string Business website URL (may be empty)
address string Full street address
rating number Google Maps rating (1.0 - 5.0)
reviewCount number Total number of Google reviews
category string Google Maps business category
mapsUrl string Direct link to the Google Maps listing

Status Codes

Code Meaning Description
200 OK Leads returned successfully.
400 Bad Request Missing or invalid niche or city parameter.
429 Too Many Requests Rate limit exceeded. Try again tomorrow or upgrade.
500 Server Error Internal error. Retry after a few seconds.

Rate Limits

The free API is rate-limited to prevent abuse and ensure fair usage for everyone.

5
Leads per request
10
Requests per IP per day
0
Cost (free forever)

Rate limits reset daily at midnight UTC. If you hit the limit, you will receive a 429 response with a descriptive error message. Need higher limits? Use the full LeadFinder app to get 100+ leads per search for just $5.

Embed Widget

Add a LeadFinder search widget to your own website with a single script tag. Your visitors can search for leads directly on your site.

Quick Setup

Paste this snippet anywhere in your HTML. The widget will render a search form and display results automatically.

<!-- LeadFinder Widget --> <script src="https://leadscraper-coral.vercel.app/widget.js"></script>

How It Works

  • The script injects a styled search form into your page.
  • Users enter a niche and city, then click search.
  • Results are fetched from the LeadFinder API and displayed in a table.
  • The widget is responsive and matches your site layout.
  • No API key needed. No backend required.

Full Example Page

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Lead Finder</title> </head> <body> <h1>Find Business Leads</h1> <!-- LeadFinder Widget --> <script src="https://leadscraper-coral.vercel.app/widget.js"></script> </body> </html>

Need More Than 5 Leads?

Get the full list of 100+ verified leads for any niche and city -- just $5, one-time payment.

Get 100+ Leads for $5
`; navigator.clipboard.writeText(text).then(() => { const btn = event.target; btn.textContent = 'Copied!'; btn.classList.add('copied'); setTimeout(() => { btn.textContent = 'Copy'; btn.classList.remove('copied'); }, 2000); }); } // TOC active link tracking const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { document.querySelectorAll('.toc a').forEach(a => a.classList.remove('active')); const link = document.querySelector(`.toc a[href="#${entry.target.id}"]`); if (link) link.classList.add('active'); } }); }, { rootMargin: '-80px 0px -60% 0px', threshold: 0 }); document.querySelectorAll('.section').forEach(s => observer.observe(s));