> ## Documentation Index
> Fetch the complete documentation index at: https://docs.footstep.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Places

> Find points of interest (cafes, supermarkets, parks, ATMs, etc.) near a location. Prefer `near.lat`+`near.lon` whenever you already have coordinates — this disambiguates common place names that exist in multiple countries. Use `near` only when you genuinely have just a place name, and qualify it tightly (e.g. 'Kings Cross, London' not 'Kings Cross'; 'Lebanon, NH' not 'Lebanon'). Add `boundary.country` to restrict results when the search context is country-bound. For 'find X near Y' queries, prefer this over a separate `/v1/geocoding/search` call.



## OpenAPI

````yaml GET /v1/geocoding/places
openapi: 3.1.0
info:
  title: Footstep API
  description: >-
    Terrain-intelligent routing, geocoding, elevation, and spatial analysis.
    Every routing response includes terrain analytics by default. Routing
    endpoints support two response formats: footstep (default, compact) and
    geojson (standard GeoJSON).
  version: 1.0.0
servers:
  - url: https://api.footstep.ai
    description: Production
security:
  - apiKey: []
paths:
  /v1/geocoding/places:
    get:
      tags:
        - Geocoding
      summary: Find places near a location
      description: >-
        Find points of interest (cafes, supermarkets, parks, ATMs, etc.) near a
        location. Prefer `near.lat`+`near.lon` whenever you already have
        coordinates — this disambiguates common place names that exist in
        multiple countries. Use `near` only when you genuinely have just a place
        name, and qualify it tightly (e.g. 'Kings Cross, London' not 'Kings
        Cross'; 'Lebanon, NH' not 'Lebanon'). Add `boundary.country` to restrict
        results when the search context is country-bound. For 'find X near Y'
        queries, prefer this over a separate `/v1/geocoding/search` call.
      operationId: geocodingPlaces
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
          description: >-
            What to search for (e.g. 'coffee shop', 'restaurant', 'supermarket',
            'train station', 'park')
        - name: near
          in: query
          required: false
          schema:
            type: string
          description: >-
            Place name to search near (e.g. 'Kings Cross, London'). Geocoded
            internally. Provide either `near` OR both `near.lat` and `near.lon`,
            not both.
        - name: near.lat
          in: query
          required: false
          schema:
            type: number
            minimum: -90
            maximum: 90
          description: >-
            Latitude of search center. Prefer this over `near` whenever you
            already have coordinates — viewport centre, last-known location, a
            prior result. Pair with `near.lon`.
        - name: near.lon
          in: query
          required: false
          schema:
            type: number
            minimum: -180
            maximum: 180
          description: Longitude of search center. Pair with `near.lat`.
        - name: radius
          in: query
          schema:
            type: number
            minimum: 0.1
            maximum: 50
            default: 5
          description: Search radius in kilometres
        - name: size
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 40
            default: 5
          description: >-
            Maximum number of results. Ask for more only when you genuinely want
            a longer candidate list
        - name: boundary.country
          in: query
          schema:
            type: string
          description: >-
            Comma-separated ISO 3166-1 alpha-3 country codes to restrict results
            (e.g. 'GBR' or 'GBR,USA'). Set when the search context is
            country-bound.
      responses:
        '200':
          description: Places matching the query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeocodingPlacesResponse'
              examples:
                coffee_shops:
                  summary: Coffee shops near Kings Cross
                  value:
                    results:
                      - coordinates:
                          lat: 51.5318
                          lng: -0.1243
                        label: >-
                          Caravan, Granary Square, London, England, United
                          Kingdom
                        name: Caravan
                        country: United Kingdom
                        country_code: GBR
                        region: England
                        locality: London
                        distance_meters: 120
                        confidence: 0.92
                        place_type: venue
                    query:
                      query: coffee shop
                      near:
                        lat: 51.5322
                        lon: -0.124
                      radius: 5
                      size: 10
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Geocoding engine unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GeocodingPlacesResponse:
      type: object
      required:
        - results
        - query
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PlaceResult'
        query:
          type: object
          properties:
            query:
              type: string
            near:
              $ref: '#/components/schemas/Coordinate'
            radius:
              type: number
            size:
              type: integer
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
        message:
          type: string
    PlaceResult:
      type: object
      required:
        - coordinates
        - label
        - name
        - distance_meters
        - confidence
        - place_type
      properties:
        coordinates:
          $ref: '#/components/schemas/GeocodingCoordinate'
        label:
          type: string
          description: Full human-readable label
        name:
          type: string
          description: Short name of the place
        country:
          type: string
        country_code:
          type: string
          description: ISO 3166-1 alpha-3
        region:
          type: string
        locality:
          type: string
          description: City or town
        distance_meters:
          type: number
          description: Distance from the search point in meters
        confidence:
          type: number
          minimum: 0
          maximum: 1
        place_type:
          type: string
    Coordinate:
      type: object
      required:
        - lat
        - lon
      properties:
        lat:
          type: number
          minimum: -90
          maximum: 90
        lon:
          type: number
          minimum: -180
          maximum: 180
    GeocodingCoordinate:
      type: object
      required:
        - lat
        - lng
      properties:
        lat:
          type: number
          minimum: -90
          maximum: 90
        lng:
          type: number
          minimum: -180
          maximum: 180
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Footstep API key

````