Local SEO 5 min readUpdated May 2026

Track local-pack rank on 50+ category queries weekly

Define the category + region combinations that matter (e.g. "emergency dentist in Austin", "Italian restaurant downtown"). Every Monday morning, get a fresh CSV showing exactly which businesses Google Maps ranks #1–#20 for each query — with week-over-week deltas so you can spot drops fast.

Typical runtime
~10 min / week
Typical volume
20–100 queries × N regions
Typical cost
~$5–$20 / week

The problem

Generic rank-trackers like Ahrefs and Semrush are excellent at national keyword data, but Google Maps local pack rankings vary by zip code. A dentist in 90210 sees a different top-3 in their Maps app than one in 90211. Most rank-trackers don\'t sample Google Maps directly — they sample organic web SERPs, which is a different surface entirely.

Livescraper\'s Google Maps Data Scraper returns Maps results in the exact order Google ranks them for that query + region. The first row in your CSV is who Google shows at position #1; row 2 is position #2; and so on. Combined with the rating, review count and verification data on each row, you can see not just who ranks where but WHY — and run the whole pipeline for cents per query.

How it works in Livescraper

  1. 1
    Define your query bank
    List the 20–100 category queries that drive your business — categories like "dentist", "italian restaurant", "law firm" plus the cities/areas you care about. One query + region per row.
  2. 2
    Pick regions precisely
    A region is a city, neighbourhood, or postcode. Maps ranks vary at zip-code granularity — same "best pizza" query in two adjacent postcodes can return a completely different top-3.
  3. 3
    Set the result depth
    Most teams pull top-20 results per query (enough to see your own listing if it's anywhere near the top). The row order in your CSV IS the Maps ranking — position 1 = top of local pack, position 2 = second, and so on.
  4. 4
    Run weekly on a schedule
    A Monday-morning cron with 100 queries × 1 region × 20 results = 2,000 rows = $4 per week. Cheaper than any rank-tracker we've seen.
  5. 5
    Diff against last week
    Most teams keep a "weekly_rank_history" table indexed by (query, place_id, week_starting). One SQL diff query surfaces your droppers and climbers — that's your Monday ops queue.

Worked example

A regional law firm with 4 offices tracked 38 high-intent category queries ("personal injury lawyer Austin", "DUI attorney Round Rock", etc.) across 4 metros, every Monday. In week 7, they spotted that their flagship office had dropped from local-pack position 2 to position 6 for their top revenue query — a $40k/year change in lead volume if uncorrected. Investigation: a competitor had earned 14 new reviews that week and re-passed them on review count, which Google\'s Maps ranker weights heavily. Within 2 weeks of a focused review-ask campaign at their own location, they were back to position 2. Detection took 6 days, not 6 months.

What you get back

One row per result per query per week. Fields from Google Maps Data Scraper:

  • Ranking signal: row position within the query results = Maps local-pack rank
  • Business: business_name, place_id, google_id, place_cid, full_address
  • Ranking factors visible to you: average_rating, total_reviews, reviews_per_score_1..5, is_verified, photos_count, working_hours
  • Contact: business_phone, business_website
  • Categorisation: type, sub_types, category — sometimes #1 ranks under a sub-category Google considers more relevant
  • Status: business_status — handy for flagging when a "temporarily closed" listing keeps ranking

Note: this approach tracks Google\'s Maps local pack ranking — the listings that appear when someone searches a category in a city. If you also need to track classic web-search organic rank (page-1 of google.com), pair this with a dedicated SERP-tracking tool — those two surfaces are different and need different tools.

weekquerymaps_rankbusiness_nameaverage_ratingtotal_reviews
2026-05-12personal injury lawyer austin1Greene & Associates4.8422
2026-05-12personal injury lawyer austin2Hill Country Law Group4.6318
2026-05-12personal injury lawyer austin3Austin Law Partners4.7287
Sample rows · not a real query result · your data will be richer

Best for / Not for

Best for

  • Local SEO agencies tracking client Maps-pack positions
  • Multi-location brands whose customers search by category + city
  • Service businesses (lawyers, dentists, contractors) with high local intent
  • Anyone whose existing rank-tracker doesn't cover Maps results directly

Not for

  • Pure ecommerce / national web-SERP keyword tracking — use Ahrefs or Semrush
  • Brand mention monitoring across non-Maps channels
  • Real-time alerting (Livescraper is pull-based, run on schedule)

FAQ

How granular can the region get?
Country, state/province, city, and zip/postcode. Zip-code granularity is where Maps actually differs most — same category-query in 90210 vs 90211 can return a completely different top-3.
How do you measure rank exactly?
When you run a Google Maps Data Scraper task with a category + region, Google returns Maps listings in their natural ranking order for that query. Row 1 in your CSV IS position #1 in the local pack; row 2 is position #2; and so on. You don't need to add a position column — it's the row index.
What about classic web SERPs (page 1 of google.com)?
This workflow tracks Google's Maps surface specifically — what shows up in the local pack when someone searches a category in a city. For organic web-SERP tracking (the blue-link list), use Ahrefs or Semrush; they're purpose-built for that.
Why does my rank fluctuate week to week?
Google's Maps ranking is multi-factor — review count, recency of new reviews, photo count, owner activity, NAP consistency, distance from the searcher's location, plus their black-box quality signals. A 2–3 position shift week-to-week is normal noise; a 5+ position drop is a real signal worth investigating.

Try this workflow free

500 free rows on signup. No card. No subscription. Pay only for what you scrape.

Run this workflow — free trial
Competitive

Track competitor reviews & SERPs

Watch competitor sentiment shift weekly; spot drops and new entrants early.

Read workflow
Operations

Audit your own listings

Pull every location you own; diff against your truth; find stale hours and bad phones.

Read workflow
Reputation

Monitor reviews across every location

Schedule weekly review pulls; route 1-stars to support and 5-stars to marketing.

Read workflow
← See all 9 use cases