Guides
Finding Places
Search and discover places using geographic filters
Overview
The /find-places endpoint lets you search for a large number of places over 3 different data sources: Overture, Foursquare and Reprompt.
The most common use case is to find places near a given coordinate with a radius.
Basic Search
The simplest way to find places is by searching within a radius of a specific coordinate.
Search by Coordinates and Radius
curl -X POST \
'https://api.reprompt.io/v2/find-places' \
-H 'Authorization: Bearer {YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"location_filter": {
"latitude": 37.7749,
"longitude": -122.4194,
"radius": 1000
},
"categories": ["cafe"]
}'import requests
response = requests.post(
"https://api.reprompt.io/v2/find-places",
headers={
"Authorization": "Bearer {YOUR_API_KEY}",
"Content-Type": "application/json"
},
json={
"location_filter": {
"latitude": 37.7749,
"longitude": -122.4194,
"radius": 1000
},
"categories": ["cafe"]
}
)
places = response.json()Response:
{
"results": [
{
"place_id": "9d7de33e-5d98-57af-9307-02481c03b7ad",
"name": "Blue Bottle Coffee",
"full_address": "55 s van ness ave, san francisco, ca 94103",
"latitude": 37.773909,
"longitude": -122.418616,
"category_primary": "coffee_shop",
"phone": "+1 510-661-3510",
"website": "https://bluebottlecoffee.com/",
"operating_status": "Open",
"distance_m": 129.965146
}
]
}Key Parameters:
latitude(required): Latitude coordinate in decimal degreeslongitude(required): Longitude coordinate in decimal degreesradius(optional): Search radius in meters. Default: 500m, Maximum: 10,000m (10km)categories(optional): Array of place categories to filter results
Multiple Categories
Search for multiple types of places simultaneously:
curl -X POST \
'https://api.reprompt.io/v2/find-places' \
-H 'Authorization: Bearer {YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"location_filter": {
"latitude": 40.7128,
"longitude": -74.0060,
"radius": 2000
},
"categories": ["restaurant", "cafe", "bar"]
}'import requests
response = requests.post(
"https://api.reprompt.io/v2/find-places",
headers={
"Authorization": "Bearer {YOUR_API_KEY}",
"Content-Type": "application/json"
},
json={
"location_filter": {
"latitude": 40.7128,
"longitude": -74.0060,
"radius": 2000
},
"categories": ["restaurant", "cafe", "bar"]
}
)
places = response.json()Advanced Search
Search Entire Cities
Search all places within a city boundary — no need for multiple radius searches.
import requests
response = requests.post(
"https://api.reprompt.io/v2/find-places",
headers={
"Authorization": "Bearer {YOUR_API_KEY}",
"Content-Type": "application/json"
},
json={
"location_filter": {
"locality": "San Francisco",
"country_code": "US"
},
"categories": ["restaurant"]
}
)
places = response.json()
print(f"Found {places['metadata']['total_results']} restaurants"){
"results": [
{
"place_id": "8566c58d-73f9-57d6-ac19-9c7b10e48ad0",
"name": "Sf-mandarin",
"full_address": "san francisco, ca 94103",
"latitude": 37.77493,
"longitude": -122.419416,
"category_primary": "restaurant",
"website": "http://www.sf-mandarin.com/",
"operating_status": "Open",
"distance_m": 3.620144
}
],
"metadata": {
"total_results": 500
}
}Returns first 500 results immediately. For complete datasets with more than 500 places, results include information about accessing the full dataset.
Search Within Custom Boundaries
Use GeoJSON polygons to search specific neighborhoods or custom areas.
import requests
# Mission District boundary (San Francisco postal code 94110)
mission_boundary = {
"type": "Polygon",
"coordinates": [[[-122.405115, 37.764635], [-122.405212, 37.763469],
[-122.405832, 37.762199], [-122.406365, 37.761199],
[-122.40645, 37.760114], [-122.406167, 37.759315],
[-122.40405, 37.757619], [-122.403428, 37.756871],
[-122.403328, 37.756082], [-122.40315, 37.754488],
[-122.403437, 37.753199], [-122.403364, 37.752366],
[-122.405091, 37.745281], [-122.405614, 37.7442],
[-122.406652, 37.741241], [-122.407045, 37.739587],
[-122.408136, 37.73964], [-122.408009, 37.737734],
[-122.408284, 37.736846], [-122.409287, 37.735258],
[-122.410052, 37.734675], [-122.411978, 37.733732],
[-122.414554, 37.732371], [-122.416255, 37.732034],
[-122.419881, 37.732016], [-122.423718, 37.73155],
[-122.425944, 37.731698], [-122.422274, 37.732383],
[-122.421787, 37.732774], [-122.422472, 37.733967],
[-122.422901, 37.734388], [-122.426983, 37.735455],
[-122.427849, 37.734718], [-122.428578, 37.735082],
[-122.428454, 37.735882], [-122.42551, 37.737774],
[-122.42452, 37.739868], [-122.424394, 37.740405],
[-122.424168, 37.740805], [-122.426453, 37.764634],
[-122.421885, 37.764908], [-122.42173, 37.763304],
[-122.421248, 37.764947], [-122.407553, 37.765798],
[-122.407431, 37.764497], [-122.405115, 37.764635]]]
}
response = requests.post(
"https://api.reprompt.io/v2/find-places",
headers={
"Authorization": "Bearer {YOUR_API_KEY}",
"Content-Type": "application/json"
},
json={
"location_filter": {"geometry": mission_boundary},
"categories": ["restaurant"]
}
)
places = response.json()
print(f"Found {len(places['results'])} restaurants in Mission District"){
"results": [
{
"place_id": "mission001",
"name": "La Taqueria",
"full_address": "2889 Mission St, San Francisco, CA 94110",
"latitude": 37.7516,
"longitude": -122.4181,
"category_primary": "restaurant",
"phone": "+1 415-285-7117",
"operating_status": "Open"
}
],
"metadata": {
"total_results": 342
}
}