curl --request GET \
--url https://agent.lanesurf.com/v1/loads \
--header 'Authorization: Bearer <token>'import requests
url = "https://agent.lanesurf.com/v1/loads"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://agent.lanesurf.com/v1/loads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agent.lanesurf.com/v1/loads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://agent.lanesurf.com/v1/loads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agent.lanesurf.com/v1/loads")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent.lanesurf.com/v1/loads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"loads": [
{
"load_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "sourcing",
"origin": {
"city": "Dallas",
"state": "TX",
"zip_code": "75201"
},
"destination": {
"city": "Dallas",
"state": "TX",
"zip_code": "75201"
},
"outreach": {
"sessions": 123
},
"tms_id": "<string>",
"reference_number": "<string>",
"status_reason": "<string>",
"equipment_type": "Dry Van",
"pickup_date": "2026-11-03",
"delivery_date": "2026-11-04",
"max_rate": 123,
"agreed_rate": 123,
"covered_by": "lanesurf",
"offers": {
"pending": 123,
"best_rate": 123,
"latest_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"next_step": "<string>"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key"
}{
"error": "this API key can't use broker routes",
"code": "wrong_role"
}{
"error": "too many requests for this API key; slow down",
"code": "rate_limited"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}List your loads
The loads your brokerage posted through the API, newest first, a page at a time.
curl --request GET \
--url https://agent.lanesurf.com/v1/loads \
--header 'Authorization: Bearer <token>'import requests
url = "https://agent.lanesurf.com/v1/loads"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://agent.lanesurf.com/v1/loads', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agent.lanesurf.com/v1/loads",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://agent.lanesurf.com/v1/loads"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agent.lanesurf.com/v1/loads")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agent.lanesurf.com/v1/loads")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"loads": [
{
"load_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "sourcing",
"origin": {
"city": "Dallas",
"state": "TX",
"zip_code": "75201"
},
"destination": {
"city": "Dallas",
"state": "TX",
"zip_code": "75201"
},
"outreach": {
"sessions": 123
},
"tms_id": "<string>",
"reference_number": "<string>",
"status_reason": "<string>",
"equipment_type": "Dry Van",
"pickup_date": "2026-11-03",
"delivery_date": "2026-11-04",
"max_rate": 123,
"agreed_rate": 123,
"covered_by": "lanesurf",
"offers": {
"pending": 123,
"best_rate": 123,
"latest_at": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z"
}
],
"next_cursor": "<string>",
"next_step": "<string>"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key"
}{
"error": "this API key can't use broker routes",
"code": "wrong_role"
}{
"error": "too many requests for this API key; slow down",
"code": "rate_limited"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}{
"error": "invalid API key",
"code": "invalid_api_key",
"missing": [
"<string>"
],
"next_step": "<string>",
"current_rate": 123,
"request_id": "req_0192f3a4-7b1c-7d2e-9f00-1a2b3c4d5e6f"
}GET /v1/loads/{id}.
Pages: limit loads at a time (1 to 100, default 25). When there are more, next_cursor is set: send it
back as cursor for the next page. It is null on the last page.Authorizations
One key per broker rep or per carrier signup. Keep it secret.
Query Parameters
How many loads per page, a whole number from 1 to 100. Defaults to 25. Anything else answers 400.
1 <= x <= 100The next_cursor from the previous page, sent with the same status and needs_decision as that page (other filters answer 400). Leave it out for the first page.
500Only loads with this status. With sourcing or stalled, a page can hold fewer than limit loads
even when more follow: keep paging until next_cursor is null.
sourcing, stalled, covered, inactive, deleted true: only open loads with offers waiting for your answer (offers.pending above 0). One call answers
"anything new on my loads?" instead of reading every load. Send the cursor with the same filter.
Response
One page of loads, newest first.