1. What 10K, 100K, and 1M Lookups Cost on Geocodio vs PlacesData API
Here is the exact math for running 10,000, 100,000, and 1,000,000 geocoding lookups on Geocodio Pay-As-You-Go, Geocodio Unlimited, and PlacesData API.
| Batch / Monthly Volume | Geocodio PAYG (Base US/CA Coordinate) | Geocodio PAYG (+2 Data Appends) | PlacesData API (195 Countries + Business POI) |
|---|---|---|---|
| 10,000 Lookups (Single Run) | $3.75 (first 2,500 free + 7,500 × $0.50/1K) | $13.75 (30,000 billed lookups) | $2.00 – $5.00 (or $0 within 12,000 Free Sandbox Credits) |
| 100,000 Lookups | $48.75 (US & Canada street addresses only) | $148.75 (300,000 billed lookups) | $20.00 – $50.00 (includes Place ID, phone, website & hours) |
| 1,000,000 Lookups | ~$425 PAYG (tiered) or $1,000/mo Unlimited | ~$1,050 PAYG or $1,000/mo Unlimited | $200.00 – $500.00 (global 195 countries, p50=39ms) |
| International (UK, EU, LATAM, APAC) | Not supported (US & Canada only) | Not supported | $0.20 – $0.50 / 1,000 records (195 countries) |
2. Honest Decision Matrix: When Geocodio Is Cheaper vs When You Need PlacesData API
Both APIs solve distinct geospatial workloads. Choosing the right one prevents either overpaying for US street lists or hitting coverage walls on international and B2B lead pipelines.
Stick with Geocodio (geocod.io) when your dataset consists purely of US or Canadian residential/street addresses and you need rooftop coordinates or US Census FIPS codes, Congressional districts, or state legislative districts. If your daily job is under 2,500 US street addresses, Geocodio's free daily allowance costs $0.
Use PlacesData API when your product or data pipeline needs any of three capabilities Geocodio does not offer: (1) international geocoding outside the US and Canada across 195 countries, (2) canonical Google Maps Place IDs (ChIJ...) and numeric CIDs to join records with Google Maps, or (3) commercial business POI attributes—including E.164 phone numbers, company websites, opening hours, customer reviews, and website B2B email enrichment (/v1/leads/enrich).
Global Forward & Reverse Geocoding + Business POI Lookup (5 Credits / Record)
Resolve any international street address or GPS coordinate into lat/lng, canonical Google place_id, and business contact metadata.
# Forward geocode + business POI lookup (5 Credits)
curl -sS "https://api.placesdataapi.com/v1/places/search?q=221B+Baker+Street+London+UK&limit=1" \
-H "x-api-key: pd_live_your_api_key"
# Reverse geocode coordinates -> structured address + ChIJ place_id (5 Credits)
curl -sS "https://api.placesdataapi.com/v1/geocode/reverse?lat=51.523767&lng=-0.1585557" \
-H "x-api-key: pd_live_your_api_key"import requests
HEADERS = {"x-api-key": "pd_live_your_api_key"}
# 1) Forward geocode any global address or business (195 countries)
fwd = requests.get(
"https://api.placesdataapi.com/v1/places/search",
headers=HEADERS,
params={"q": "221B Baker Street, London NW1 6XE, UK", "limit": 1},
timeout=10,
).json()["data"][0]
print(fwd["latitude"], fwd["longitude"], fwd["place_id"], fwd["address"])
# 2) Reverse geocode lat/lng -> formatted street address + Place ID
rev = requests.get(
"https://api.placesdataapi.com/v1/geocode/reverse",
headers=HEADERS,
params={"lat": fwd["latitude"], "lng": fwd["longitude"]},
timeout=10,
).json()["data"]
print(rev["formatted_address"], rev["address_components"])const headers = { "x-api-key": "pd_live_your_api_key" };
const { data: [place] } = await fetch(
"https://api.placesdataapi.com/v1/places/search?q=221B+Baker+Street+London+UK&limit=1",
{ headers }
).then((r) => r.json());
console.log(place.place_id, place.latitude, place.longitude, place.address);{
"code": 0,
"provider": "https://placesdataapi.com",
"status": "ok",
"data": {
"formatted_address": "221B Baker St, London NW1 6XE, UK",
"place_id": "ChIJbe6a48cadkgRca2720a761c",
"latitude": 51.523767,
"longitude": -0.1585557,
"address_components": {
"street_number": "221B",
"route": "Baker St",
"locality": "London",
"postal_code": "NW1 6XE",
"country": "GB"
}
},
"meta": {
"endpoint": "/v1/geocode/reverse",
"credits_charged": 5,
"took_ms": 39
}
}Interactive Engineering Workbench · Honest Comparison
Verify real-time latency, credit math & JSON schema
Frequently Asked Questions
- How much does Geocodio cost per 1,000 lookups in 2026?
- Geocodio provides 2,500 free lookups per day on its Pay-As-You-Go plan and charges $0.50 per 1,000 lookups beyond that (with tiered volume discounts starting above 250,000 lookups and a $1,000/month single-instance Unlimited plan). Each appended field (such as Census FIPS or timezone) counts as +1 additional lookup.
- Does Geocodio support addresses outside the US and Canada or return Google Place IDs?
- No. Geocodio only supports street addresses, intersections, and postal codes in the United States and Canada, and it does not return Google Maps Place IDs (ChIJ...), business phone numbers, websites, opening hours, or customer reviews. For global 195-country geocoding and commercial POI data, use PlacesData API ($0.20–$0.50/1,000 records).
- Where can I compare Geocodio and PlacesData API side by side?
- See our full feature and code benchmark at /compare/geocodio, our developer geocoding reference at /docs/geocoding, and our Python reverse geocoding tutorial at /guides/reverse-geocoding-api-coordinates-to-address-python.