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 use cases is to find places near a given coordinate with a radius.
Interactive Demo
Try it: Click anywhere on the map to set a search location, adjust the parameters, then click “Find Places”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()
{
"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
}
]
}
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()
{
"results": [
{
"place_id": "1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
"name": "The Modern",
"full_address": "9 w 53rd st, new york, ny 10019",
"category_primary": "restaurant",
"distance_m": 450.123
},
{
"place_id": "2b3c4d5e-6f7g-8h9i-0j1k-l2m3n4o5p6q7",
"name": "Stumptown Coffee Roasters",
"full_address": "18 w 29th st, new york, ny 10001",
"category_primary": "cafe",
"distance_m": 678.456
},
{
"place_id": "3c4d5e6f-7g8h-9i0j-1k2l-m3n4o5p6q7r8",
"name": "The Dead Rabbit",
"full_address": "30 water st, new york, ny 10004",
"category_primary": "bar",
"distance_m": 892.789
}
]
}
Compare Coffee Chain Coverage
Find multiple chains to compare their coverage in an area:import requests
from collections import Counter
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": 3000
},
"categories": ["coffee_shop", "cafe"]
}
)
places = response.json()
# Filter results by chain name
starbucks = [p for p in places['results'] if 'Starbucks' in p['name']]
philz = [p for p in places['results'] if 'Philz' in p['name']]
print(f"Starbucks: {len(starbucks)} locations")
print(f"Philz Coffee: {len(philz)} locations")
{
"results": [
{
"place_id": "97fb55a2-32bc-5147-ac08-44ff7e931c54",
"name": "Starbucks",
"full_address": "150 van ness ave, san francisco, ca 94102",
"latitude": 37.777184,
"longitude": -122.41942,
"category_primary": "coffee_shop",
"category_alternates": ["cafe"],
"phone": "+1 415-558-7715",
"website": "https://www.starbucks.com/store-locator/store/1028036",
"operating_status": "Open",
"distance_m": 253.975295
},
{
"place_id": "0a5c37c2-7c24-5ce0-86f6-9d30214f70b9",
"name": "Philz Coffee",
"full_address": "399 golden gate ave, san francisco, ca 94102",
"latitude": 37.7813,
"longitude": -122.416942,
"category_primary": "coffee_shop",
"category_alternates": ["cafe"],
"phone": "+1 415-621-7000",
"website": "http://www.philzcoffee.com/",
"operating_status": "Open",
"distance_m": 743.713544
}
// ... 462 more results (35 Starbucks, 11 Philz Coffee)
],
"metadata": {
"total_results": 464
}
}
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",
"category_alternates": ["restaurant"],
"website": "http://www.sf-mandarin.com/",
"operating_status": "Open",
"distance_m": 3.620144
},
{
"place_id": "dab7d64a-318b-5594-937f-99f8e3d4d723",
"name": "Mexirean Grill & Resto Br",
"full_address": "1400 tarusan street, san francisco, ca 94103",
"latitude": 37.77493,
"longitude": -122.419416,
"category_primary": "bar_and_grill_restaurant",
"category_alternates": [],
"phone": "+63 951 559 5515",
"operating_status": "Open",
"distance_m": 3.620144
}
// ... up to 500 results
],
"metadata": {
"total_results": 500
}
}
Returns first 500 results immediately. For complete datasets with >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"
},
{
"place_id": "mission002",
"name": "Tartine Bakery",
"full_address": "600 Guerrero St, San Francisco, CA 94110",
"latitude": 37.7612,
"longitude": -122.4244,
"category_primary": "restaurant",
"operating_status": "Open"
}
],
"metadata": {
"total_results": 342
}
}