Published 2026-09-21 · Tested 2026-08-19
Radar
BRadar received 4 PASS votes and passed 5 of five agent surface checks. The clearest finding came from the find the exact limits task.
Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read Radar’s public documentation independently and attempted five first-hour developer jobs: track the first location, find the exact limits, recover from a 429, verify a location webhook, use the iOS SDK.
No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check.
Freshness
How rechecks work- Category
- Geospatial & maps
- Tested
- Quotes verified
- Surface rechecked
No change since the test.
5 of 5 quoted passages still appear on the live pages.
83.8% · 67/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts
Agent surface checks · 50/50
The Reading Test
| Task | GPT 5.6 Sol | Opus 5 | DeepSeek v4F | Consensus |
|---|---|---|---|---|
| Track the first location | PASS | PASS | PASS | PASS |
| Find the exact limits | FAIL | PARTIAL | PARTIAL | PARTIAL |
| Recover from a 429 | FAIL | PARTIAL | PARTIAL | PARTIAL |
| Verify a location webhook | PARTIAL | PARTIAL | PARTIAL | PARTIAL |
| Use the iOS SDK | PARTIAL | PARTIAL | PASS | PARTIAL |
docs platform: Mintlify (unscored) · verified 2026-08-19
What to fix first
These 4 fixes could add up to 13 points to the AI Agent Readiness Score. The list ranks each fix by the points it would add. How the ranking works
- 1
Found: The testing page mentions hourly and daily Track limits, but no docs page gives those values or any plan quota.
Fix: Add the hourly and daily Track limits to the API reference, and list any per-plan quotas.
Evidence: docs.radar.com/
geofencing/ testing (opens in a new tab) - 2
Found: The API reference lists three 429 causes but gives no way to tell them apart or correct each.
Fix: For each 429 cause, document what it means, how to detect it, and what the client should do.
Evidence: docs.radar.com/
api (opens in a new tab) - 3
Found: The webhooks page names HMAC-SHA1 but does not state the digest encoding or give a verification code sample.
Fix: On the webhooks page, state the digest encoding, and add a code sample that verifies X-Radar-Signature.
Evidence: docs.radar.com/
integrations/ webhooks (opens in a new tab) - 4
Found: In the iOS SDK Request permissions section, the Objective-C example requests Always authorization only after Always is granted.
Fix: Change the Objective-C permissions example to request Always authorization once when-in-use access is granted, as the Swift example does.
What the docs get right
- Track the first location: 3 PASS votes. The page names the Test Publishable key, Authorization header, endpoint, required fields, and curl syntax, despite its live-key sample.
- Use the iOS SDK: 1 PASS votes. The Swift path works, but the Objective-C example waits for AuthorizedAlways before requesting Always authorization.
- 5 of 5 agent surface checks. Present: llms.txt, llms-full.txt, markdown mirrors, an MCP server, docs AI.
Track the first location
PASSPASS consensus from 3 PASS.
The page names the Test Publishable key, Authorization header, endpoint, required fields, and curl syntax, despite its live-key sample. One page carries the whole first-call path: key location, Authorization header, Publishable vs Secret levels with the explicit instruction to use the Test Publishable key for non-production, then POST https://api.radar.io/v1/track with deviceId, latitude, longitude, and accuracy marked required and a copy-pasteable curl sample. Authentication (API keys from Settings, Authorization header) and the Track endpoint are fully documented with a curl example; path is unambiguous.
Find the exact limits
PARTIALPARTIAL consensus from 2 PARTIAL, 1 FAIL.
Track's hourly and daily values are unstated; fixed plan quotas are absent, and radar.com/pricing.md returned Not Found. Geocoding (100/s forward, reverse, IP), Search (100/s autocomplete, 50/s geofences and places, 25/s address validation, 10/s users), and Routing (50/s distance, 20/s directions, 10/s matrix, route match, optimize) each carry an exact default rate limit in the API reference and no other page contradicts them, but Track is documented as "1 request per second per device" in the API reference while the testing page says hour and day limits also exist and never gives those numbers, and no plan quota figures appear anywhere in the docs. All per-endpoint rate limits are documented, but plan-level quotas (monthly MTU or request caps by pricing tier) are absent from the docs.
Recover from a 429
PARTIALPARTIAL consensus from 2 PARTIAL, 1 FAIL.
The error list names three causes, but it gives no diagnostic signal or complete correction for each cause. The docs name three separate causes for one status code but define only the first: "no state change" and "selective throttling" each appear exactly once across all 58 indexed pages with no explanation, no Retry-After or rate-limit response header is documented anywhere, and the only recovery instruction on the site is the testing page's advice to collect locations less frequently and to reinstall the app to reset per-hour and per-day limits. The three causes of 429 are identified but no Retry-After header, backoff strategy, or correction workflow is documented.
Verify a location webhook
PARTIALPARTIAL consensus from 3 PARTIAL.
The page covers creation, POST delivery, and 2xx acknowledgement, but does not specify the signature digest encoding or comparison method. Creation, delivery shape, and acknowledgement are complete and unambiguous (dashboard Integrations page, Test or Live environment, Single or Multiple Events chunked in groups of 5, return any 2xx), but verification cannot be implemented without guessing because the digest encoding is never stated (hex or base64), no sample X-Radar-Signing-Id value or sample header block is shown, no verification code exists in any language, and the page does not say where the security token is displayed. Webhook creation, 2xx acknowledgement, and HMAC-SHA1 verification are described but the docs lack a concrete verification code example and the signing payload is ambiguously specified.
Use the iOS SDK
PARTIALPARTIAL consensus from 1 PASS, 2 PARTIAL.
The Swift path works, but the Objective-C example waits for AuthorizedAlways before requesting Always authorization. The Swift path is complete and matches the API reference (pinned CocoaPods, SPM, and Carthage versions, Radar.initialize with prj_test_pk_, Info.plist usage strings, escalation from requestWhenInUseAuthorization to requestAlwaysAuthorization, Radar.trackOnce with a 13-value status enum), but the Objective-C snippet in the same Request permissions block escalates from the wrong state and never reaches Always authorization. Installation (CocoaPods/SPM/Carthage), initialization with publishable key, permission requests, and trackOnce() are fully documented with matching Swift and Objective-C examples.
The receipt
Radar has device specific rate limits per second, hour and day for the track API endpoint, which sends location updates to Radar.
Track's hourly and daily values are unstated; fixed plan quotas are absent, and radar.com/pricing.md returned Not Found.
Agent surface notes
Initialize returned JSON-RPC protocol 2025-06-18 with Radar server information.
The live docs expose a public assistant panel control.
Show the score
Paste this into a readme:
[](https://docsforagents.com/reports/radar-docs-ai-agent-readiness/) Method note
This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five agent surface checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 3 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-19.
Put another docs site through the battery.
Nominate a docs site