Reprompt
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.

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 degrees
  • longitude (required): Longitude coordinate in decimal degrees
  • radius (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()

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
  }
}