Example
Call the Places API from Python.
This example uses the Python standard library, keeps the API key server-side, and parses either a result body or a structured error code.
Python example.
import json
import os
import urllib.parse
import urllib.request
api_key = os.environ["OPEN_PLACES_API_KEY"]
params = urllib.parse.urlencode({
"q": "coffee",
"lat": "40.7128",
"lon": "-74.0060",
"radius_mi": "25",
"limit": "10",
"min_confidence": "0.85",
})
request = urllib.request.Request(
f"https://api.openplacesapi.com/v1/places?{params}",
headers={"Authorization": f"Bearer {api_key}"},
)
try:
with urllib.request.urlopen(request, timeout=10) as response:
body = json.loads(response.read().decode("utf-8"))
except urllib.error.HTTPError as error:
body = json.loads(error.read().decode("utf-8"))
raise RuntimeError(body.get("error", {}).get("code", "places_api_error"))
for place in body["results"]:
categories = place.get("categories") or []
print({
"name": place["name"],
"category": categories[0] if categories else None,
"distance_mi": place["distance_mi"],
"confidence": place["confidence"],
"phone": place.get("phone"),
"website": place.get("website"),
})