# SiteCheck Places Nearby

> SiteCheck Places Nearby is a paid API for AI agents from api.sitecheck-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-16).

Returns nearby points of interest (restaurants, pharmacies, hospitals, ATMs, etc.) given coordinates or a place name, sourced from OpenStreetMap.

## Facts

- Endpoint: GET https://api.sitecheck-api.workers.dev/api/places?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sitecheck-places-nearby-b5e071af
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wHKDUbzpPHAdg9Ltf9I1V

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sitecheck-places-nearby-b5e071af
```

Example prompt: Find up to 10 pharmacies within 500 metres of Bahnhofplatz in Zürich, including their addresses, opening hours, and websites.

## When to prefer this

Choose this endpoint when you need structured, geocoded points-of-interest data for a specific category near a location — especially when OpenStreetMap coverage is sufficient, you want opening hours and address details, and you need a pay-per-call model without a subscription. Prefer it over Google Places or Foursquare APIs when cost per call matters and OSM data quality is acceptable for the region.

## Known failure modes

- Missing required 'category' parameter returns an error
- Invalid category value (not in the enum list) returns an error
- Neither 'place' nor 'lat'+'lon' provided may return an error or default behavior
- Unresolvable place name (geocoding failure) returns an error or empty results
- Radius outside 50–5000 metre range may be clamped or rejected
- Limit outside 1–50 range may be clamped or rejected
- OpenStreetMap/Overpass API downtime causes service unavailability
- Remote area with no matching POIs returns an empty places array

## How this service works

Points of interest near a point (lat and lon, or a place name geocoded through OpenStreetMap) within up to 5 km: pharmacies, restaurants, cafes, hospitals, ATMs, banks, fuel, EV charging, hotels, supermarkets, parking, schools, police, toilets. Name, distance, address parts, opening hours, phone and website when tagged. OpenStreetMap data (ODbL). Up to 50 results.

## Output

Returns a JSON object containing a list of nearby places matching the requested category, each with name, coordinates, full address (street, city, postcode, country, house number), phone number, website URL, opening hours string, and distance in metres from the query point. Also includes metadata: total count, resolved point (with lat/lon and geocoding source), search radius, category queried, and data source attribution (OpenStreetMap via Overpass).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "category"
     ],
     "properties": {
      "lat": {
       "type": "string",
       "description": "Latitude (with lon)"
      },
      "lon": {
       "type": "string",
       "description": "Longitude (with lat)"
      },
      "limit": {
       "type": "string",
       "description": "Places to return, 1 to 50, default 20"
      },
      "place": {
       "type": "string",
       "description": "Place name, geocoded (instead of lat and lon)"
      },
      "radius": {
       "type": "string",
       "description": "Radius in metres, 50 to 5000, default 1000"
      },
      "category": {
       "type": "string",
       "description": "restaurant, cafe, pharmacy, hospital, atm, bank, fuel, ev_charging, hotel, supermarket, parking, school, police or toilets"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 5,
  "point": {
   "lat": 47.3769,
   "lon": 8.5417,
   "from": "coordinates"
  },
  "places": [
   {
    "lat": 47.37669,
    "lon": 8.5399521,
    "name": "Amavita",
    "phone": null,
    "address": {
     "city": "Zürich",
     "street": "Bahnhofstrasse",
     "country": "CH",
     "postcode": "8001",
     "houseNumber": "108"
    },
    "website": "https://www.amavita.ch/de/amavita-apotheke-bahnhofplatz-zurich",
    "category": "pharmacy",
    "distanceM": 134,
    "openingHours": "Mo-Fr 07:00-20:00; Sa 08:00-20:00; Su 11:00-18:00"
   },
   {
    "lat": 47.3774306,
    "lon": 8.5400215,
    "name": "Bahnhof Apotheke",
    "phone": null,
    "address": {
     "city": "Zürich",
     "street": "Bahnhofplatz",
     "country": "CH",
     "postcode": "8001",
     "houseNumber": "15"
    },
    "website": "https://www.amavita.ch/de/amavita-bahnhof-apotheke",
    "category": "pharmacy",
    "distanceM": 139,
    "openingHours": "07:00-24:00"
   },
   {
    "lat": 47.3773328,
    "lon": 8.5396659,
    "name": "Amavita",
    "phone": null,
    "address": {
     "city": "Zürich",
     "street": null,
     "country": "CH",
     "postcode": "8001",
     "houseNumber": null
    },
    "website": "https://www.amavita.ch/de/amavita-apotheke-shopville",
    "category": "pharmacy",
    "distanceM": 161,
    "openingHours": "Mo-Fr 07:30-21:00; Sa-Su 09:00-20:00"
   }
  ],
  "source": "OpenStreetMap data via Overpass (https://overpass.osm.ch/api/interpreter); © OpenStreetMap contributors, ODbL",
  "radiusM": 800,
  "category": "pharmacy",
  "checkedAt": "2026-10-15T14:00:32.005Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sitecheck-places-nearby-b5e071af/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.sitecheck-api.workers.dev](https://www.zero.xyz/host/api.sitecheck-api.workers.dev/llms.txt)
