Vehicle Location API
Let a broker, shipper or TMS read a carrier's trucks' current location automatically, without phone calls or manual updates. For each truck you get the unit number, VIN, driver, GPS position, the nearest town with distance and direction, the time of the position and the carrier's USDOT number. The API is read-only. Each token only sees the trucks of the carrier that created it.
Base URL
https://api-dev.prologeld.com/api/v1/external
Authorization
Send the token in the Authorization header of every request:
Authorization: Bearer {token}
Ask the carrier for a token. The carrier creates it in the ProLogELD dashboard under Settings → API Access and can revoke it at any time. A revoked token stops working immediately. Limit: 120 requests per minute per token.
GET /vehicles/current
Current location of all the carrier's trucks, sorted by unit number, page by page.
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
page | Integer | No | 0 | Page number (first page is 0) |
size | Integer | No | 10 | Trucks per page, 1–100 |
Request sample
curl -X GET "https://api-dev.prologeld.com/api/v1/external/vehicles/current?page=0&size=10" \
-H "accept: application/json" \
-H "Authorization: Bearer {token}"
Sample response (HTTP 200)
{
"result": {
"code": "ok",
"description": "ok"
},
"content": [
{
"vehicle": {
"id": "6701c2e5f1a4b3c2d1e0f981",
"make": "Freightliner",
"model": "Cascadia",
"vin": "1FUJGLDR3CLBP8834",
"unit_number": "826"
},
"driver": {
"id": "6701c2e5f1a4b3c2d1e0f912",
"name": "John Smith"
},
"location": {
"vehicle_coordinates": {
"latitude": 26.0451,
"longitude": -80.1172
},
"nearby_location_coordinates": {
"latitude": 26.0523,
"longitude": -80.1439
},
"distance": 1.7,
"state": "FL",
"location": "Dania Beach",
"time": "2026-10-12T14:05:09Z",
"direction": "e"
},
"dot": "1234567"
},
{
"vehicle": {
"id": "6701c2e5f1a4b3c2d1e0f982",
"make": "Volvo",
"model": "VNL 760",
"vin": "4V4NC9EH5LN223344",
"unit_number": "827"
},
"driver": null,
"location": null,
"dot": "1234567"
}
],
"pageable": {
"total": 12,
"prev": null,
"next": 1,
"current": 0
}
}
Sample response (HTTP 401)
{
"result": {
"code": "invalid_token",
"description": "Invalid token"
},
"content": null
}
Sample response (HTTP 403)
{
"result": {
"code": "forbidden",
"description": "forbidden"
},
"content": null
}
GET /vehicles/{unit_number}
Current location of one truck, by its unit number.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
unit_number | String | Yes | Truck / unit number, e.g. 826 (not case-sensitive) |
Request sample
curl -X GET "https://api-dev.prologeld.com/api/v1/external/vehicles/826" \
-H "accept: application/json" \
-H "Authorization: Bearer {token}"
Sample response (HTTP 200)
{
"result": {
"code": "ok",
"description": "ok"
},
"content": {
"vehicle": {
"id": "6701c2e5f1a4b3c2d1e0f981",
"make": "Freightliner",
"model": "Cascadia",
"vin": "1FUJGLDR3CLBP8834",
"unit_number": "826"
},
"driver": {
"id": "6701c2e5f1a4b3c2d1e0f912",
"name": "John Smith"
},
"location": {
"vehicle_coordinates": {
"latitude": 26.0451,
"longitude": -80.1172
},
"nearby_location_coordinates": {
"latitude": 26.0523,
"longitude": -80.1439
},
"distance": 1.7,
"state": "FL",
"location": "Dania Beach",
"time": "2026-10-12T14:05:09Z",
"direction": "e"
},
"dot": "1234567"
}
}
Sample response (HTTP 404)
{
"result": {
"code": "not_found",
"description": "Vehicle not found"
},
"content": null
}
Response fields
Every truck in content has the same structure in both endpoints.
| Field | Type | Description |
|---|---|---|
result.code | String | ok, or an error code (see Errors) |
result.description | String | Text for the result code |
content | Array or Object | Array of trucks for /vehicles/current; one truck for /vehicles/{unit_number}; null on errors |
pageable.total | Number | Number of trucks in the company |
pageable.prev | Number or null | Previous page number |
pageable.next | Number or null | Next page number |
pageable.current | Number | This page number (first page is 0) |
vehicle.id | String | ProLogELD vehicle ID |
vehicle.make | String | Make (vehicle name in ProLogELD) |
vehicle.model | String | Model |
vehicle.vin | String | VIN |
vehicle.unit_number | String | Truck / unit number |
driver | Object or null | Driver assigned to the truck; null when none |
driver.id | String | ProLogELD driver ID |
driver.name | String | Driver name |
location | Object or null | Last known position; null when the truck has no driver or no GPS yet |
location.vehicle_coordinates.latitude / longitude | Number | Truck position (WGS 84) |
location.nearby_location_coordinates.latitude / longitude | Number | Center of the nearest town |
location.distance | Number | Miles from that town to the truck |
location.state | String | State / province code of that town |
location.location | String | Name of that town |
location.time | String | When the position was recorded, UTC, ISO 8601 (2026-10-12T14:05:09Z) |
location.direction | String | Direction from the town to the truck: n ne e se s sw w nw (empty when in town) |
dot | String | USDOT number of the carrier |
Errors
Errors have the same shape as a success, with content: null.
| HTTP | result.code | When |
|---|---|---|
| 200 | ok | Success |
| 400 | bad_request | Wrong page or size |
| 401 | invalid_token | Token missing, wrong or revoked |
| 403 | forbidden | The carrier's account is suspended |
| 404 | not_found | No truck with that unit number in this company |
| 429 | too_many_requests | More than 120 requests a minute with one token |
Notes
- Positions come from the driver's ELD app and are refreshed about once a minute while the app is online. Check
location.timeto see how fresh a position is. - While a driver uses Personal Conveyance, the position is shared with reduced precision (about 10 km), as required by FMCSA rules.
- Polling every 1–5 minutes is enough for tracking. Please stay under 120 requests a minute.
- Keep the token secret, like a password. If it leaks, ask the carrier to revoke it and create a new one.
Need help connecting? Contact ProLogELD support.
Town names and coordinates: GeoNames (geonames.org), CC BY 4.0.