MyCarTracks API v3 integration

MyCarTracks API v3 lets you connect your own software to MyCarTracks data. Use it for dashboards, CRM or ERP integrations, dispatch tools, reporting, exports, automation scripts, AI-agent workflows, and live vehicle position dashboards.

API v3 uses OAuth2 client credentials and bearer-token authentication. The old API v1 apiKey=API_KEY query parameter style is deprecated and should not be used for new integrations.

Quick links

What you can access

Use API v3 to work with:

  • Vehicles and vehicle groups.
  • Tracks, trackpoints, and reports.
  • Users, drivers, and teams.
  • Jobs, geofences, and map sharing links.
  • Vehicle last positions and live position streams.

The exact request parameters and response fields are documented in the API v3 documentation.

Create API credentials

To create or manage API credentials:

  1. Log in to your MyCarTracks web account.
  2. Open Settings from the menu with your profile image or initials.
  3. Select API in the settings menu.
  4. Generate API credentials if you do not have them yet.
  5. Save the settings.

Keep your Client ID and Client Secret private. Do not put them in public repositories, screenshots, browser logs, shared chat logs, or public AI-agent prompts.

Get an access token

Use your Client ID and Client Secret to request an OAuth2 bearer token:

curl -X POST "https://mycartracks.com/oauth/token" \
  -u "CLIENT_ID:CLIENT_SECRET" \
  -d "grant_type=client_credentials" \
  -d "scope=read"

Use read for read-only integrations. Use read write only when your credentials are allowed to create, update, or delete data.

The response contains an access token. Send it with API requests:

curl "https://mycartracks.com/services/rest/v3/vehicles?limit=10" \
  -H "Authorization: Bearer ACCESS_TOKEN"

When the access token expires, request a new token with the same Client ID and Client Secret.

Try requests in the documentation

The API documentation is the easiest place to test an endpoint before implementing it in code:

  1. Open MyCarTracks API v3
  2. Open the authentication or authorize panel.
  3. Enter your API v3 Client ID and Client Secret.
  4. Authorize with the scope your test needs.
  5. Open an endpoint and run a test request.

Use this to confirm required parameters, response fields, scopes, and error responses.

Common API requests

List vehicles:

curl "https://mycartracks.com/services/rest/v3/vehicles?limit=10" \
  -H "Authorization: Bearer ACCESS_TOKEN"

List tracks:

curl "https://mycartracks.com/services/rest/v3/tracks2?limit=10" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Get one track:

curl "https://mycartracks.com/services/rest/v3/tracks/TRACK_ID" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Get trackpoints for one track:

curl "https://mycartracks.com/services/rest/v3/trackpoints/TRACK_ID?limit=500" \
  -H "Authorization: Bearer ACCESS_TOKEN"

List vehicle last positions:

curl "https://mycartracks.com/services/rest/v3/vehicles/lastPositions?limit=50" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Useful endpoints

Use case Endpoint
List vehicles GET /vehicles
List tracks GET /tracks2
Get one track GET /tracks/{trackId}
Get trackpoints GET /trackpoints/{trackId}
List vehicle last positions GET /vehicles/lastPositions
Create live position stream POST /vehicles/livePositions/stream

Use the API documentation to confirm the current URL, parameters, and response model before using an endpoint in production.

Pagination and fields

Most list endpoints support pagination:

  • offset - zero-based row offset. The first page is 0.
  • limit - page size.

Some endpoints also support:

  • sort - sort by supported fields.
  • fields - return only selected fields.

Example:

curl "https://mycartracks.com/services/rest/v3/vehicles?offset=0&limit=25&fields=id,name" \
  -H "Authorization: Bearer ACCESS_TOKEN"

The enhanced tracks endpoint supports deterministic pagination and optional total count:

curl "https://mycartracks.com/services/rest/v3/tracks2?offset=0&limit=100&includeTotal=true" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Rate limits

MyCarTracks returns rate-limit information in response headers:

  • X-Rate-Limit-Limit - allowed requests in the current time window.
  • X-Rate-Limit-Remaining - requests left in the current time window.
  • X-Rate-Limit-Reset - seconds left until the current time window resets.

Check the headers with curl -i:

curl -i "https://mycartracks.com/services/rest/v3/vehicles?limit=1" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Example headers:

X-Rate-Limit-Limit: 150
X-Rate-Limit-Remaining: 149
X-Rate-Limit-Reset: 900

The default limit is 150 requests per 15-minute window. Your account or credentials may have a different limit, so read the headers returned by the API.

If the limit is exceeded, slow down requests and retry after the reset window. Avoid repeated immediate retries.

Command-line access

If you prefer terminal access, use the official MyCarTracks CLI configuration:

The CLI uses Restish and the same API v3 OpenAPI document. It is useful for quick tests, exports, automation, and AI-agent workflows.

Read more: MyCarTracks CLI

Live position dashboards

For modern live vehicle maps, use the live position WebSocket API. The recommended flow is:

  1. Call GET /vehicles/lastPositions for the initial map markers.
  2. Call POST /vehicles/livePositions/stream to create a stream.
  3. Connect to the returned websocketUrl.
  4. Update markers from WebSocket events.

Read more: Live vehicle position WebSocket API

Recommended integration workflow

  1. Create API v3 credentials in MyCarTracks settings.
  2. Test your request in the API v3 documentation.
  3. Request an OAuth2 access token with the smallest required scope.
  4. Implement requests with bearer-token authentication.
  5. Add pagination where list endpoints can return many records.
  6. Read X-Rate-Limit-* headers on every response.
  7. Add retries with backoff for temporary errors.
  8. Keep Client Secrets out of logs and public code.

Error handling

Your integration should handle common HTTP statuses:

  • 400 - request parameters are invalid.
  • 401 - token is missing, invalid, or expired.
  • 403 - credentials do not have permission, or rate limit was exceeded.
  • 404 - resource was not found or is not available to the authenticated account.
  • 5xx - temporary service or infrastructure error.

For 401, request a new token and retry once. For 403, check scopes, permissions, and rate-limit headers before retrying.

Support

If you need an endpoint that is not available yet, or if you have questions about authentication, scopes, limits, or integration design, contact us:

support@mycartracks.com

Useful links:


Source: MyCarTracks API v3 integration