Business Listings API
The listings API for the new sales and research stack.
Lead generation used to mean scraping Yellow Pages and Yelp. SaaS tools captured this with seat-based pricing. We unbundled it. One POST call returns every plumber in Atlanta with 4+ stars and 50+ reviews. 10 credits per 50 businesses ($0.05). Your agent does the rest.
POST /v1/business/listings · 10 credits / 50 results
Joe's Pizza Brooklyn
Pizza Restaurant
These prompts are the new lead-generation workflow.
Connect Local SEO Data as an MCP server once (60 seconds, below). Then your agent runs the research. Replace bracketed cities and categories with your own.
Pull every plumber in Dallas, TX with 4+ stars and 50+ reviews. Return name, phone, address, and rating. This is our next-client list.
How many dentists operate in Austin, TX. Show me the distribution by rating (5-star, 4-star, 3-star). What does that tell us about the market?
Pull every hair salon in Denver, Colorado with 100+ reviews. Sort by rating. Show me the top 5 by review count — these are my strongest competitors.
Generate lead lists for electrical contractors in Austin, Dallas, Houston, and San Antonio. Return 50 results per city with phone and website.
What you get back
Live response from POST /v1/business/listings for plumbers in Denver.
{
"status": "success",
"credits_used": 10,
"data": [
{
"name": "ABC Plumbing Denver",
"rating": 4.8,
"reviews_count": 287,
"address": "1234 Main St, Denver, CO 80202",
"phone": "(303) 555-0123",
"website": "https://abcplumbing.com",
"hours": "Open Mon-Fri 8AM-6PM, Sat 9AM-4PM",
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"categories": ["Plumber", "Emergency Plumbing Services"],
"verified": true
},
{
"name": "Quick Fix Plumbing",
"rating": 4.5,
"reviews_count": 156,
"address": "5678 Oak Ave, Denver, CO 80205",
"phone": "(303) 555-0456",
"website": "https://quickfixplumbing.com",
"hours": "Open daily 7AM-9PM",
"place_id": "ChIJIQBpAG2qRIcRfLK5VA3GUjs",
"categories": ["Plumber", "Water Heater Repair"],
"verified": true
},
{
"name": "Expert Drain Services",
"rating": 4.6,
"reviews_count": 198,
"address": "9012 Commercial Blvd, Denver, CO 80211",
"phone": "(303) 555-0789",
"website": "https://expertdrain.com",
"hours": "Open Mon-Fri 6AM-8PM, Sat 8AM-6PM, Sun Closed",
"place_id": "ChIJVV1Zj5yjV4cR9-_qf6HZL24",
"categories": ["Plumber", "Drain Cleaning"],
"verified": true
}
],
"pagination": {
"total_results": 47,
"returned": 3,
"location": "Denver, Colorado",
"category": "plumber"
}
}Everything you need to build your lead list
NAP, hours, phone, website
Name, address, phone number, website URL for every business. Hours of operation extracted from Google Business Profile. Verified status indicates if business owner claimed the listing.
Rating, review count, categories
Star rating, total review count, and business categories. Use these to filter: find every plumber with 4+ stars and 100+ reviews — your strongest competitors.
Google's canonical business identifier
Every business includes Google's place_id, which links directly to the business on Google Maps and Google Business Profile. Use this to fetch full reviews, photos, or metadata via other endpoints.
Up to 200 results per call, batch across locations
Each call returns up to 200 businesses. Pagination metadata shows total results available in that category-location pair. Batch multiple calls across cities or categories in one agent workflow.
What AI-native operators ship with this
Agency new-client prospecting
Pull every contractor, plumber, salon, or dentist in a metro area matching your service profile. Generate email lists with names, phone numbers, websites. Your first-call list is data-driven, not guesswork.
→ For agenciesMarket sizing and composition
How many dog groomers operate in Phoenix. What percentage have 4+ stars. Is the market saturated or under-served. Pull data for 10 metros in one agent run, compare. Know which markets are prime for expansion.
→ For business ownersCompetitor identification and monitoring
Pull the full list of hair salons in Denver. Sort by review count and rating. Track which competitors gain or lose reviews month-over-month. Know when they add service categories. Stay ahead of competitive moves.
→ Competitor Gap APIPre-pitch market audits
A prospect owns one electrician in Austin. Before the call, pull every electrician in Austin with 50+ reviews. Show her the top 3 by rating and how she stacks up. Pitch lands because the problem is visible.
→ For consultantsWhy not just use Yelp, Foursquare, or scraping tools?
Yelp Fusion API rate-limits aggressively and caps results. Foursquare charges per-request. Google Places API requires ownership verification. Scraping tools are brittle. Here's how the options stack up.
| Approach | Results per call | Category filters | AI-agent ready | Cost |
|---|---|---|---|---|
| Yelp Fusion API | 20 per call | Limited categories | REST, no MCP | $25K–50K/year minimum |
| Foursquare Places API | 50 per call | Broad POI taxonomy | REST, no MCP | $99–399/mo, per-request overage |
| Google Places API (official) | 20 per call | Yes, but limited | REST, OAuth required | $32 per 1K calls + quota limits |
| Google Business Profile API | Owned listings only | No filtering | OAuth + 2-4 week approval | Free but gated |
| Custom scraping (Apify, Outscraper) | Unlimited but brittle | What you can parse | Breaks with page updates | $0.02–0.10 per result |
| Apollo / Hunter / ZoomInfo | Varies (B2B focus) | Company-level, not local | Designed for enrichment, not discovery | $2K–10K/year + per-record overage |
| Local SEO Data Business Listings API | Up to 200 per call | Any category, granular filters | Native MCP, agent-first | $0.001 per business ($0.05 per 50) |
Use it from your agent
Two integration surfaces: MCP for clients that speak MCP, REST API for everything else.
Direct MCP integration
Drop-in support in Claude Desktop, OpenClaw, Hermes Agent, and any MCP-aware client.
Add to your client's MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"localseodata": {
"url": "https://mcp.localseodata.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}REST API
For Perplexity Computer, ChatGPT Custom GPTs, custom agents, and any platform that calls REST endpoints directly.
Base URL:
api.localseodata.comSee the docs for endpoint reference and auth.
Your first call in three lines
Same call, three syntaxes. The `category` field accepts standard business types (plumber, dentist, hair salon, electrician, etc.). `location` is required in 'City, State' format. Optional: `limit` (1-200, default 50) to control result count.
curl -X POST https://api.localseodata.com/v1/business/listings \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"category": "plumber",
"location": "Denver, Colorado",
"limit": 50
}'$0.001 per business
10 credits = 50 businesses = $0.05. Pay-as-you-go starts at $5. Monthly plans from $19. No per-seat fees, ever.
Common questions
What is the Business Listings API?+
POST /v1/business/listings. Cost: 10 credits per 50 results (~$0.05 per 50 businesses, or $0.001 per business). This is the data layer underneath lead generation, market research, and competitor identification workflows.How do I authenticate with the Business Listings API?+
Authorization: Bearer sk_live_... in your request headers. The same key works for MCP integration (in your claude_desktop_config.json) and direct REST calls. No OAuth flow, no project setup, no domain verification. There are no per-endpoint quotas — your only ceiling is your credit balance. A multi-city agency prospecting run across 10 metros pulls 500 businesses for $2.50. See the authentication docs for key rotation and security best practices.What categories does the API support?+
How many results can I get per call?+
total_results: 500, returned: 50. Make subsequent calls with the pagination offset to fetch the rest. Most prospecting workflows fetch 50-100 results per city, which is enough to find the top-tier competitors or your next-20-clients list.Can I filter by rating or review count?+
min_rating (e.g., 4.0 for 4+ stars), min_reviews (e.g., 50 for businesses with 50+ reviews), and verified_only (true to return only listings where the business owner claimed and verified the business). These filters run server-side before results are returned, so you're not paying for data you don't want.Where does this business data come from?+
How fresh is the data?+
Is it legal to scrape or access business listing data this way?+
Can I use this for sales prospecting and lead generation?+
Can AI agents use the Business Listings API directly?+
claude_desktop_config.json (or any MCP-aware client — OpenClaw, Hermes Agent, etc.) and the agent calls this endpoint from any prompt. REST: any agent that can make HTTPS calls — ChatGPT Custom GPTs, Perplexity Computer, custom Python agents — hits api.localseodata.com directly with the Bearer token. You don't write integration code. You write the prompt.How does this compare to Yelp Fusion, Foursquare, and Outscraper?+
How does this compare to Apollo, Hunter.io, and ZoomInfo for B2B prospecting?+
What changed in 2026 that made this category exist?+
Often used in the same agent prompt
Google Business Profile
Full GBP data, photos, attributes, verification status for any business.
POST /v1/serp/local-packLocal Pack API
Top 3 results for any search. Combine with listings to map ranking positions.
POST /v1/business/reviewsGoogle Reviews API
Full review text, author, date, owner replies for any business.
POST /v1/audit/citationCitation Audit API
NAP consistency check across 20+ directories. Verify data accuracy.
Build your first prospecting list in one prompt.
50 free credits on signup. 500 free businesses included. Your first lead list happens through Claude, not a CSV download.