Reverse Geocoding

A coordinate in.
The nearest address out.

Submit latitude/longitude pairs and get each one back as a row - the closest human-readable address, split into street, city, county, state and postcode, with a Plus Code and an IANA time zone alongside. Nineteen columns in the current shape, measured from real exports.

one-time 500 free rows$0.002 per row afterup to 1,000 coordinates per requestCSV · JSON · Excel
Read this first

“Nearest” is doing
a lot of work.

This is the one thing about reverse geocoding that surprises people, and it showed up plainly in our own exports.

Reverse geocoding does not look up “the address of this point”. It finds the nearest mapped object and reports that object's address. Usually the nearest object is a building and the answer is what you expected. Sometimes it is not.

One of our two test coordinates - 40.7449819,-74.0271321 in Hoboken - came back as 1, Hudson Street, Uptown, Hoboken, Hudson County, New Jersey, 07030, United States, with type set to bench and class to amenity. The pin was closest to a park bench, so the row describes a bench. The address is not wrong, but it is the address of a bench, and nothing in the address columns alone would tell you that.

That is why class and type matter more here than on the forward-geocoding side, and why they are the first columns to read after the address. Our other coordinate resolved to class place and type house - a real building. Filter on those two fields when the distinction matters to you, and treat the result as “what is nearest” rather than “what is at”.

livescraper.app · what's verified
Input is a coordinate pair - documented
Up to 1,000 coordinates per request - documented
11 response fields - documented AND measured
8 further columns - measured from the exports
One of our two pins resolved to a bench!
Read class and type before you trust the address.
How it works

Coordinates in,
addresses out.

A latitude/longitude pair is the entire input. There are no filters to configure.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open Reverse Geocoding.
  3. STEP 3Paste your coordinate pairs, one per line.
  4. STEP 4Pick your output format.
  5. STEP 5Click Get Data, then read class and type first.

Both separators the reference documents work - a comma as in 37.427074,-122.1439166, or a space as in 40.7624284 -73.973794.

Data dictionary

Nineteen columns,
and what each one held.

Measured from 5 real exports covering 8 rows and 2 distinct coordinates. Names are copied byte-for-byte from the header row, in sheet order. Example values below are real cells from those runs.

query
The coordinate pair exactly as you submitted it - e.g. 37.427074,-122.1439166. Present on every row of every run.
lat
Latitude, as a number - e.g. 37.427074. Echoes your input rather than snapping to the matched object.
lon
Longitude, as a number - e.g. -122.1439166.
address
The nearest object's address as one comma-separated string: 321, South California Avenue, Evergreen Park, Palo Alto, Santa Clara County, California, 94306, United States.
type
The value of the matched object's main OpenStreetMap tag. house on one of our rows - and bench on the other. Read this before you trust the address.
class
The key of that same tag - place and amenity respectively. class and type are a pair.
osm_type
Which kind of OpenStreetMap object matched - node on both of our rows.
osm_id
That object's OpenStreetMap id, as a number - e.g. 1734450110.
city
City or town - Palo Alto, Hoboken. Wide shape only.
country_code
Two-letter country code - US. Note this service returns a code where Geocoding returns a full country name.
county
County - Santa Clara County, Hudson County.
photo
A ready-made Google Street View link built from your coordinates. Same URL pattern that Geocoding returns under the name street_view.
plus_code
The Open Location Code for the point - 849VCVG4+RC, 87G7PXVF+X4. A short grid reference that works without a street network.
postal_code
Postcode - 94306, 07030.
state
State or region - California, New Jersey.
street
Street line - 321 South California Avenue, 1 Hudson Street.
time_zone
IANA time-zone name - America/Los_Angeles, America/New_York. Directly usable for local-time maths.
latitude
Latitude again, same numeric value as lat.
longitude
Longitude again, same numeric value as lon.

Every column above carried a real value in the runs we hold. The sample is small and deliberately not expressed as a percentage - 8 rows across 2 coordinates tells you the shape of an export reliably and tells you nothing about behaviour at volume. The single most useful habit this table can give you: read class and type before you read the address, because they are what distinguishes a building from a bench.

Before you wire it up

Four notes for
whoever writes the importer.

Each of these came out of reading the exports rather than the reference, which is why they are worth the space.

The address may belong to a bench

Our Hoboken pin returned a complete, well-formed street address whose type was bench. Reverse geocoding answers “what is nearest”, not “what is at this point”, and street furniture is mapped too. If you are matching pins to premises, filter on class and type - or you will silently record a bench as a business address.

Coordinates are numbers here - and strings on the forward service

lat, lon, latitude and longitude all arrive as JSON numbers in every row we hold. On Geocoding the same four fields arrive as strings. If you share one parser between the two services, that difference will bite exactly once, in production, on a sort.

There are two export shapes, not one

The older shape returns eight columns - query, lat, lon, address, type, class, osm_type and osm_id. The current one returns those plus eleven more, the same eleven the reference enumerates. Code against the eight and treat the rest as present-if-present rather than assuming a fixed header.

The column names differ from the forward service

This one returns photo and country_code; Geocoding returns street_view and country. The Street View URLs follow the same pattern and the country fields hold different things - a two-letter code here, a full name there. If you normalise both into one table, map the names explicitly rather than trusting them to line up.

Common workflows

Three jobs people
most often run here.

Anywhere your data arrives as coordinates and has to be read by a human - or joined to something that has an address.

Fleet and field data

Turn GPS pings into readable stops

Vehicle trackers, delivery apps and mobile forms all record coordinates. Running them through here turns a column of decimals into street, city and postcode, so a route report can be read without a map open beside it - and so stops can be grouped by area.

Logistics · Field ops
Photo and asset location

Label anything with a coordinate on it

Photos, inspection records, sensor readings and incident reports often carry a lat/long and nothing else. One pass gives each of them an address, a county and a time zone, which is usually what turns a raw log into something a reporting tool can group.

Operations · Compliance
Data quality

Check a coordinate against a claimed address

When a record holds both an address and a coordinate, reverse geocoding the coordinate and comparing the two catches transposed digits and mis-typed postcodes. Read class and type when you do it, so a nearby bench does not look like a mismatch.

Data engineering · Risk
Pricing

Pay only for the rows
you actually pull.

No subscription, no minimum, no per-seat licence. Your first 500 rows are on us - after that, pay-as-you-go.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Worth spending some on coordinates whose answers you already know, so you can see how often the nearest mapped object is the one you meant.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 coordinates, one row per coordinate - exact to budget, because a coordinate that resolves to nothing still returns exactly one row.

Most popular
Enterprise

Custom · recurring jobs

Volume pricing, SLAs, dedicated workers and bespoke onboarding for teams reverse-geocoding a live feed on a schedule. Tell us your numbers and we'll quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The other direction,
and what's there.

One turns addresses into coordinates; the other tells you which businesses sit at them.

The legal bit

Facts about
places, not people.

One of the lighter questions in the catalogue, and it is worth saying why rather than simply asserting it.

A coordinate, the address nearest to it and its time zone are facts about a location. Nothing in these nineteen columns describes a person: there is no name, no occupant, no contact detail. The underlying geography comes from OpenStreetMap, a public collaborative map, which is why the export carries OSM's own object ids and tags.

The thing worth thinking about is your input, and it deserves slightly more care here than on the forward service. A list of coordinates from phones, vehicles or wearables is a record of where people or their assets were - that is personal data in most jurisdictions before it ever reaches us, and resolving it to street addresses makes it more legible, not less sensitive. Hold it to the same standard you would hold the tracking data it came from. If you need to know who is at an address, that is a different and far more restricted category, covered by Whitepages Addresses with its own permitted-use rules.

On our side: publicly available sources only, nothing behind a login, no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Places and coordinates, not people
Publicly available sources only
Nothing behind a login
Exports auto-delete (30 days)
Location traces are personal data - handle the input accordingly!
Facts about a location, not about who is at it.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

What exactly comes back?+
Nineteen columns in the current shape. The reference publishes eleven of them - query, address, city, country_code, county, photo, plus_code, postal_code, state, street and time_zone - and the export adds eight more: lat, lon, type, class, osm_type, osm_id, latitude and longitude. Every one carried a real value in the runs behind this page.
Why did my coordinate return a bench?+
Because reverse geocoding returns the nearest mapped object, and benches are mapped. One of our two test pins came back with a complete Hoboken street address whose type was bench and class was amenity. The address is real; it just belongs to street furniture rather than a building. Read class and type before you treat a row as a premises address.
How should I format the coordinates I submit?+
Either separator the reference documents works - a comma, as in 37.427074,-122.1439166, or a space, as in 40.7624284 -73.973794. The pair you send is echoed back in query, and lat/lon carry your input rather than snapping to the matched object.
Are the coordinates numbers or strings?+
Numbers, in every row we hold - lat, lon, latitude and longitude all arrive as JSON numbers. That differs from Geocoding, where the same four fields arrive as strings. If you share one parser across both services, handle that explicitly.
What is the plus_code column?+
An Open Location Code - a short grid reference like 849VCVG4+RC that identifies a small area without needing a street network. It is useful for places that have no conventional address, and it is stable enough to use as a coarse key.
How many coordinates can I submit at once?+
The reference documents batching of up to 1,000 coordinate pairs per request, sent as an array. Our own runs were small - eight rows across five exports - so we quote that figure as documented rather than as something we have exercised at scale.
How much does it cost?+
The first 500 rows on a new account are free and one-time; after that it's $0.002 per row - about $2 per 1,000 coordinates - pay-as-you-go with no subscription. One row per coordinate makes it exact to budget. Credits don't expire and there's no monthly reset.

Turn coordinates into
something readable.

Paste your latitude/longitude pairs and get the nearest address, its parts, a Plus Code and a time zone for each. Your first 500 rows are free - enough to see how often the nearest mapped object is the one you meant.

Activates instantly · no card required

Reverse Geocoding - convert coordinates to addresses at scale

Reverse geocoding is the step that makes coordinate data readable. GPS trackers, mobile forms, photos and sensors all record latitude and longitude and nothing else; turning a column of decimals into a street, a city and a postcode is what lets that data be grouped, reported on and understood by someone without a map open beside them. This service does it in bulk: submit coordinate pairs - comma-separated or space-separated, both documented - and each comes back as a single row.

The current export carries nineteen columns. Eleven are published by the reference: the submitted query echoed back, the nearest address as one comma-separated string, city, two-letter country code, county, a ready-made Google Street View link, a Plus Code, postcode, state, street and an IANA time zone. The export adds eight more that the reference does not mention: a numeric lat/lon pair echoing your input, the OpenStreetMap class and type of the matched object, its OSM object type and id, and a duplicate latitude/longitude pair. Across five real exports covering eight rows, every one of the nineteen carried a real value.

The single most important thing to understand is what "nearest" means. Reverse geocoding does not report the address of your point; it finds the nearest mapped object and reports that object's address. Usually that object is a building. Sometimes it is not: one of the two coordinates behind this page, in Hoboken, returned a complete and well-formed street address whose type was bench and whose class was amenity. The pin was closest to a park bench, so the row describes a bench. Nothing in the address columns alone would reveal that, which is why class and type are the first fields to read after the address, and why anyone matching pins to premises should filter on them. Three further details matter to whoever writes the importer, all observed rather than assumed. Coordinates arrive here as JSON numbers, whereas the forward Geocoding service returns the same fields as strings - a difference that will surface exactly once, in production, on a sort. There are two export shapes, an older eight-column form and the current nineteen-column one, so code against the eight and treat the rest as optional. And the column names differ from the forward service in two places: this one returns photo and country_code where Geocoding returns street_view and country, the latter holding a full country name rather than a two-letter code.

On the legal side this is among the lighter services in the catalogue: a coordinate, its nearest address and its time zone are facts about a place, and none of the nineteen columns describes a person. The underlying geography comes from OpenStreetMap, a public collaborative map. The input deserves more thought than the output, though. A list of coordinates taken from phones, vehicles or wearables is a record of where people or their assets were - personal data in most jurisdictions before it reaches us - and resolving it to street addresses makes it more legible rather than less sensitive, so it should be held to the same standard as the tracking data it came from. Publicly available sources only, nothing behind a login, no third-party trackers on the data layer, and exports auto-delete after 30 days. Your first 500 rows are free and need no credit card.