APIEndpoint 28 of 40Competitive Intelligence / Market Research / Business Lists

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

POST /v1/business/listings1 profile · 2 credits
Listing 1 of 28 plumbers in Austin

Joe's Pizza Brooklyn

Pizza Restaurant

4.8 · 542 reviews
124 Fulton St, Brooklyn, NY 11201
(718) 555-0142
joespizza.com
Open · Closes 11 PM
Dine-inTakeoutDeliveryWheelchair accessible
▌ Ask your agent

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.

Agency client acquisition

Pull every plumber in Dallas, TX with 4+ stars and 50+ reviews. Return name, phone, address, and rating. This is our next-client list.

Market research

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?

Competitor identification

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.

Multi-market prospecting

Generate lead lists for electrical contractors in Austin, Dallas, Houston, and San Antonio. Return 50 results per city with phone and website.

Real response

What you get back

Live response from POST /v1/business/listings for plumbers in Denver.

response · application/json~3-6s · 10 credits
{
  "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"
  }
}
Returns

Everything you need to build your lead list

Core business data

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.

Social proof

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.

Place ID

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.

Pagination and filtering

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.

Built for

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 agencies

Market 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 owners

Competitor 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 API

Pre-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 consultants
vs. the alternatives

Why 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.

ApproachResults per callCategory filtersAI-agent readyCost
Yelp Fusion API20 per callLimited categoriesREST, no MCP$25K–50K/year minimum
Foursquare Places API50 per callBroad POI taxonomyREST, no MCP$99–399/mo, per-request overage
Google Places API (official)20 per callYes, but limitedREST, OAuth required$32 per 1K calls + quota limits
Google Business Profile APIOwned listings onlyNo filteringOAuth + 2-4 week approvalFree but gated
Custom scraping (Apify, Outscraper)Unlimited but brittleWhat you can parseBreaks with page updates$0.02–0.10 per result
Apollo / Hunter / ZoomInfoVaries (B2B focus)Company-level, not localDesigned for enrichment, not discovery$2K–10K/year + per-record overage
Local SEO Data Business Listings APIUp to 200 per callAny category, granular filtersNative MCP, agent-first$0.001 per business ($0.05 per 50)
Connect in 60 seconds

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.com

See the docs for endpoint reference and auth.

Quickstart

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.

terminal · curl
POST /v1/business/listings
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
  }'
Pricing for this endpoint

$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.

Free tier
500
businesses on signup (50 credits)
Starter · $19/mo
19,000
businesses/mo at this rate
Per-business cost
$0.001
or $0.05 per 50
FAQ

Common questions

What is the Business Listings API?+
A REST endpoint that returns all businesses in a specified category and geographic location. One call returns name, address, phone number, website, hours, rating, review count, business categories, and place ID for up to 200 businesses in JSON format. It's 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?+
Authentication uses a Bearer token. Generate an API key from your Local SEO Data dashboard (Settings → API Keys), then include it as 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?+
Any standard business category. Examples: plumber, electrician, dentist, hair salon, dog groomer, accountant, lawyer, contractor, restaurant, coffee shop, gym, veterinarian, and hundreds more. Categories are derived from Google Business Profile taxonomy, which means they're granular and widely recognized. You don't need to memorize a code list — just pass a human-readable category name like 'plumber' or 'emergency dentist', and the API resolves it to the right set of listings.
How many results can I get per call?+
Up to 200 businesses per call. Pagination metadata tells you the total number of results available in that category-location pair. If a city has 500 plumbers and you request 50, the response shows 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?+
Yes. Advanced filtering parameters include 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?+
Business Listings data is aggregated from DataForSEO, our upstream provider for most SERP and business-data endpoints. Data reflects Google Business Profile listings, which are the canonical source for local business information — the same data that powers Google Maps and Google Search results. Data refreshes as businesses update their profiles or add reviews. For composite endpoints like Local Audit we operate our own collection infrastructure — we name the source because if you're running client work you need to know where the data comes from.
How fresh is the data?+
Business listings refresh daily. Ratings and review counts update within 24 hours of changes on Google Business Profile. Hours, categories, and contact information refresh as business owners update them. This is real-time enough for lead generation and market research — not suitable for minute-by-minute trading but perfect for sales prospecting, market sizing, and competitive intelligence.
Is it legal to scrape or access business listing data this way?+
Google Business Profile listings are public data — anyone can read them on Google Maps or Google Search without authentication. Third-party business listing APIs have been a standard category for over a decade (DataForSEO, Outscraper, Apify, BrightData). Google's Terms of Service govern automated access to Google's own services and are a civil contract, not a criminal statute. Federal courts in *hiQ v. LinkedIn* have consistently held that collecting and republishing publicly available data does not violate the Computer Fraud and Abuse Act. You're also not the one operating the collection — you're calling a hosted API whose upstream provider operates at scale. If you're running production client work, this is the standard, defensible path. (This is not legal advice; consult your counsel for your specific use case.)
Can I use this for sales prospecting and lead generation?+
Yes — this is a primary use case. Pull all businesses in a target category for your service areas. Filter by rating and review count to focus on established, reputable operators. Export as a lead list with names, phone numbers, and websites. Your agent can batch this across 10 cities in one run, generate a CSV or email list, and you cold-call the top prospects. Because pricing is per-business used, not per-seat or per-call, the cost is transparently low: 1,000 leads costs $1.
Can AI agents use the Business Listings API directly?+
Yes. Two integration paths. MCP: add Local SEO Data to your 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?+
Yelp Fusion API returns 20 results per call and enforces rate limits; pricing is per-seat subscription, minimum $25K/year. Foursquare Places API returns 50 per call and charges per-request; pricing starts at $99/mo with overage fees. Outscraper and Apify scrape Google Maps but are brittle (break when Google changes pages) and cost $0.02–$0.10 per result. Our endpoint returns 200 per call, costs $0.001 per business ($0.05 per 50), integrates with MCP, and is backed by stable infrastructure (DataForSEO). For bulk lead generation and market research, the math is sharply in our favor.
How does this compare to Apollo, Hunter.io, and ZoomInfo for B2B prospecting?+
Apollo, Hunter.io, and ZoomInfo are B2B-focused tools — they specialize in finding contact information (emails, phone numbers, LinkedIn profiles) for decision-makers at companies. The Business Listings API returns business locations and contact info but is category and geography-focused, not person-focused. If you're selling to a plumber business, you need their shop address and phone — that's us. If you need the plumber's owner name, email, and LinkedIn, that's Apollo or ZoomInfo. Many sales teams use both: our API builds the initial location/category list, then feed results into an enrichment tool like Apollo to find the decision-maker.
What changed in 2026 that made this category exist?+
MCP — the Model Context Protocol — became standard in late 2024 and went mainstream through 2025. It let agents call external APIs without bespoke integration code. The moment that happened, the right shape of a lead-generation tool flipped from 'dashboard with a login' to 'endpoint your agent calls'. Second, SaaS per-seat pricing fatigue hit. Teams pay $99/mo for Yelp Fusion or $199/mo for Foursquare and use 10% because the onboarding is heavy. The API model lets you pay for what you actually use. The dashboard era is winding down the same way the scraper era is.

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.

▌ MADE FOR THE NEW LOCAL SEO STACK