Plans & Limits
The API is included in every Fleeta cloud subscription — there is no separate API fee. The plan that gives you the web viewer and live dashcam monitoring also sets what the API may do: its request rate, the scopes an API key can carry, and the monthly allowances. The plans themselves, and what they cost per camera, are on fleeta.io/pricing; this page only describes the API side of each plan.
One subscription, four ways in: the web viewer, live dashcam monitoring, the Open API (REST, webhooks, SDK) and AI assistants over MCP. The API and the MCP connection are part of the plan — nothing else to buy.
The API tier is not something you choose at issuance — it is derived
from your existing Fleeta subscription plan, along with your camera count.
Issuing a key simply reads that subscription. To move up a tier, change
your subscription; the API side follows. Subscription plans that have no
Open API mapping cannot issue keys at all — the request is rejected with a
403.
Plans at a glance
Two things set your limits: the plan level and the number of cameras on it. Every camera you add raises the monthly call allowance; each plan also has a maximum camera count.
| Fleeta plan | Max cameras | rps (burst) | Scopes | Monthly API calls |
|---|---|---|---|---|
| Free | 1 | 1 (2) | 1 | 300, fixed |
| Starter | 1 | 1 (3) | 4 | 500 + 3,000 per camera |
| Standard | 10 | 3 (6) | 6 | 500 + 7,000 per camera |
| Pro | 99 | 10 (25) | 13 | 500 + 10,000 per camera |
| Enterprise | 999 | 25 (50) | 15 | 500 + 15,000 per camera |
For example, a Standard plan with 10 cameras gets 500 + 7,000 × 10 =
70,500 calls a month; an Enterprise plan with 200 cameras gets
3,000,500. See Rate Limits for enforcement details
and 429 handling.
What each tier unlocks
Scopes are cumulative — each tier includes everything below it (free 1 → starter 4 → standard 6 → pro 13 → enterprise 15 scopes):
- free — device inventory (
devices:read). - starter — adds GPS locations/trips, safety events, and usage lookup
(
gps:read,events:read,usage:read). - standard — adds fleet insights/reports and event video URL issuance
(
insights:read,video:read). - pro — adds device writes, GPS Export, SD-card media list/recall,
geofences, and webhooks (
devices:write,gps:export,media:read,media:recall,geofences:read,geofences:write,webhooks:manage). Webhook push subscriptions are available from the pro tier and above. - enterprise — adds SD-card recording deletion and audit logs
(
media:write,audit:read).
The AI Assistants (MCP) connection uses the same key and the same scopes — vehicle status from Free, safety events and trips from Starter, video and reports from Standard, geofences and SD recordings from Pro. The full scope-by-tier matrix with per-scope descriptions is in the Authentication guide.
Volume quotas
Two resources have monthly allowances of their own, separate from call volume, because their cost is not per call: video delivered to you and GPS export jobs. Like the call limit, both grow with what the plan is paid for.
| Bucket | Allowance / month | Available from |
|---|---|---|
transfer_bytes — video delivered to you (event video URLs + SD-card recalls) | 0.8 GB per $1 on Standard · 1 GB per $1 on Pro · 1.2 GB per $1 on Enterprise | standard (0 below) |
export_job — GPS Export jobs created | 50 per camera | pro (0 below) |
export_concurrent — Export jobs running at once | free/starter 0 · standard/pro 1 · enterprise 2 (fixed) | standard |
Per camera that is 5.6 GB a month on Standard, 10 GB on Pro and
18 GB on Enterprise — a Standard plan with 10 cameras has 56 GB, a Pro plan
with 10 cameras 100 GB, an Enterprise plan with 100 cameras 1.8 TB. One GB here
is 2³⁰ bytes, the same unit GET /v1/usage reports. The allowance is metered
when a link is issued: an event video URL counts at the clip's size (a flat
6 MB), an SD-card recall at the recording's size (sizeBytes, or a flat 8 MB
sub / 150 MB main estimate when the dashcam does not report it). A sub
recording is 5–10 MB; a full-quality main recording is often 300 MB or more,
so the same allowance buys roughly 700 sub recordings or 35 minutes of
full-quality footage per camera on Standard, about twice that on Pro and three
times on Enterprise. Thumbnails, listings, metadata, job status and GPS export
files do not count. GET /v1/usage reports the bucket in bytes
(unit: "bytes").
Exceeding a volume quota returns 403 + quota_exceeded (not 429) — worked
examples and the error shape are in
Rate Limits. Additional transfer
packs for months that need more are planned for a later release; until then
the way to get more is a higher plan or more cameras.
Data retention by plan
The API reads the same data the web viewer shows, so it inherits the retention of your Fleeta plan (the full feature table is on fleeta.io/pricing). Once a window passes, the data is gone from the API too.
| Data | Free | Starter | Standard | Pro | Enterprise |
|---|---|---|---|---|---|
Event videos in the cloud — GET /v1/events/{eventId}/video | 2 days | 7 days | 30 days | 30 days | 90 days |
GPS tracks — /trips, /trips/{tripId}/track, GPS Export | — | — | 30 days | 90 days | 120 days |
| Cloud storage | 5 GB per account | 5 GB per camera | 10 GB per camera | 25 GB per camera | 50 GB per camera |
API call logs — GET /v1/api-logs | 30 days raw · 13 months of daily totals, every plan | ||||
| Recalled SD-card files — the download link from a recall job | 1 day on the media server, every plan |
Two effects worth knowing before you build on it:
- Trips outlive their tracks.
GET /v1/devices/{psn}/tripskeeps listing a trip (start, end, duration) after its GPS points have expired, butGET /v1/trips/{tripId}/trackthen answers404 trip_not_found. Treat that as "expired", not as a broken id, and read the summary fields from the list instead. - Event records outlive their video. An event stays in
GET /v1/eventsafter its video window has passed — the row remains,channelsempties andhasVideoturnsfalse; only the video URL stops being issuable. Events the account deleted from cloud storage are removed from the list entirely.
API keys per organization
Each organization can hold a limited number of active API keys —
1 on free, 10 on every paid tier. Issuing a key beyond the limit
returns 409; revoke an unused key first. Revoked keys do not count.
When you hit a limit — overage policy
Calls beyond the monthly cap are blocked. There is no pay-as-you-go
overage billing, and unused calls do not roll over to the next month. Once
the cap is reached, every further request returns 429 with a
problem+json code of monthly_limit_exceeded plus a Retry-After header
pointing at the next billing month (the 1st of the next month, UTC), when
the counter resets. If you need more calls before the reset, move to a
higher subscription plan or add cameras — see
Rate Limits for
the full response shape and handling guidance.
Plan changes and your keys
- No reissue needed for scope lineup changes. Keys issued without an
explicit scope list (
tier_default) resolve their tier's full scope set at request time — when a plan's scope lineup changes, those keys pick it up immediately, without reissuing. See Authentication. - Your key follows your subscription — no reissue on a plan change. Tier, camera limit and monthly call limit are re-read from your subscription at request time: a tier change (up or down) takes effect within about five minutes, and the monthly limit on the very next call. See Rate Limits.
Related links
- Fleeta plans and prices — the subscription itself
- Rate Limits — enforcement,
429handling, usage lookup - Authentication — full scope matrix and key handling
- Webhooks — push subscriptions (pro and above)
- Getting Started — issue a key and make your first call
Changing your plan or talking to sales
Plans are managed in the Fleeta web viewer, not in this portal. The API tier is derived from your subscription, so when the subscription changes — a tier up or down, cameras added or removed — the limits follow within minutes. See Rate Limits under Changing plan? Keep your key.
Open the web viewerFleets beyond the Enterprise camera cap, or anything the plans do not cover: contact sales.