Google Geocoding Batch Scraper
Pricing
from $8.00 / 1,000 geocode results
Go to Apify Store
Google Geocoding Batch Scraper
Convert a list of addresses to latitude/longitude (forward geocoding) or coordinates to addresses (reverse geocoding) in bulk using the official Google Geocoding API.
Pricing
from $8.00 / 1,000 geocode results
Rating
0.0
(0)
Developer
Andrew
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Convert a bulk list of addresses to latitude/longitude — or coordinates back to clean, normalized addresses — using the official Google Geocoding API. Stop running one-off cURL calls; paste your list and export.
What you get
- Forward geocoding — address → lat/lng, placeId, formatted address, and split components (street, locality, country, postal code, etc.)
- Reverse geocoding — lat/lng → formatted address, placeId, and the full component breakdown
- One dataset row per result — Google sometimes returns multiple candidates per input; each one is its own row with a
rank - All address components extracted — street number, route, neighborhood, locality, admin areas, country, country code, postal code, plus code
- Per-input error handling — bad inputs get a row with
statusset toINVALID_INPUT,ZERO_RESULTS, etc.; the run continues - Region & component biasing — pin forward geocoding to a country, restrict by admin area, or filter reverse geocoding by location type
Use cases
- CRM cleanup — turn a column of free-text addresses into normalized fields with lat/lng for mapping
- Real estate / property data — resolve street addresses to coordinates for distance, school zone, and amenity analysis
- Logistics & routing — pre-geocode delivery addresses before bulk routing
- Reverse-lookup analytics — turn GPS pings into city/neighborhood for cohort analysis
- Address validation — flag inputs that return
partial_match: trueorZERO_RESULTSfor cleanup
How to use
- Pick a Mode:
- Forward — address strings, one per line.
- Reverse —
lat,lngpairs (e.g.40.7128,-74.006), one per line.
- Paste your list into Inputs.
- (Optional) Set Language for the formatted address (
en,es,fr, …). - (Forward only, optional) Set Region to bias by country (
us,gb,de) and Components to constrain (country:US). - (Reverse only, optional) Set Result type and Location type filters.
- Run — every result becomes its own dataset row.
Forward vs reverse examples
Forward input:
1600 Amphitheatre Pkwy, Mountain View, CA221B Baker Street, London
Reverse input:
37.4220,-122.084151.5237,-0.1585
Output schema
| Field | Type | Description |
|---|---|---|
input | string | Echo of the original input |
mode | string | forward or reverse |
rank | number | 1-based rank when Google returns multiple candidates |
status | string | OK, ZERO_RESULTS, INVALID_INPUT, OVER_QUERY_LIMIT, REQUEST_DENIED, INVALID_REQUEST, ERROR |
formattedAddress | string | null | Google's canonical address string |
latitude / longitude | number | null | Coordinates |
placeId | string | null | Google place ID — stable identifier |
locationType | string | null | ROOFTOP, RANGE_INTERPOLATED, GEOMETRIC_CENTER, APPROXIMATE |
partialMatch | boolean | null | true if Google guessed at part of the input |
types | string[] | Place types (e.g. street_address, locality) |
streetNumber | string | null | Street number component |
route | string | null | Street name |
neighborhood | string | null | Neighborhood |
subLocality | string | null | Sub-locality (e.g. NYC borough) |
locality | string | null | City |
adminArea1Long / adminArea1Short | string | null | State / region (full and abbreviated) |
adminArea2Long | string | null | County |
country | string | null | Country name |
countryCode | string | null | Two-letter country code |
postalCode | string | null | ZIP / postal code |
plusCodeGlobal | string | null | Global plus code |
plusCodeCompound | string | null | Compound plus code |
error | string | null | Error message if status is not OK |
Tips
- Use Components (
country:US) to prevent ambiguous addresses from matching the wrong country (e.g. "Springfield" matches dozens of places worldwide). locationTypematters —ROOFTOPis a precise address match;APPROXIMATEmeans Google fell back to a city center.partialMatch: trueis a strong signal the input had typos or missing parts — flag these for human review.- Google rate-limits aggressive batches; if you see
OVER_QUERY_LIMITconsistently, slow down or raise the quota in Google Cloud. - For reverse geocoding of a point with multiple result types, the first row is the most specific (street address) and later rows broaden up to country.