DEV Community

Ryan York
Ryan York

Posted on

I Open-Sourced Our Local SEO Data Collection Tool

We just open-sourced the Node.js script we use to pull competitive market data from the Google Places API for local SEO analysis.

Repo: github.com/webpossible/local-seo-data

What It Does

Give it an industry ("dentist", "HVAC company", "med spa") and a county, and it:

  1. Searches multiple cities for comprehensive coverage
  2. Deduplicates by name + address
  3. Filters to the target county (city name matching + lat/lng bounding box)
  4. Sorts by review count
  5. Calculates market averages
  6. Groups by city for density analysis
  7. Outputs clean JSON

Why We Built It

We run a local SEO agency in Southeast Michigan. When we onboard a new client, we want to show them:

  • How many competitors they actually have
  • Who dominates reviews (and by how much)
  • Which cities are saturated vs underserved
  • What a realistic path to map pack visibility looks like

Most agencies pitch SEO services without knowing any of this. We wanted data-driven strategies instead of guesswork.

Example: Dental in Oakland County, MI

Total: 272 dental practices
Reviews: 85,614 combined
Avg rating: 4.73
Top provider: Southfield Family Dental (2,537 reviews)
Top cities: Novi (20), Southfield (19), Royal Oak (19), Troy (19)
Enter fullscreen mode Exit fullscreen mode

That data immediately tells us:

  • Competition is extreme and evenly distributed (no geographic shortcut)
  • Average practice has 315 reviews — that's the benchmark
  • Emergency, routine, and cosmetic dental searches each need different strategies

Tech Stack

  • Google Places API (New) — text search endpoint
  • Node.js with native fetch
  • Rate limiting (150ms between requests)
  • No dependencies beyond Node 18+

How to Use It

git clone https://github.com/webpossible/local-seo-data
cd local-seo-data
export GOOGLE_PLACES_API_KEY="your-key"
node fetch-places.js
Enter fullscreen mode Exit fullscreen mode

Edit the INDUSTRIES, SEARCHES, and COUNTY_CITIES arrays for your target market.

Published Data

We publish the results as free market reports at webpossible.com/local/ — 7 industries across 2 Michigan counties. Every provider ranked by reviews with competitive analysis.

Feel free to fork, adapt for your market, or just use the data we've already published.


WebPossible — local SEO and AI automation for small businesses.

Top comments (0)