Google Maps Rank Tracker (Geo-Grid Heatmap) avatar

Google Maps Rank Tracker (Geo-Grid Heatmap)

Pricing

$10.00 / 1,000 grid point checkeds

Go to Apify Store
Google Maps Rank Tracker (Geo-Grid Heatmap)

Google Maps Rank Tracker (Geo-Grid Heatmap)

Google Maps rank tracker for local SEO. Enter a business and a keyword to see its rank at every point of a 3x3 to 9x9 geo-grid, with the top 3 competitors per point, average rank, % in the map pack and a heatmap PNG. Pay per point, no subscription.

Pricing

$10.00 / 1,000 grid point checkeds

Rating

0.0

(0)

Developer

Jamie Fitzgerald

Jamie Fitzgerald

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

A business can rank #2 on Google Maps at its own front door and not show up at all two miles away, where most of its customers are. Checking from one spot hides that. This Google Maps rank tracker checks the rank at every point of a grid across the service area and draws it as a heatmap, so you can see where the business actually shows up and who beats it everywhere else.

Give it a business, one or more keywords and a grid from 3x3 to 9x9. You get the rank at each point, the top 3 businesses there, a summary and a PNG heatmap. It does the same job as Local Falcon or BrightLocal grids, but you pay $0.01 per point checked. No subscription, no credits that expire.

Sample geo-grid heatmap

Sample: an HVAC company, "furnace repair", 5x5 grid, 1 mile apart. It ranks #2 at its own address but isn't in the top 20 at 17 of 25 points.

How to use the Google Maps rank tracker

  1. Type the business name as it shows on Google Maps, with the town (e.g. "Joe's Plumbing Austin TX").
  2. Add one or more keywords customers search for (e.g. "plumber", "water heater repair").
  3. Pick a grid size. 3x3 costs $0.09 per keyword, 5x5 costs $0.25.
  4. Run it. The heatmap and summary are in the Storage tab (key-value store), and the rank at every point is in the dataset.

Run it with no input and it does a small 3x3 demo grid so you can see the output first.

What you get

  • Rank at every grid point (1-20, or up to 60), or null if the business isn't in the results there.
  • The top 3 businesses at each point, with name, place ID, rating and review count.
  • Summary per keyword:
    • average rank (not found counts as 21)
    • average rank where found
    • % of points in the top 3 (map pack) and top 10
    • points found
  • Top 10 competitors across the grid, ranked by how many points they hold in the top 3.
  • A heatmap image (PNG) you can drop into a report, a client pitch or an email, plus an HTML report with the image and tables.
  • Multiple keywords in one run. Each keyword gets its own grid, summary and heatmap.

Who uses a geo-grid rank tracker

  • Local SEO agencies running Local Falcon-style audits and monthly client reports.
  • Business owners checking whether they show up in the neighbourhoods they actually serve.
  • Lead generation: run a grid on a prospect and send them the heatmap.

Input

FieldWhat it does
businessNameName as shown on Google Maps, ideally with the town, e.g. "Brewer Heating & Air Conditioning West Chester PA".
placeIdOptional. Google place ID (ChIJ...). The most exact way to match the business.
keywordsWhat customers type into Maps, e.g. "hvac repair". One grid per keyword.
lat, lng or addressOptional grid centre. Defaults to the business's pin.
gridSize3 to 9 points per side: 3 = 9 points, 5 = 25, 7 = 49, 9 = 81.
spacing or radiusDistance between points, or from the centre to the edge. Default is 1 mile.
distanceUnitmi or km.
maxRankHow many results to check per point: 20 (default), 40 or 60.
viewportMetersHow zoomed-in the simulated Maps search is at each point. Default 3000.

Example:

{
"businessName": "Brewer Heating & Air Conditioning West Chester PA",
"keywords": ["hvac repair", "furnace repair"],
"gridSize": 5,
"spacing": 1,
"distanceUnit": "mi"
}

Output

The dataset has one row per keyword per grid point:

{
"business": "RJM Systems",
"placeId": "ChIJe-OxE7X7xokRxpPHnzvxfhE",
"keyword": "hvac repair",
"row": 1, "col": 0,
"lat": 39.965489, "lng": -75.6464,
"rank": 1,
"resultsChecked": 20,
"top3": [
{ "rank": 1, "name": "RJM Systems", "placeId": "ChIJe-OxE7X7xokRxpPHnzvxfhE", "rating": 4.6, "reviews": 132 },
{ "rank": 2, "name": "Brewer Heating & Air Conditioning", "placeId": "ChIJB9I16WbxxokRFhJ0VpWfU-4", "rating": 4.9, "reviews": 257 },
{ "rank": 3, "name": "Brandywine Valley Heating & Air Conditioning", "placeId": "ChIJj_UAuNvzxokRh1ntAuAcwYI", "rating": 4.9, "reviews": 622 }
]
}

Row 0 is the north edge and column 0 is the west edge. Rows may arrive out of order, so sort by row and col.

The key-value store holds:

  • SUMMARY: summary and competitor list for every keyword.
  • HEATMAP-<keyword>.png: heatmap image.
  • HEATMAP-<keyword>.html: report with the image, the competitor table and every point.

Pricing

$0.01 per grid point checked. One keyword at one point is one charge. Platform usage is included.

GridPointsCost per keyword
3x39$0.09
5x525$0.25
7x749$0.49
9x981$0.81

Set a maximum cost per run in Apify and the actor stops cleanly when it hits it.

How accurate is geo-grid rank tracking?

  • It's a simulated search, not a real phone. At each point the actor runs a Google Maps search with the map centred there. This is the same approach Local Falcon and similar tools use. It is not a GPS reading from a real device, and Google personalises results by search history, device and exact location. Real customers can see somewhat different results.
  • Expect about ±2 positions of noise. Running the same grid twice, or from a different server, moved ranks by 1-2 places at some points in our tests. Look at the pattern across the grid, not at one number.
  • Results change over time. Google reshuffles local results often. Re-run on a schedule to track trends.
  • Ads are not flagged. Results appear to be organic listings, but sponsored pins aren't marked separately.
  • Name matching is strict. If the business isn't found, give its placeId. With only a name, the actor uses the top Google Maps match near the centre and logs which business it picked.
  • Plain background. The heatmap draws the grid on a plain background with a scale bar and a north marker, not on a street map.

Tips

  • Start with a 5x5 grid at 0.5-1 mile spacing for a town, or 2-3 miles for a metro service area.
  • Track the 2-3 keywords that actually bring in calls, and re-run weekly or monthly with an Apify schedule.
  • The competitor list shows who to study: their categories, review counts and how close they are to each point.

About the author

I'm Jamie FitzGerald. I write Python and JavaScript, and most of my public projects are machine-learning models for markets, like LSTM models that predict SPY's next-day move.

Code and other projects: github.com/jfitz001

If a business won't match, a grid looks wrong, or you want a feature, open an issue on the Issues tab. I read them.

FAQ

Do I need a Google API key? No.

Does it work outside the US? Yes. Set country (Google gl code, e.g. gb) and language (hl, e.g. en).

Can I scan a service-area business with no public address? Yes. Give its name or place ID and a centre with lat/lng or address.