Forward & Reverse Geocoding API
195 COUNTRIES5 Credits / Lookup($0.20–$0.50 / 1,000 geocodes · $1 = 10,000 Credits)
Convert street addresses, postal codes, and commercial landmarks into verified latitude / longitude coordinates and canonical Google place_id (ChIJ...) identifiers across all 195 countries—or reverse-geocode GPS coordinates back into structured street components. Built as a global, cache-friendly alternative to Geocodio (geocod.io / geocode.io) and the $5.00/1K Official Google Geocoding API.
1. Forward Geocode
GET /v1/places/search — Address or business name → lat/lng, place_id, phone & website.
2. Reverse Geocode
GET /v1/geocode/reverse — GPS lat, lng → formatted street address, postal code & place_id.
3. Address Autocomplete
GET /v1/places/autocomplete — Sub-second typeahead predictions as users type partial addresses.
1. Forward Geocoding (Address → Coordinates & Place ID)
Pass any street address, postal code, intersection, or business name to GET /v1/places/search with limit=1 (or region=us / region=gb country bias). Unlike US/Canada-only tools like Geocodio (geocod.io / geocode.io), every response includes canonical place_id, numeric cid, and commercial POI metadata when matched.
curl -sS "https://api.placesdataapi.com/v1/places/search?q=350+Fifth+Ave+New+York+NY+10118&limit=1" \
-H "x-api-key: pd_live_your_api_key"import requests
res = requests.get(
"https://api.placesdataapi.com/v1/places/search",
headers={"x-api-key": "pd_live_your_api_key"},
params={"q": "350 Fifth Ave, New York, NY 10118", "limit": 1},
timeout=10,
).json()
place = res["data"][0]
print(place["latitude"], place["longitude"], place["place_id"], place["address"])const res = await fetch(
"https://api.placesdataapi.com/v1/places/search?q=350+Fifth+Ave+New+York+NY+10118&limit=1",
{ headers: { "x-api-key": "pd_live_your_api_key" } }
);
const { data } = await res.json();
console.log(data[0].latitude, data[0].longitude, data[0].place_id);{
"code": 0,
"status": "ok",
"data": [
{
"place_id": "ChIJaXQRs6lZwokRY6EFpJnhNNE",
"cid": "15075007204967424355",
"name": "350 5th Ave",
"address": "350 5th Ave, New York, NY 10118, USA",
"latitude": 40.7484405,
"longitude": -73.9856644
}
],
"meta": {
"endpoint": "/v1/places/search",
"count": 1,
"credits_charged": 5
}
}2. Reverse Geocoding (Lat/Lng → Structured Street Address)
Pass WGS84 lat and lng coordinates to GET /v1/geocode/reverse to resolve rooftop street addresses, postal codes, administrative regions, and Google place_id values for 5 Credits per call.
curl -sS "https://api.placesdataapi.com/v1/geocode/reverse?lat=40.7484405&lng=-73.9856644&language=en" \
-H "x-api-key: pd_live_your_api_key"import requests
res = requests.get(
"https://api.placesdataapi.com/v1/geocode/reverse",
headers={"x-api-key": "pd_live_your_api_key"},
params={"lat": 40.7484405, "lng": -73.9856644, "language": "en"},
timeout=10,
).json()
print(res["data"]["formatted_address"], res["data"]["place_id"])const res = await fetch(
"https://api.placesdataapi.com/v1/geocode/reverse?lat=40.7484405&lng=-73.9856644&language=en",
{ headers: { "x-api-key": "pd_live_your_api_key" } }
);
const { data } = await res.json();
console.log(data.formatted_address, data.place_id, data.address_components);{
"code": 0,
"status": "ok",
"data": {
"formatted_address": "350 5th Ave, New York, NY 10118, USA",
"place_id": "ChIJaXQRs6lZwokRY6EFpJnhNNE",
"latitude": 40.7484405,
"longitude": -73.9856644,
"address_components": {
"street_number": "350",
"route": "5th Ave",
"locality": "New York",
"administrative_area_level_1": "NY",
"postal_code": "10118",
"country": "US"
}
},
"meta": {
"endpoint": "/v1/geocode/reverse",
"credits_charged": 5
}
}3. Parameter Mapping from Geocodio (geocod.io / geocode.io) & Google
Switching from api.geocod.io/v1.7/* or maps.googleapis.com/maps/api/geocode/json takes less than two minutes. Compare full volume pricing on our Geocodio (geocode.io / geocod.io) Alternative benchmark or test interactive lookups in the Free Place ID & Coordinate Finder.
| Operation | Geocodio (geocod.io) / Google | PlacesData API Equivalent |
|---|---|---|
| Forward Geocode | GET /v1.7/geocode?q=<addr> | GET /v1/places/search?q=<addr>&limit=1 (5 Credits) |
| Reverse Geocode | GET /v1.7/reverse?q=<lat,lng> | GET /v1/geocode/reverse?lat=<lat>&lng=<lng> (5 Credits) |
| Address Typeahead | Not in Geocodio ($2.83/1K on Google) | GET /v1/places/autocomplete?input=<text> (5 Credits) |
| Country Bias | country=US|CA only (Geocodio) | region=<iso2> (195 countries supported) |
Frequently Asked Questions
- How does PlacesData API compare to Geocodio (geocod.io / geocode.io) and Google Geocoding API?
- Developers searching for "geocode.io" or migrating off Geocodio (geocod.io) often need international coverage or canonical Google Place IDs (ChIJ...). While Geocodio ($0.50/1K) only covers US and Canada street interpolation without Place IDs or business data, and Official Google Geocoding charges $5.00/1K while restricting database storage, PlacesData API resolves addresses and coordinates across all 195 countries for 5 Credits per lookup ($0.20–$0.50 per 1,000 lookups) with permanent PostgreSQL/CRM storage allowed.
- How do I run high-throughput batch geocoding without CSV upload queues?
- Instead of uploading static CSV files and polling async jobs, stream concurrent HTTP GET requests directly to /v1/places/search (forward) or /v1/geocode/reverse (reverse). Free Sandbox keys support 60 RPM / 5 RPS out of the box, scaling up to 3,000 RPM on the Business plan ($499/mo).
- Are failed or empty address lookups charged Credits?
- Never. Zero-result queries, malformed addresses, and 4xx/5xx responses always cost 0 Credits.
- Which endpoint should I use for checkout address typeahead vs backend coordinate geocoding?
- Use GET /v1/places/autocomplete (5 Credits / call) for interactive frontend search bars where users type partial street strings, and GET /v1/places/search?q=<address>&limit=1 (5 Credits / record) or GET /v1/geocode/reverse (5 Credits / call) for server-side coordinate, postal code, and ChIJ... Place ID resolution.
Start with 12,000 Free Credits (2,400 Geocodes)
Instant API key in 5 seconds · No credit card required · Plus +20,000 Sandbox Streak bonus Credits.