Find nearby urban services

Returns a compact service result with per-type counts. Parking and charging reuse the same Google adapter as their specialized endpoints; lockers use the public, non-guaranteed InPost Geowidget source behind a defensive adapter. Provider failures produce partial coverage; provider orchestration and counters are returned only when debug=true. Strict DTO by default; legacy requires public_contract=legacy. See /docs/PUBLIC_API_MIGRATION.md. Explicit public_contract=roote-1.1.0 selects the freeze-ready whitelist and qualified EMPTY semantics; existing default/version/legacy responses remain compatible. Unknown source freshness does not establish operational availability. Internal acquisition/matching metadata is excluded from the freeze-ready projection.

get/v1/services/nearby

Request

  • Base URL: https://api.roote.ai
  • URL: https://api.roote.ai/v1/services/nearby
  • Auth: one of:
    • none
    • HTTP bearer

Query parameters

latnumber required

Latitude of query_origin

lonnumber required

Longitude of query_origin

typesstring required

Comma-separated types: aed, toilets, wifi, fountain, parking, charging, locker. drinking_water remains a compatibility alias.

countrystring

Optional ISO 3166-1 alpha-2 country hint passed to providers that support it, including InPost.

radiusnumber

Requested metres; values above 10000 are clamped to 10000

limitinteger

Requested aggregate count; values above 200 are clamped to 200. Google returns at most 20 items for each Google-backed category; InPost returns at most 100.

debugboolean

Include internal provider, cache and requested/applied diagnostics

tokenstring

Compatibility API token; prefer Authorization Bearer.

public_contract'roote-1.0.0' | 'legacy' | 'roote-1.1.0'

Omit for strict DTO. Version remains an explicit alias. legacy is deprecated; no silent fallback.

Response

Strict public DTO (default and explicit version alias).

OR
OR

Changes

No recorded changes to this operation across all 1 revision of this API.