Find Nearby — Local Place Discovery
Find restaurants, cafes, bars, pharmacies, and other places near any location. Uses OpenStreetMap (free, no API keys). Works with:
- Coordinates from Telegram location pins (latitude/longitude in conversation)
- Addresses ("near 123 Main St, Springfield")
- Cities ("restaurants in downtown Austin")
- Zip codes ("pharmacies near 90210")
- Landmarks ("cafes near Times Square")
Quick Reference
# By coordinates (from Telegram location pin or user-provided)
python3 SKILL_DIR/scripts/find_nearby.py --lat <LAT> --lon <LON> --type restaurant --radius 1500
# By address, city, or landmark (auto-geocoded)
python3 SKILL_DIR/scripts/find_nearby.py --near "Times Square, New York" --type cafe
# Multiple place types
python3 SKILL_DIR/scripts/find_nearby.py --near "downtown austin" --type restaurant --type bar --limit 10
# JSON output
python3 SKILL_DIR/scripts/find_nearby.py --near "90210" --type pharmacy --json
Parameters
| Flag |
Description |
Default |
--lat, --lon |
Exact coordinates |
— |
--near |
Address, city, zip, or landmark (geocoded) |
— |
--type |
Place type (repeatable for multiple) |
restaurant |
--radius |
Search radius in meters |
1500 |
--limit |
Max results |
15 |
--json |
Machine-readable JSON output |
off |
Common Place Types
restaurant, cafe, bar, pub, fast_food, pharmacy, hospital, bank, atm, fuel, parking, supermarket, convenience, hotel
Workflow
Get the location. Look for coordinates (latitude: ... / longitude: ...) from a Telegram pin, or ask the user for an address/city/zip.
Ask for preferences (only if not already stated): place type, how far they're willing to go, any specifics (cuisine, "open now", etc.).
Run the script with appropriate flags. Use --json if you need to process results programmatically.
Present results with names, distances, and Google Maps links. If the user asked about hours or "open now," check the hours field in results — if missing or unclear, verify with web_search.
For directions, use the directions_url from results, or construct: https://www.google.com/maps/dir/?api=1&origin=<LAT>,<LON>&destination=<LAT>,<LON>
Tips
- If results are sparse, widen the radius (1500 → 3000m)
- For "open now" requests: check the
hours field in results, cross-reference with web_search for accuracy since OSM hours aren't always complete
- Zip codes alone can be ambiguous globally — prompt the user for country/state if results look wrong
- The script uses OpenStreetMap data which is community-maintained; coverage varies by region
1---2name: find-nearby3description: Find nearby places (restaurants, cafes, bars, pharmacies, etc.) using OpenStreetMap. Works with coordinates, addresses, cities, zip codes, or Telegram location pins. No API keys needed.4---56# Find Nearby — Local Place Discovery78Find restaurants, cafes, bars, pharmacies, and other places near any location. Uses OpenStreetMap (free, no API keys). Works with:910- **Coordinates** from Telegram location pins (latitude/longitude in conversation)11- **Addresses** ("near 123 Main St, Springfield")12- **Cities** ("restaurants in downtown Austin")13- **Zip codes** ("pharmacies near 90210")14- **Landmarks** ("cafes near Times Square")1516## Quick Reference1718```bash19# By coordinates (from Telegram location pin or user-provided)20python3 SKILL_DIR/scripts/find_nearby.py --lat <LAT> --lon <LON> --type restaurant --radius 15002122# By address, city, or landmark (auto-geocoded)23python3 SKILL_DIR/scripts/find_nearby.py --near "Times Square, New York" --type cafe2425# Multiple place types26python3 SKILL_DIR/scripts/find_nearby.py --near "downtown austin" --type restaurant --type bar --limit 102728# JSON output29python3 SKILL_DIR/scripts/find_nearby.py --near "90210" --type pharmacy --json30```3132### Parameters3334| Flag | Description | Default |35|------|-------------|---------|36| `--lat`, `--lon` | Exact coordinates | — |37| `--near` | Address, city, zip, or landmark (geocoded) | — |38| `--type` | Place type (repeatable for multiple) | restaurant |39| `--radius` | Search radius in meters | 1500 |40| `--limit` | Max results | 15 |41| `--json` | Machine-readable JSON output | off |4243### Common Place Types4445`restaurant`, `cafe`, `bar`, `pub`, `fast_food`, `pharmacy`, `hospital`, `bank`, `atm`, `fuel`, `parking`, `supermarket`, `convenience`, `hotel`4647## Workflow48491. **Get the location.** Look for coordinates (`latitude: ... / longitude: ...`) from a Telegram pin, or ask the user for an address/city/zip.50512. **Ask for preferences** (only if not already stated): place type, how far they're willing to go, any specifics (cuisine, "open now", etc.).52533. **Run the script** with appropriate flags. Use `--json` if you need to process results programmatically.54554. **Present results** with names, distances, and Google Maps links. If the user asked about hours or "open now," check the `hours` field in results — if missing or unclear, verify with `web_search`.56575. **For directions**, use the `directions_url` from results, or construct: `https://www.google.com/maps/dir/?api=1&origin=<LAT>,<LON>&destination=<LAT>,<LON>`5859## Tips6061- If results are sparse, widen the radius (1500 → 3000m)62- For "open now" requests: check the `hours` field in results, cross-reference with `web_search` for accuracy since OSM hours aren't always complete63- Zip codes alone can be ambiguous globally — prompt the user for country/state if results look wrong64- The script uses OpenStreetMap data which is community-maintained; coverage varies by region