Monthly quotas
- API requests. Your plan sets a monthly API request quota, shown in Studio under Settings > Usage. Cloud anchor operations (except attaching and removing content), geospatial anchor operations, scenes, projects and scene API requests each count as one request. When the quota is used up they answer 403
API_REQUEST_LIMIT_REACHEDuntil the next month. File uploads, AI generation, co-location rooms and user tokens do not count. - Storage. Uploaded images, videos and 3D models, and AI outputs, count against the team's storage quota (403
STORAGE_LIMIT_REACHED). Anchor files (anchor-featuresandmeshuploads) do not. - AI credits. Each AI generation costs credits from the team's monthly AI credit budget; the AI operations list the costs (403
LIMIT_REACHED). - Co-location needs a paid plan (403
PAID_PLAN_REQUIRED), and a project holds at most 500 rooms.
Search bounds
| Operation | Client key | Secret and legacy keys |
|---|---|---|
| Nearby anchor searches (cloud and geospatial) | At most 50 results within at most 1,000 m. Cloud anchor searches return public anchors only. | At most 100 results within at most 5,000 m, once enforced. |
| Anchor lists (cloud and geospatial) | Not available. | At most 100 per page, once enforced. |
| File list | Not available. | At most 100 per page (secret keys only; legacy keys are refused). |
The default radius is 500 m and the default limit is 50. A larger limit or radius is reduced to the bound without an error; nearby searches echo the radius used in search.radius_meters, and lists echo the page size in pagination.limit.
Rate limits
| Requests | Limit | Counted per | Keys |
|---|---|---|---|
| Creating a cloud or geospatial anchor | 30 a minute | IP address and team | All |
Uploading an anchor file (anchor-features or mesh) | 30 a minute | IP address and team | All |
| Fetching one cloud or geospatial anchor | 300 a minute | IP address and team | All |
| Reporting a cloud anchor resolve | 300 a minute | IP address and team | All |
| Each other anchor operation (nearby, list, update, delete, attach, remove) | 600 a minute | IP address | All |
| Running a scene API request | 300 a minute | IP address | All |
| Running a scene API request | 120 a minute | Key | Secret |
| Running a scene API request | 120 a minute | Team | All callers; already enforced |
| All operations together | 1,200 a minute | Key | Secret |
| Minting user tokens | 1,200 a minute | Key | Secret; already enforced |
| Minting user tokens | 60 an hour | Key and app user | Secret; already enforced |
A request over a limit answers 429 RATE_LIMITED with a Retry-After header, in seconds.
The host and resolve limits are ARCore's Cloud Anchor limits, counted per IP address and team as ARCore counts them per IP address and Google Cloud project, so one team's busy venue never uses up another team's.
Per-key limits apply to secret keys only. Every copy of an app sends the same client key, so a per-key limit on it would let anyone who copied the key out of the app block the app for all its users. A client key is bounded by the per-IP limits and the team's quotas instead.
The limits not marked as already enforced, and the bounds marked "once enforced" above, start being enforced on a date announced in the changelog. Until then a request over them is served as usual.