Documentation menu

Documentation / Plans and limits

Plans and limits

Plan limits bound request volume and query resource use. Paid continuity is opt-in, explicitly capped, and can always remain hard stop.

On this page

Plan limits

Request and execution limits by plan.
LimitExplorerCoreProBusiness
Included requests10,00050,000250,0001,000,000
Daily limit500———
Access window30 daysSubscriptionSubscriptionSubscription
Requests per minute2060300600
Concurrent requests1248
Maximum query timeout30 s60 s120 s120 s
Query body16 KiB32 KiB64 KiB128 KiB
Query memory / maxsize256 MiB512 MiB1 GiB2 GiB
Query response32 MiB256 MiB512 MiB1 GiB

Explorer requires a verified durable account, includes 10,000 successful requests total, allows 500 per UTC day, and expires after 30 days. It has no paid overage and no service-level guarantee. Monthly and annual paid subscriptions have the same recurring request allowance; annual billing changes the base-plan payment schedule, not the allowance. See pricing for current prices.

Address and business search and regional POI discovery are included in every plan. Use your existing API key and shared request allowance; no separate subscription is required.

Paid continuity

Paid plans start with Stop at my limit. During checkout or later on Usage and billing, the account owner may instead authorize metered continuity under a dollar cap, or authorize Mapsource to choose the lower-cost eligible plan up to a selected maximum tier and immediate-charge cap. Charge-bearing choices require a fresh confirmation.

PlanOverage rate
Core$7 / 10,000 successful requests
Pro$4 / 10,000 successful requests
Business$2 / 10,000 successful requests

The cap and policy apply to the organization, so creating or rotating keys cannot multiply the allowance. Once the cap is reached, requests stop. A smart upgrade is attempted only after an exact Stripe invoice preview fits within the remaining authorized cap; otherwise metering continues only to that cap.

Under lowest-cost upgrades, overage events remain in Mapsource’s durable outbox while the upgrade decision is open. A successful upgrade waives those pending events and records the previewed plan charge against the cap. If no upgrade becomes economical, or a safe preview fails, the authorized events are metered instead. The policy cannot be enabled mid-period after metered overage has already begun.

For subscriptions carrying a meter item, the allowance and cap use that item’s Stripe billing period, including annual base plans. The exact start and reset instants are returned by /api/usage. Hard-stop subscriptions created before metering retain their calendar-month window until a metered policy is enabled.

Request accounting

Successful Overpass, raster tile, vector tile, elevation, contour, routing, matrix, map-match, snap, optimize, place, spatial-analysis, compute, style-compile and static-render requests contribute to the organization’s shared usage period. A compute pipeline counts each upstream step it runs, not once for the pipeline.

Failed authentication and rejected queries do not consume accepted-request quota. The usage endpoint, service status, and basemap catalog do not consume query quota. Requests made through MCP use the same underlying service accounting.

The basemap contract, hosted style presets, glyph list, and compiled preset styles are free and unmetered. Data, analysis, and rendering endpoints enforce per-key rate and concurrency limits. Concurrency also depends on available service capacity. Tile requests count toward the shared allowance and support private caching.

Quota headers report a point-in-time balance. Concurrent requests may change it. Use the usage endpoint for current totals.

Search and discovery request accounting

GET /api/places/lookup counts one successful lookup, not one request per result or per internal index search. If Photon is unavailable and a regional Overpass query is needed, that interpreter request is counted separately.

POST /api/places/discover counts the services it runs: one Overpass request, an isochrone request when you supply minutes, and a matrix request when rankBy=travel_time has candidates to rank. The discovery wrapper adds no request charge.

Monthly allowance consumed by successful search workflows.
WorkflowCounted requests
Lookup using the global index1 lookup
Lookup with regional Overpass fallback1 lookup + 1 Overpass = 2
Discovery with bbox or an existing polygon1 Overpass
Discovery generating a travel-time region1 isochrone + 1 Overpass = 2
Discovery with an existing region and travel-time ranking1 Overpass + 1 matrix = 2
Discovery generating a region and ranking by travel time1 isochrone + 1 Overpass + 1 matrix = 3

Matrix calls are skipped when no candidates match. Each requested discovery page runs its own search and counts the services it executes. Supplying an existing polygon avoids generating another isochrone. Successfully completed steps remain counted if a later step fails; retrying runs and counts those steps again.

MCP geo_search operations lookup and discover use this same accounting. Restricted project keys need the discovery scope, which also covers Overpass; generated isochrones and travel-time ranking require navigation scope as well. Existing subscription keys already include these services.

The API reference’s cost class is a relative operation cost, not a multiplier for the monthly request count. Search limits, coverage, pagination and examples are in address and business search. Debounce typed input, cancel superseded requests and respect rate limits.

Response headers

HeaderMeaning
X-Request-IdReference for request diagnostics.
X-RateLimit-LimitThe key’s configured requests-per-minute limit.
X-Quota-LimitIncluded request allowance for the current usage period.
X-Quota-RemainingRemaining allowance reported for this request.
X-Quota-ResetNext usage-period reset, as Unix seconds.
X-Mapsource-Quota-WarningStable 50%, 75%, 90%, or 100% included-allowance milestone; clients may de-duplicate on the value.
X-Mapsource-Overage-Estimated-CentsCurrent estimated overage charge in USD cents on accepted overage requests.
X-Mapsource-Overage-WarningStable US$10 overage band for customer-side alerts.
Retry-AfterDelay before another attempt, when supplied.

Quota headers accompany accepted data requests. They are not guaranteed on every rejection; if missing, use the error code and /api/usage. Convert reset seconds to milliseconds before creating a JavaScript date.

const reset = response.headers.get("X-Quota-Reset");
if (reset) {
  const resetsAt = new Date(Number(reset) * 1000);
  // Schedule against resetsAt, not your invoice date.
}

Query execution defaults

Without [timeout:], Mapsource adds a 25-second timeout. Without [maxsize:], it adds your plan’s memory ceiling in bytes. Values above plan limits are rejected. Set both explicitly when moving queries between providers.

[out:json][timeout:30][maxsize:268435456];
nwr["building"](47.60,-122.34,47.61,-122.33);
out geom 100;

The query timeout limits execution time. Set a longer client timeout to allow for response transfer. Output limits restrict returned objects but may not reduce the work required to find matching features.

When a limit is reached

For rate or concurrency limits, wait for Retry-After and reduce parallel requests. For allowance exhaustion, wait for X-Quota-Reset, raise an authorized cap, or upgrade; a short Retry-After is not a new allowance. Explorer’s 10,000-request total does not reset. For query size, timeout, memory, or response limits, reduce the work before retrying.

The error reference lists the codes and recommended handling.

Questions about this guide? Contact support.