GBP Local Pack Rank Tracker (UK Postcode-Level) avatar

GBP Local Pack Rank Tracker (UK Postcode-Level)

Pricing

from $10.00 / 1,000 local pack check in packs

Go to Apify Store
GBP Local Pack Rank Tracker (UK Postcode-Level)

GBP Local Pack Rank Tracker (UK Postcode-Level)

Tracks a business's position in the Google local 3-pack and organic local results for a given keyword, measured from specific UK postcodes rather than city-level. From £0.006 per real check.

Pricing

from $10.00 / 1,000 local pack check in packs

Rating

0.0

(0)

Developer

joseph fadero

joseph fadero

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Google Business Profile + Local Pack Rank Tracker (UK Postcode-Level)

Tracks a business's position in the Google local 3-pack and organic local results for a given keyword — measured from specific UK postcodes, not just city-level. From £0.006 per real check.

Why postcode-level

Google's local pack is hyper-local: a business ranked #1 from one street can be invisible three miles away. Most rank trackers only support city or region-level location targeting. This actor geocodes real UK postcodes (via postcodes.io) to precise lat/long coordinates and uses those to geolocate the underlying Google search, so you see exactly what a customer at that postcode sees.

How it works

  1. Postcode → lat/long: each postcode (full, e.g. CM23 2AB, or outward-only, e.g. CM23) is geocoded via postcodes.io — a free, no-key, real UK postcode API.
  2. Geolocated Google search: for each keyword × postcode pair, the actor calls Apify's own apify/google-search-scraper via Actor.call(), passing a locationUule parameter built from the postcode's exact lat/long (Google's own UULE geolocation encoding) — not just a country/region string.
  3. Local pack + organic parsing: parses both the local 3-pack (localResults) and organic results (organicResults) from the sub-actor's real dataset output.
  4. Fuzzy business-name matching: matches businessName against every pack/organic result name, case-insensitively and tolerant of minor punctuation, &/and, legal suffixes (Ltd/Limited), and trailing branch qualifiers.
  5. "No local pack shown" is a valid result — not an error. Many keyword×postcode combinations genuinely show no map pack.

Inputs

FieldDefaultDescription
businessNameAcme PlumbingBusiness name to track (fuzzy-matched)
keywords["emergency plumber"]Local search keywords to check
postcodes["CM23 2AB"]UK postcodes (full or outward code) to search from
searchRadius5000Meters — advisory only. Google's UULE geolocation determines the actual geolocated viewpoint; this radius is not enforced by the underlying search API. Recorded on each output row for your own reference.

Output fields (per keyword × postcode)

FieldDescription
keywordThe keyword checked
postcodeThe postcode searched from
searchRadiusThe advisory radius passed in input
localPackShownWhether Google showed a local 3-pack for this query at all
localPackPosition1-3 if the business is in the pack, else null
organicPositionOrganic ranking position, or null if not found in scraped results
competitorsInPackArray of {name, position} for every other business in the pack
timestampISO timestamp of the check

Pricing (Pay-Per-Event)

EventPriceWhen charged
Actor Start$0.05Once per run (built-in)
Organic-Only Check$0.003Query run, no local pack shown for that keyword×postcode
Local Pack Check Not In Pack$0.006Pack shown, tracked business absent from it
Local Pack Check In Pack (primary)$0.01Pack shown, tracked business ranked 1st-3rd
Competitor Snapshot$0.001Per additional competitor captured in the pack alongside the tracked business

Notes

  • Business-name matching is intentionally conservative-but-tolerant: it normalizes case, punctuation, &/"and", and common legal suffixes, and allows either name to contain the other (so "Acme Plumbing" matches "Acme Plumbing - Bishop's Stortford" branch listings).
  • Uses the same Actor.call() sub-actor pattern already proven in this account's serp-ai-visibility-tracker, including its fix for the sub-actor's lowercase countryCode enum and the requirement to pass APIFY_TOKEN explicitly to ApifyClient (it is not read from the environment automatically).