All integrations

Radar

DATA · DATA & ANALYTICS

User locations, trips, geofences, geocoding, and routing in the account they connected.

Connecting Radar in practice

Radar publishes a separate rate limit on almost every endpoint instead of one account-wide number: 100 requests a second for geocoding and autocomplete, 50 for geofence and place search, 25 for address validation, 10 for most data-management calls, and 1 request per second per device for /track. It also returns 429 for "no state change" and for selective throttling, not only for volume.

Scopes that draw scrutiny

  • prj_live_sk_… (Live Secret) Server-only. Reaches the user, trip, geofence and event management endpoints — the location history of real people — and must never be shipped to a client.
  • prj_live_pk_… (Live Publishable) Safe client-side and what the SDKs use, but it is enough to call /track and write location updates for a device.
  • prj_test_sk_… / prj_test_pk_… (Test keys) A separate pair for non-production. Four keys exist per project, and mixing a test key into production fails as 401 rather than returning empty data.

Rate limits

  • Forward geocode, reverse geocode, IP geocode and autocomplete: 100 requests per second.
  • Search geofences and search places: 50 requests per second. Validate an address: 25 requests per second.
  • Search users and most management endpoints (users, trips, geofences, beacons, events): 10 requests per second.
  • POST /v1/track: 1 request per second per device.
  • All of these are defaults raised only through a customer success manager.

Worth knowing

  • 402 Payment Required means the organization is disabled or usage is exceeded, and 451 means the country is blocklisted — two failure modes that look nothing like a rate limit but stop an agent dead.
  • List limits differ per resource: geofences, beacons and users list up to 1,000 (default 100), trips up to 1,000 (default 500), search endpoints up to 100 (default 10).
  • Pagination on list endpoints is a createdBefore datetime cursor rather than an offset, so records created during the walk shift the window.
  • Autocomplete returns at most 100 results unless includeGeometries is set to false.
  • Every response carries X-Radar-Request-ID, which is the only handle support will accept for a specific call.

Checked against Radar API reference (2026-09-29), Geocoding APIs (2026-09-29)

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

radar_delete_v1_beacons_by_idWRITE

Delete a beacon via DELETE /v1/beacons/{id}. Deletes a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_delete_v1_geofences_by_idWRITE

Delete a geofence via DELETE /v1/geofences/{id}. Deletes a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`.

api
radar_delete_v1_geofences_by_tag_by_externalidWRITE

Delete a geofence (by tag and externalId) via DELETE /v1/geofences/{tag}/{externalId}. Deletes a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`.

api
radar_delete_v1_trips_by_idWRITE

Delete a trip via DELETE /v1/trips/{id}. Deletes a trip. The trip can be referenced by Radar `_id` or `externalId`.

api
radar_delete_v1_users_by_idWRITE

Delete a user via DELETE /v1/users/{id}. Deletes a user. The user can be referenced by Radar `_id`, `userId`, or `deviceId`.

api
radar_get_v1_addresses_validateREAD

Validate an address via GET /v1/addresses/validate. Validates an address. Currently only available for US and Canada addresses for enterprise customers. This endpoint is best for validating complete structured addresses. For partial addresses or place names, call the [autocomplete](https://docs.radar.com/api#autocomplete) endpoint instead. Returns a `verificationStatus` as part of the `result`, as defined below: * `verified`: The input has a complete and unique match with a result. * `partially verified`: The input has a partial match with a result. * `ambiguous`: The input closely matches multiple results. * `unverified`: Unable to verify the input address. Returns a `recordType` value in the `metadata` field as part of the `result`, values are defined below according to USPS standards: * `S`: Street Address * `P`: Post Office Box * `R`: Rural Route * `H`: High-rise * `F`: Firm * `G`: General Delivery On US addresses, an `analysis` field may be returned, which contains the following fields: * `unit:missing`: Radar detected units at the address, but no unit was specified. * `unit:invalid`: Radar detected units at the address, but the unit specified doesn't exist. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_get_v1_beaconsREAD

List beacons via GET /v1/beacons. Lists beacons. Beacons are sorted descending by `createdAt`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_get_v1_beacons_by_idREAD

Get a beacon via GET /v1/beacons/{id}. Gets a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_get_v1_geocode_forwardREAD

Forward geocode via GET /v1/geocode/forward. Geocodes an address, converting address to coordinates. This endpoint is best for complete addresses. For partial addresses or place names, call the [autocomplete](https://docs.radar.com/api#autocomplete) endpoint instead. Returns a confidence level indicating the certainty of the result's latitude and longitude: * **`exact`**: Precise coordinates for a known address location. * **`interpolated`**: Estimated coordinates between two known address points when an exact address location is unavailable. * **`fallback`**: Coarse coordinates (e.g., postal code/city) for the containing region when no precise location is available. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_geocode_ipREAD

IP geocode via GET /v1/geocode/ip. Geocodes the requester's IP, converting IP address to city, state, and country. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_geocode_reverseREAD

Reverse geocode via GET /v1/geocode/reverse. Reverse geocodes a location, converting coordinates to address. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_geofencesREAD

List geofences via GET /v1/geofences. Lists geofences. Geofences are sorted descending by `updatedAt`.

api
radar_get_v1_geofences_by_idREAD

Get a geofence via GET /v1/geofences/{id}. Gets a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`.

api
radar_get_v1_geofences_by_tag_by_externalidREAD

Get a geofence (by tag and externalId) via GET /v1/geofences/{tag}/{externalId}. Gets a geofence. The geofence can be uniquely referenced by Radar `_id` or by `tag` and `externalId`.

api
radar_get_v1_geofences_by_tag_by_externalid_usersREAD

Get users in a geofence via GET /v1/geofences/{tag}/{externalId}/users. Gets users currently in a geofence.

api
radar_get_v1_route_directionsREAD

Directions via GET /v1/route/directions. Calculates the most efficient route between two or more locations to visit in order. Additionally you can modify the turn-by-turn directions response by specifying additional query parameters. Each turn-by-turn step includes `maneuver`, a string describing the maneuver type (for example, `start`, `left`, or `destination`). Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_route_distanceREAD

Distance via GET /v1/route/distance. Calculates the travel distance and duration between an origin and a destination. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_route_matrixREAD

Matrix via GET /v1/route/matrix. Calculates the travel distances and durations between multiple origins and destinations for up to 625 routes. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_route_optimizeREAD

Optimize route via GET /v1/route/optimize. Calculates the optimal ordering and route to visit a list of locations. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_search_autocompleteREAD

Autocomplete via GET /v1/search/autocomplete. Autocompletes partial addresses and place names, sorted by relevance and proximity. **US/CA:** For customers using autocomplete for full address completion (i.e. checkout page), pass in `layers`: `address`, `countryCode`: `US, CA`. **International:** For customers implementing autocomplete for international address completion use cases, contact your solutions engineer for best practices based on your use case. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_search_geofencesREAD

Search geofences via GET /v1/search/geofences. Searches for geofences near a location, sorted by distance. **Note:** To retrieve more than 100 results, `includeGeometries` must be set to `false`. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_search_placesREAD

Search places via GET /v1/search/places. Searches for places near a location, sorted by distance. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_get_v1_search_usersREAD

Search users via GET /v1/search/users. Searches for users near a location, sorted by distance.

api
radar_get_v1_settingsREAD

Get Places settings via GET /v1/settings. Gets your current Places settings. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_get_v1_tripsREAD

List trips via GET /v1/trips. Lists trips. Trips are sorted descending by `updatedAt`.

api
radar_get_v1_trips_by_idREAD

Get a trip via GET /v1/trips/{id}. Gets a trip. The trip can be referenced by Radar `_id` or `externalId`.

api
radar_get_v1_usersREAD

List users via GET /v1/users. Lists users. Users are sorted descending by `updatedAt`.

api
radar_get_v1_users_by_idREAD

Get a user via GET /v1/users/{id}. Gets a user. The user can be referenced by Radar `_id`, `userId`, or `deviceId`.

api
radar_patch_v1_settingsWRITE

Update Places settings via PATCH /v1/settings. Updates your Places settings. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_patch_v1_trips_by_id_updateWRITE

Update a trip via PATCH /v1/trips/{id}/update. Updates a trip. The trip can be referenced by Radar `_id` or `externalId`. On iOS and Android, use the [SDK](https://docs.radar.com/sdk) to update trips. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_post_v1_beaconsWRITE

Create a beacon via POST /v1/beacons. Creates a beacon. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_post_v1_eventsWRITE

Log a conversion via POST /v1/events. Conversions are available on the [**Enterprise plan**](https://radar.com/pricing). Logs a conversion to analyze alongside other location activity in your app. This can represent anything from a purchase or signup to engagement with an in-app feature. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_post_v1_route_matchWRITE

Route match via POST /v1/route/match. Snaps points collected along a route to roads that were most likely traveled on. Returns the matched path and road information. For best results, the sample rate should be less than 10 seconds between points. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_post_v1_trackWRITE

Track via POST /v1/track. Tracks a location update. Returns the user and the events generated, depending on project settings. On iOS and Android, use the [SDK](https://docs.radar.com/sdk/sdk) to track user locations in the foreground or in the background. `deviceId` is used to identify logged out users. `userId` and `deviceId` are used to identify logged in users. If a matching user already exists, it will be updated. If not, a new user will be created. Do not send any PII, like names, email addresses, or publicly available IDs, for `userId`. See [privacy best practices](https://docs.radar.com/faqs#what-are-privacy-best-practices-for-radar) for more information. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_post_v1_tripsWRITE

Create a new trip via POST /v1/trips. Use the [SDK](https://docs.radar.com/sdk/sdk) to start trips and track users for most use cases. Trips can also be created server-side or through integrations (e.g., Olo). Location updates with the specified `userId` from the [SDK](https://docs.radar.com/sdk/sdk) will update the trip for that user. Creates a new trip. Radar documents this endpoint for publishable keys; this connection sends the project's secret key, and whether Radar accepts a secret key here is unverified -- a 401 on this tool alone is that open question, not a bad key.

api
radar_post_v1_users_refreshWRITE

Send remote track requests to users via POST /v1/users/refresh. Sends a remote track request to a list of users via silent push notifications.

api
radar_put_v1_beacons_by_idWRITE

Upsert a beacon via PUT /v1/beacons/{id}. Upserts a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. If a beacon with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_put_v1_beacons_by_tag_by_externalidWRITE

Upsert a beacon (by tag and externalId) via PUT /v1/beacons/{tag}/{externalId}. Upserts a beacon. The beacon can be uniquely referenced by Radar `_id` or by `tag` and `externalId`. If a beacon with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created. Enterprise plan only (Radar's docs): a project whose contract lacks this module is refused by entitlement, not by a bad key.

api
radar_put_v1_geofences_by_idWRITE

Upsert a geofence via PUT /v1/geofences/{id}. Upserts a geofence. The geofence can be uniquely referenced by `tag` and `externalId` or by the Radar `_id`. If a geofence with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created.

api
radar_put_v1_geofences_by_tag_by_externalidWRITE

Upsert a geofence (by tag and externalId) via PUT /v1/geofences/{tag}/{externalId}. Upserts a geofence. The geofence can be uniquely referenced by `tag` and `externalId` or by the Radar `_id`. If a geofence with the specified `tag` and `externalId` already exists, it will be updated. If not, it will be created.

api

Put Radar behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.