PlacesData API vs Geocodio (geocod.io / geocode.io) · Google Geocoding API · Mapbox
$0.20 vs $0.50
per 1,000 global geocodes (195 countries vs US/CA only).
Searching for geocode.io or migrating off Geocodio (geocod.io)? Geocodio is restricted strictly to US & Canada street addresses ($0.50/1K PAYG or $1,000/mo Unlimited) and returns zero Google Maps Place IDs (ChIJ...), commercial POI phone numbers, websites, opening hours, reviews, or B2B emails. PlacesData API delivers global 195-country forward & reverse geocoding (/v1/places/search, /v1/places/autocomplete, /v1/geocode/reverse) with canonical Place IDs and 200M+ business profiles starting at $0.20–$0.50 per 1,000 lookups.
Instant API key in 5s · No credit card required (+20,000 Sandbox Streak Credits) · Pay via Stripe (Card, Apple Pay, Google Pay) or 0%-fee Crypto (+5% bonus)
Cost per 1,000 Google Maps Business Records (with Phone, Website & Hours)
$1.00 = 10,000 Credits (5 Credits / place). Empty search results (0 matches) cost 0 Credits. Crypto top-ups automatically include +5% Bonus Credits.
Side-by-side comparison.
| Capability | PlacesData API | geocod.io / geocode.io | Google Geocoding ($5/1K) | Mapbox Geocoding |
|---|---|---|---|---|
| Geographic country coverage | 195 countries worldwide | US & Canada only | 195 countries worldwide | Global coverage |
| Effective cost per 1,000 lookups | $0.20 – $0.50 / 1,000 lookups | $0.50 / 1,000 (after 2,500/day) | $5.00 / 1,000 requests | $0.75 – $5.00 / 1,000 (permanent) |
| Canonical Google place_id (ChIJ...) & CID | Included on every result | Not available | Included ($5.00/1K) | Not available (Mapbox IDs only) |
| Commercial POI phone, website & hours | Included free in /v1/places/search | Street rooftop / parcel only | Requires separate $32/1K Places call | Limited commercial POI fields |
| Permanent database & CRM caching | Yes (100% cacheable JSON) | Yes (US/CA addresses only) | Prohibited beyond 30 days | Requires $5.00/1K Permanent API |
| Forward, reverse & typeahead autocomplete | All 3 endpoints (5 Credits / call) | Forward & reverse only (no autocomplete) | Billed separately ($2.83–$5.00/1K) | Billed per session / request |
Competitor pricing verified from public pricing pages as of November 2026. Actual costs may vary based on plan tier, concurrency add-ons, and overage rates. All third-party trademarks are the property of their respective owners. PlacesData API rates: $0.20 / 1K places (Business), $0.25 / 1K places (Pro), $0.50 / 1K places (Base PAYG).
Tier-by-tier volume & minimum commitment breakdown.
| Geocoding Workload | PlacesData API | Geocodio (geocod.io / geocode.io) | Google Geocoding API |
|---|---|---|---|
| Instant Free Sandbox | 12,000 Credits ($1.20 · 2,400 lookups, global) | 2,500 lookups/day (US & Canada only) | $200/mo credit (card required; no DB caching) |
| 100,000 Geocodes (PAYG) | $50 PAYG (550k Credits · 110,000 lookups, never expires) | ~$48.75 PAYG (US & Canada street addresses only) | $500.00 ($5.00 / 1,000 requests) |
| 2,500,000 Geocodes / mo | $499/mo Business ($0.20/1K · 195 countries + POI data) | $1,000/mo Unlimited (single-instance, US/CA only) | $11,200/mo (tiered $4.00–$5.00/1K) |
| UK, EU, LATAM & APAC Addresses | Supported natively ($0.20–$0.50/1K) | Unsupported (returns error outside US/CA) | $5.00 / 1,000 requests |
PlacesData API transparent per-endpoint rate card ($1 = 10,000 Credits).
| Capability | Endpoint | Credit Rate | Effective USD / 1K |
|---|---|---|---|
| Google Maps Text Search (Places, Ratings, Phone, Website, Hours, Coordinates) | GET /v1/places/search | 5 Credits / place returned (min 10 Credits; 0 if empty) | $0.20 – $0.50 / 1,000 places |
| Bounding-Box & Radius Viewport Search (Polygon / Grid Scanning) | GET /v1/places/nearby | 5 Credits / place returned (min 10 Credits; 0 if empty) | $0.20 – $0.50 / 1,000 places |
| Full Business Profile & Enriched Contacts (Place ID / CID / Google ID) | GET /v1/places/details, GET /v1/places/{place_id} | 20 Credits / business profile | $0.80 – $2.00 / 1,000 profiles |
| Verified Customer Reviews, Owner Replies & Reviewer Metadata | GET /v1/places/reviews, GET /v1/places/{place_id}/reviews | 2 Credits / review returned (min 10 Credits; 0 if empty) | $0.08 – $0.20 / 1,000 reviews |
| High-Res Business & StreetPhotos Metadata | GET /v1/places/photos, GET /v1/places/{place_id}/photos | 2 Credits / photo returned (min 6 Credits; 0 if empty) | $0.08 – $0.20 / 1,000 photos |
| Website Email, Phone & Social Media Lead Enrichment (8 Social Platforms) | GET /v1/leads/enrich, GET /v1/domains/{domain}/contacts | 20 Credits / enriched domain (0 Credits if no emails/socials found) | $0.80 – $2.00 / 1,000 enriched domains |
| Typeahead Place Autocomplete & Reverse Geocoding (Lat/Lng to Address) | GET /v1/places/autocomplete, GET /v1/geocode/reverse | 5 Credits / request | $0.20 – $0.50 / 1,000 calls |
Why engineering teams switch from Geocodio (geocode.io).
Global 195-Country Geocoding (Beyond US & Canada)
Teams searching for geocode.io or building on Geocodio (geocod.io) quickly hit a hard geographic wall the moment a user enters an address in London, Berlin, Tokyo, São Paulo, or Sydney. PlacesData API resolves street addresses, postal codes, landmarks, and GPS coordinates across all 195 countries through one unified REST schema.
Canonical Google Place IDs (ChIJ...) & Full POI Enrichment
Geocodio relies on TIGER/Line and municipal parcel datasets—great for raw residential rooftops, but blind to commercial entity names, Google Maps Place IDs (ChIJ...), numeric CIDs, phone numbers, and domains. Our /v1/places/search and /v1/geocode/reverse endpoints return verified coordinates alongside canonical Place IDs, business categories, phones, websites, and /v1/leads/enrich B2B emails.
90%–96% Cheaper Than $5/1K Google & Mapbox Permanent Geocoding
Official Google Geocoding charges $5.00 per 1,000 lookups and prohibits storing coordinates permanently in your database or CRM, while Mapbox charges $5.00/1K on its Permanent Geocoding SKU. On PlacesData API, both forward and reverse geocoding cost 5 Credits ($0.20/1K on Business, $0.50/1K base PAYG) with permanent PostgreSQL/CRM storage permitted.
Migrate from Geocodio (geocod.io / geocode.io) in Under 2 Minutes
Replace api.geocod.io/v1.7/geocode and /v1.7/reverse with synchronous GET /v1/places/search (forward address/place geocoding) and GET /v1/geocode/reverse (reverse coordinate lookup):
import requests
# Fails outside US & Canada; returns 0 Place IDs or business contacts
fwd = requests.get(
"https://api.geocod.io/v1.7/geocode",
params={"q": "1109 N Highland St, Arlington VA", "api_key": "YOUR_GEOCODIO_KEY"},
).json()
loc = fwd["results"][0]["location"] # {"lat": 38.886672, "lng": -77.094735}
rev = requests.get(
"https://api.geocod.io/v1.7/reverse",
params={"q": "38.886672,-77.094735", "api_key": "YOUR_GEOCODIO_KEY"},
).json()import requests
HEADERS = {"x-api-key": "pd_live_your_api_key"}
# 1) Forward geocode any global street address, postal code, or business
fwd = requests.get(
"https://api.placesdataapi.com/v1/places/search",
headers=HEADERS,
params={"q": "221B Baker Street, London NW1 6XE, UK", "limit": 1},
).json()["data"][0]
print(fwd["latitude"], fwd["longitude"], fwd["place_id"], fwd["address"])
# 2) Reverse geocode GPS coordinates -> formatted address + ChIJ Place ID
rev = requests.get(
"https://api.placesdataapi.com/v1/geocode/reverse",
headers=HEADERS,
params={"lat": 51.523767, "lng": -0.1585557},
).json()["data"]
print(rev["formatted_address"], rev["place_id"])Live Forward & Reverse Geocoding Quickstart (5 Credits = $0.0002–$0.0005 / lookup)
Run global forward address-to-coordinates (/v1/places/search or /v1/places/autocomplete) and reverse lat/lng-to-address (/v1/geocode/reverse) with a single API key.
# Forward geocoding (address -> lat/lng + Google place_id)
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"
# Reverse geocoding (lat/lng -> structured street address + place_id)
curl -sS "https://api.placesdataapi.com/v1/geocode/reverse?lat=40.7484405&lng=-73.9856644" \
-H "x-api-key: pd_live_your_api_key"import requests
HEADERS = {"x-api-key": "pd_live_your_api_key"}
# Forward geocode (5 Credits)
place = requests.get(
"https://api.placesdataapi.com/v1/places/search",
headers=HEADERS,
params={"q": "350 Fifth Ave, New York, NY 10118", "limit": 1},
timeout=10,
).json()["data"][0]
print(place["latitude"], place["longitude"], place["place_id"])
# Reverse geocode (5 Credits)
addr = requests.get(
"https://api.placesdataapi.com/v1/geocode/reverse",
headers=HEADERS,
params={"lat": place["latitude"], "lng": place["longitude"]},
timeout=10,
).json()["data"]
print(addr["formatted_address"], addr["address_components"])const headers = { "x-api-key": "pd_live_your_api_key" };
// Forward geocode address -> coordinates + canonical Place ID
const { data: [place] } = await fetch(
"https://api.placesdataapi.com/v1/places/search?q=350+Fifth+Ave+New+York+NY+10118&limit=1",
{ headers }
).then((r) => r.json());
// Reverse geocode coordinates -> street address
const { data: reverse } = await fetch(
`https://api.placesdataapi.com/v1/geocode/reverse?lat=${place.latitude}&lng=${place.longitude}`,
{ headers }
).then((r) => r.json());
console.log(place.place_id, place.latitude, place.longitude, reverse.formatted_address);{
"code": 0,
"provider": "https://placesdataapi.com",
"status": "ok",
"data": {
"formatted_address": "350 5th Ave, New York, NY 10118, USA",
"place_id": "ChIJaXQRs6lZwokRY6EFpJnhNNE",
"latitude": 40.7484405,
"longitude": -73.9856644,
"types": ["street_address", "premise"],
"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,
"took_ms": 28
}
}1-Click Remote MCP Connector · Claude Web & ChatGPT
Connect live Google Maps & B2B email tools via OAuth 2.1.
Paste https://mcp.placesdataapi.com/v1/mcp into Claude.ai Settings → Connectors or ChatGPT Developer Mode for 1-click PKCE S256 login (or use https://api.placesdataapi.com/mcp with x-api-key in Cursor, Windsurf, and n8n).
Core Endpoints & Enrichment Docs
- GET /v1/leads/enrich → Website Email & Social Enrichment Docs
- GET /v1/places/search → Real-Time Place Search API Docs
- Forward & Reverse Geocoding Guide → 195-Country Address & Lat/Lng API
- GET /v1/places/reviews → Verified Customer Reviews API Docs
- Outscraper Pricing Breakdown (2026) → Stacked Cost Analysis
- Free Tool → Local Business Email & Phone Finder
- Remote MCP Setup Guide → Claude, ChatGPT & Cursor
Interactive Engineering Workbench · Benchmark vs Geocodio (geocode.io)
Verify real-time latency, credit math & JSON schema
Frequently asked questions
- Is the service spelled geocode.io or geocod.io, and how does PlacesData API compare?
- Developers frequently search for "geocode.io", which typically refers to Geocodio (hosted at geocod.io). While Geocodio (geocod.io) provides US and Canadian street geocoding at $0.50/1,000 lookups, it cannot geocode addresses outside the US and Canada and does not return Google Maps Place IDs (ChIJ...), commercial business profiles, phone numbers, or reviews. PlacesData API supports all 195 countries at $0.20–$0.50 per 1,000 lookups with full Google Place ID and B2B lead enrichment.
- Which PlacesData API endpoints replace Geocodio forward, batch, and reverse geocoding?
- Use GET /v1/places/search?q=<address>&limit=1 (5 Credits / record) for forward address-to-coordinate and Place ID resolution, GET /v1/places/autocomplete?input=<partial_address> (5 Credits / call) for real-time checkout or search-bar typeahead, and GET /v1/geocode/reverse?lat=<lat>&lng=<lng> (5 Credits / call) for reverse GPS coordinate-to-address conversion. For high-throughput batch pipelines, fire concurrent requests up to 3,000 RPM on Business (60 RPM / 5 RPS on the Free Sandbox). See the complete developer guide at /docs/geocoding.
- Can I store geocoded latitude, longitude, and Place IDs permanently in my database?
- Yes. Unlike the official $5.00/1K Google Geocoding API—which restricts caching latitude/longitude coordinates beyond 30 days—PlacesData API returns clean JSON that you can store permanently in PostgreSQL, PostGIS, Snowflake, or your CRM, with zero attribution lock-in and 0 Credits charged on empty or failed lookups.
- How do I test forward and reverse geocoding for free before migrating?
- Sign up at /signup in 5 seconds with no credit card required to receive $1.20 (12,000 Free Credits = 2,400 geocoding lookups immediately), plus up to +$2.00 (+20,000 Credits = +4,000 lookups) via the Developer Sandbox Streak.
Test it against Geocodio (geocode.io) for free.
Every new account receives 12,000 free Credits immediately — no card required.