webstractor
Developer docs

Places

Local results an AI can use.

Resolve addresses, businesses, landmarks, and local-category queries with /api/places. Results include normalized coordinates, address fields, categories, and canonical map links when available.

Request

curl --get 'https://webstractor.com/api/places' \
  --data-urlencode 'q=Brandenburg Gate Berlin' \
  --data-urlencode 'limit=5' \
  --data-urlencode 'format=json'
ParameterRequiredDescription
qYesA place, address, business, landmark, or local-category query with up to 200 characters. Include a city or country when useful.
limitNoAn integer from 1 to 10. Default: 5.
languageNoCanonical BCP 47 language tag. Default: en.
countryNoOptional two-letter ISO country hard filter.
lat + lonNoOptional paired coordinates used as a location bias.
typeNoany, house, street, locality, city, county, state, country, or other.
formatNojson or markdown. Default: json.

Response

JSON returns a schema-v1 place-search feed. Items use the existing document entity and can include coordinates, a bounding box, category, country code, structured street, house number, postal code, locality, region, country, website, phone, and opening-hours fields when the public result contains them.

{
  "schemaVersion": 1,
  "type": "feed",
  "source": "place-search",
  "attributes": {
    "feedType": "place-search",
    "query": "Brandenburg Gate Berlin",
    "language": "en",
    "placeType": "any",
    "resultCount": 1,
    "attribution": "© OpenStreetMap contributors"
  },
  "items": [
    {
      "type": "document",
      "title": "Brandenburg Gate",
      "attributes": {
        "latitude": 52.5163,
        "longitude": 13.3777,
        "address": "Pariser Platz 1, 10117 Berlin, Germany"
      }
    }
  ]
}

Boundaries

  • The endpoint runs a submitted search, not autocomplete.
  • Reverse geocoding and caller-provided bounding boxes are not supported.
  • It does not return Google Maps ratings, reviews, photos, traffic, routes, or popularity data.
  • Place search ranks a bounded set of matches; it does not enumerate every business in an area.
  • Results contain OpenStreetMap data and retain its required attribution.
  • Successful searches may be cached for up to one hour.

Compatibility

/api/maps remains available as a deprecated alias for existing integrations. It returns the canonical /api/places response and shares the same cache entry. New integrations should use /api/places.