Webservice to get a GS shipping quote. You can use Rest calls shown below.
| Name | Service URL | Additional details |
|---|---|---|
| Rest | ${baseUrl}/ltlservices/v2/rest/waybills/quotes | Example test url: https://test-api.forwardair.com/ltlservices/v2/rest/waybills/quotes |
| Name | Type | Required | Description |
|---|---|---|---|
| user | Header param | Y | Your API username. Please note this is not the same as your web username. |
| password | Header param | Y | Your API password. Please note this is not the same as your web password. |
| customerId | Header param | Y | Your API customerId. |
| Content-Type | Header param | Y | application/xml. Json payload is not supported. |
| Body | Body | Y | GS Quote xml. Quote xml must meet the GS Quote Request Schema. |
Quote payload root object is <QuoteRequest>
| Name | Type | Required | Description |
|---|---|---|---|
| BillToCustomerNumber | String | Y | Your Forward billing account number. This will drive the negotiated rate tariff. Example: <BillToCustomerNumber>1234567</BillToCustomerNumber> |
| ShipperCustomerNumber | String | Y | Your Forward shipper account number. If you do not have separate shipping account number, you can use same value as BillToCustomerNumber. Example: <ShipperCustomerNumber>1234567</ShipperCustomerNumber> |
| Origin | Object | Y | Origin of shipment (see below for members). |
| OriginAirportCode | String | N | Part of the Origin object. Use if you are shipping from FA airport code. Example: <OriginAirportCode>DFW</OriginAirportCode> |
| OriginZipCode | String | N | Part of the Origin object. Use if you are shipping from zip code. Example: <OriginZipCode>75063</OriginZipCode> |
| OriginCountryCode | String | N | Part of the Origin object. Use if you are shipping from zip code. US, MX, CA. Defaults to US. Example: <OriginCountryCode>US</OriginCountryCode> |
| Pickup | Object | N | Part of the Origin object. Use if you are shipping from zip code (see below for members). |
| AirportPickup | String | N | Part of the Pickup object. Use in conjunction with OriginAirportCode. Values are Y/N. Example: <AirportPickup>N</AirportPickup> |
| PickupAccessorials | Array | N | Part of the Pickup object. Use if specials services are needed as part of pickup. |
| PickupAccessorial | String | N | Part of the PickupAccessorials array. List of current accessorial codes can be found using the accessorials webservice. Example: <PickupAccessorial>PJP</PickupAccessorial> |
| Destination | Object | Y | Destination of shipment (see below for members) |
| DestinationAirportCode | String | N | Part of the Destination object. Use if you are shipping to FA airport code. Example: <DestinationAirportCode>ATL</DestinationAirportCode> |
| DestinationZipCode | String | N | Part of the Destination object. Use if you are shipping to zip code. Example: <DestinationZipCode>30303</DestinationZipCode> |
| DestinationCountryCode | String | N | Part of the Destination object. Use if you are shipping to zip code. US, MX, CA. Defaults to US. Example: <DestinationCountryCode>US</DestinationCountryCode> |
| Delivery | Object | N | Part of the Destination object. Use if you are shipping to zip code (see below for members). |
| AirportDelivery | String | N | Part of the Delivery object. Use in conjunction with DestinationAirportCode. Values are Y/N. Example: <AirportDelivery>N</AirportDelivery> |
| DeliveryAccessorials | Array | N | Part of the Delivery object. Use if specials services are needed as part of delivery. |
| DeliveryAccessorial | String | N | Part of the DeliveryAccessorials array. List of current accessorial codes can be found using the accessorials webservice. Example: <DeliveryAccessorial>PJD</DeliveryAccessorial> |
| Dimensions | Array | N | Array of Dimension. |
| Dimension | Object | Y | Part of Dimensions. Elements below. |
| Pieces | Number | Y | Part of Dimension. Number of 'handling' pieces with this dimension not 'said to contain' pieces. For example if you have 1 pallet with 50 pieces, please send 1 piece here with the dimensions of the pallet. |
| Length | Number | Y | Part of Dimension. Length in inches. |
| Width | Number | Y | Part of Dimension. Width in inches. |
| Height | Number | Y | Part of Dimension. Height in inches. |
| FreightDetails | Array | Y | Array of FreightDetail. |
| FreightDetail | Object | Y | Part of the FreightDetails array. |
| FreightClass | String | N | Part of the FreightDetail object. Freight class. Valid values are: 50, 55, 60, 65, 70, 77.5, 85, 92.5, 100, 110, 125, 150, 175, 200, 250, 300, 400, 500. Required if your tariff is based on freight class. Example: <FreightClass>100</FreightClass> |
| Weight | Number | Y | Part of the FreightDetail object. Weight of freight. Example: <Weight>250.0</Weight> |
| WeightType | String | Y | Part of the FreightDetail object. L for Lbs and K for Kgs. Example: <WeightType>L</WeightType> |
| Pieces | Number | Y | Part of the FreightDetail object. Handling pieces. Loose pieces or pallets. Do not send said to contain pieces in this field. Example: <Pieces>3</Pieces> |
| Description | String | Y | Part of the FreightDetail object. Freight description. Example: <Description>GE APPLIANCES</Description> |
| Hazmat | String | Y | Hazmat freight. Y/N. Example: <Hazmat>N</Hazmat> |
| InbondShipment | String | Y | Inbond freight. Y/N. Example: <Inbond>N</Inbond> |
| DeclaredValue | Number | Y | Insurance on the shipment in US dollars. Example: <DeclaredValue>500.00</DeclaredValue> |
| ShippingDate | String | Y | Expected shipping date in YYYY-MM-DD format. Please note that shipping date will be used to lookup rates. Example: <ShippingDate>2020-01-05</ShippingDate> |
Successful quote call.
| Name | Type | Required | Description |
|---|---|---|---|
| http status code | 200 | Y | Code 200 for successful request. |
| QuoteResponses | Response body | Y | Multiple Quote Response xml data. Schema for this is Quote Response Schema. |
| Name | Type | Required | Description |
|---|---|---|---|
| QuoteId | String | Y | Part of the response element. Example: <QuoteId>LTL-0447be13-717f-406e-b9e4-ab5b84a29a0f</QuoteId> |
| QuoteDescription | String | Y | Part of the response element. Example: <QuoteDescription>LTL Service Quote</QuoteDescription> |
| WeightAdjusted | String | Y | Part of the FreightDetail response element. Y/N. If weight was adjusted due to dimensional weight being higher and being used to calculate charges. Example: <WeightAdjusted>N</WeightAdjusted> |
| QuoteTotal | Number | Y | Total for the quote in USD. Example: <QuoteTotal>300.22</QuoteTotal> |
| TotalWeight | Number | Y | Total weight. Example: <TotalWeight>1500.0</TotalWeight> |
| TransitDaysTotal | Number | Y | Total days of transit (includes weekend). Please note that the shipping day has to be valid business day and the freight must be picked up according to market schedule. Example: <TransitDaysTotal>5</TransitDaysTotal> |
| ChargeLineItems | Array | Y | Array of ChargeLineItem. |
| ChargeLineItem | Object | Y | Charge line. |
| Code | String | Y | Part of ChargeLineItem. Charge line code. |
| Description | String | Y | Part of ChargeLineItem. Description of charge line. |
| Zone | String | Y | Part of ChargeLineItem. Zone of service. Will be returned on Code PUL, DEL and LTL only. |
| ServiceLevel | Number | Y | Part of ChargeLineItem. ServiceLevel is transit days for the given service. Will be returned on Code PUL, DEL, LTL. 0 means same day service. |
| Amount | Number | Y | Part of ChargeLineItem. Amount of charge line in USD. 0.00 mean no charge service. |
| ScheduledPickupFromDate | Date | Y | Part of Response. Actual Scheduled Pickup From Date. |
| ScheduledPickupToDate | Date | Y | Part of Response. Actual Scheduled Pickup To Date. |
| ScheduledDeliveryFromDate | Date | Y | Part of Response. Actual Scheduled Delivery From Date. |
| ScheduledDeliveryToDate | Date | Y | Part of Response. Actual Scheduled Delivery To Date. |
Unsuccessful quote call.
| Name | Type | Required | Description |
|---|---|---|---|
| http status code | 400, 500 | Y | Code 400 for bad request, 500 for errors. |
| FAError | String | Y | Error Response xml data. Schema for this is Error Response Schema. |
Zip to Zip rate request. This example shows a rest xml payload.
<?xml version="1.0" encoding="UTF-8"?>
<QuoteRequest>
<BillToCustomerNumber>1234567</BillToCustomerNumber>
<ShipperCustomerNumber>1234567</ShipperCustomerNumber>
<Origin>
<OriginAirportCode/>
<OriginZipCode>90746</OriginZipCode>
<OriginCountryCode>US</OriginCountryCode>
<Pickup>
<AirportPickup>N</AirportPickup>
</Pickup>
</Origin>
<Destination>
<DestinationAirportCode/>
<DestinationZipCode>48154</DestinationZipCode>
<DestinationCountryCode>US</DestinationCountryCode>
<Delivery>
<AirportDelivery>N</AirportDelivery>
</Delivery>
</Destination>
<FreightDetails>
<FreightDetail>
<Weight>1500</Weight>
<WeightType>L</WeightType>
<Pieces>1</Pieces>
<FreightClass>60.0</FreightClass>
</FreightDetail>
</FreightDetails>
<Dimensions>
<Dimension>
<Pieces>1</Pieces>
<Length>40</Length>
<Width>30</Width>
<Height>20</Height>
</Dimension>
</Dimensions>
<Hazmat>N</Hazmat>
<InBondShipment>N</InBondShipment>
<DeclaredValue>0.00</DeclaredValue>
<ShippingDate>2020-11-02</ShippingDate>
</QuoteRequest>
Zip to Zip rates. Rates shown here are for sample only and do not represent any active contract.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<QuoteResponses>
<QuoteResponse>
<QuoteId>LTL-0447be13-717f-406e-b9e4-ab5b84a29a0f</QuoteId>
<QuoteDescription>LTL Service Quote</QuoteId>
<BillToCustomerNumber>2328626</BillToCustomerNumber>
<ShipperCustomerNumber>2328626</ShipperCustomerNumber>
<OriginAirportCode>DTW</OriginAirportCode>
<OriginZipCode>48174</OriginZipCode>
<DestinationAirportCode>JFK</DestinationAirportCode>
<DestinationZipCode>11001</DestinationZipCode>
<FreightDetails>
<FreightDetail>
<Description>golf clubs</Description>
<Pieces>1</Pieces>
<Weight>50.0</Weight>
<WeightType>L</WeightType>
<WeightAdjusted>N</WeightAdjusted>
</FreightDetail>
<FreightDetail>
<Description>desk</Description>
<Pieces>1</Pieces>
<Weight>61.0</Weight>
<WeightType>L</WeightType>
<WeightAdjusted>N</WeightAdjusted>
</FreightDetail>
</FreightDetails>
<Hazmat>N</Hazmat>
<InBondShipment>N</InBondShipment>
<DeclaredValue>1234.00</DeclaredValue>
<QuoteDate>2025-09-15</QuoteDate>
<QuoteTotal>201.56</QuoteTotal>
<TotalWeight>111.0</TotalWeight>
<TransitDaysTotal>2</TransitDaysTotal>
<ChargeLineItems>
<ChargeLineItem>
<Code>PUL</Code>
<Description>PICKUP</Description>
<Zone>A</Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>33.84</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>DEL</Code>
<Description>DELIVERY</Description>
<Zone>B</Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>39.19</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>LTL</Code>
<Description>LINEHAUL</Description>
<Zone></Zone>
<ServiceLevel>2</ServiceLevel>
<Amount>71.34</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>FSC</Code>
<Description>FSC</Description>
<Zone></Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>45.47</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>DVC</Code>
<Description>DECLARED VALUE</Description>
<Zone></Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>11.72</Amount>
</ChargeLineItem>
</ChargeLineItems>
<ScheduledPickupFromDate>2025-09-15</ScheduledPickupFromDate>
<ScheduledPickupToDate>2025-09-16</ScheduledPickupToDate>
<ScheduledDeliveryFromDate>2025-09-17</ScheduledDeliveryFromDate>
<ScheduledDeliveryToDate>2025-09-18</ScheduledDeliveryToDate>
</QuoteResponse>
<QuoteResponse>
<QuoteId>GS1-67249c53-840a-4058-b3d6-adb3f6eddc4f</QuoteId>
<QuoteDescription>Guaranteed Service Quote</QuoteId>
<BillToCustomerNumber>2328626</BillToCustomerNumber>
<ShipperCustomerNumber>2328626</ShipperCustomerNumber>
<OriginAirportCode>DTW</OriginAirportCode>
<OriginZipCode>48174</OriginZipCode>
<DestinationAirportCode>JFK</DestinationAirportCode>
<DestinationZipCode>11001</DestinationZipCode>
<FreightDetails>
<FreightDetail>
<Description>golf clubs</Description>
<Pieces>1</Pieces>
<Weight>50.0</Weight>
<WeightType>L</WeightType>
<WeightAdjusted>N</WeightAdjusted>
</FreightDetail>
<FreightDetail>
<Description>desk</Description>
<Pieces>1</Pieces>
<Weight>61.0</Weight>
<WeightType>L</WeightType>
<WeightAdjusted>N</WeightAdjusted>
</FreightDetail>
</FreightDetails>
<Hazmat>N</Hazmat>
<InBondShipment>N</InBondShipment>
<DeclaredValue>1234.00</DeclaredValue>
<QuoteDate>2025-09-15</QuoteDate>
<QuoteTotal>296.56</QuoteTotal>
<TotalWeight>111.0</TotalWeight>
<TransitDaysTotal>2</TransitDaysTotal>
<ChargeLineItems>
<ChargeLineItem>
<Code>PUL</Code>
<Description>PICKUP</Description>
<Zone>A</Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>33.84</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>DEL</Code>
<Description>DELIVERY</Description>
<Zone>B</Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>39.19</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>LTL</Code>
<Description>LINEHAUL</Description>
<Zone></Zone>
<ServiceLevel>2</ServiceLevel>
<Amount>71.34</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>FSC</Code>
<Description>FSC</Description>
<Zone></Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>45.47</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>DVC</Code>
<Description>DECLARED VALUE</Description>
<Zone></Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>11.72</Amount>
</ChargeLineItem>
<ChargeLineItem>
<Code>GS1</Code>
<Description>GUARANTEED SERVICE (DELIVERY BY 5PM LOCAL TIME)</Description>
<Zone></Zone>
<ServiceLevel>0</ServiceLevel>
<Amount>95.00</Amount>
</ChargeLineItem>
</ChargeLineItems>
<ScheduledPickupFromDate>2025-09-15</ScheduledPickupFromDate>
<ScheduledPickupToDate>2025-09-16</ScheduledPickupToDate>
<ScheduledDeliveryFromDate>2025-09-17</ScheduledDeliveryFromDate>
<ScheduledDeliveryToDate>2025-09-18</ScheduledDeliveryToDate>
</QuoteResponse>
</QuoteResponses>