Forward Expedited LTL Web Services

API Services Home

Forward Expedited LTL Quoting Web Service

Webservice to get a shipping quote. You can use either Rest or Soap calls shown below.

Service URL

Name Service URL Additional details
Try Rating Call https://api.forwardair.com/ltlservices/v2/fastQuoteService.html Test Request API credentials for your account, then use this webpage to see what the request and response look like for your account
Rest ${baseUrl}/ltlservices/v2/rest/waybills/quote Example test url: https://test-api.forwardair.com/ltlservices/v2/rest/waybills/quote
Soap ${baseUrl}/ltlservices/v2/FastQuoteService Example test url: https://test-api.forwardair.com/ltlservices/v2/FastQuoteService
WSDL for Quote Service: Quote WSDL

Rest Quoting Service

Request Parameters. POST ${baseUrl}/ltlservices/v2/rest/waybills/quote
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 Quote xml. Quote xml must meet the Quote Request Schema.

Soap Quoting Service

Request Parameters
Name Type Required Description
user String Y Your API username. Please note this is not the same as your web username.
password String Y Your API password. Please note this is not the same as your web password.
customerId String Y Your API customerId.
quoteRequest String Y Quote xml payload as a string. Quote xml must meet the Quote Request Schema.
Please wrap the Quote xml inside <![CDATA[<Quote xml here>]]> or escape the xml payload.
Response

Response will contain the the quote and charge details.

Name Type Required Description
QuoteResponse String Y Quote Response xml data. Schema for this is Quote Response Schema.

Quote Payload

Quote payload root object is <FAQuoteRequest>

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>
Response

Successful quote call.

Name Type Required Description
http status code 200 Y Code 200 for successful request.
QuoteResponse Response body Y Quote Response xml data. Schema for this is Quote Response Schema.

Quote Response Payload. Quote response has all the elements of quote and following additional elements.

Name Type Required Description
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.
Quote Response

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.


Request Samples

Zip to Zip rate request. This example shows a rest xml payload.

Rest call using xml body payload. Header params listed above must be present, the section below shows what the body xml can look like.
<?xml version="1.0" encoding="UTF-8"?>
<FAQuoteRequest>
    <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>
</FAQuoteRequest>

Response Samples

Zip to Zip rates. Rates shown here are for sample only and do not represent any active contract.

XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FAQuoteResponse>
    <BillToCustomerNumber>1234567</BillToCustomerNumber>
    <ShipperCustomerNumber>1234567</ShipperCustomerNumber>
    <OriginAirportCode></OriginAirportCode>
    <OriginZipCode>90746</OriginZipCode>
    <OriginCountryCode>US</OriginCountryCode>
    <DestinationAirportCode></DestinationAirportCode>
    <DestinationZipCode>48154</DestinationZipCode>
    <DestinationCountryCode>US</DestinationCountryCode>
    <Dimensions>
        <Dimension>
            <Pieces>1</Pieces>
            <Length>40</Length>
            <Width>30</Width>
            <Height>20</Height>
        </Dimension>
    </Dimensions>
    <FreightDetails>
        <FreightDetail>
            <FreightClass>60</FreightClass>
            <Pieces>1</Pieces>
            <Weight>1500.0</Weight>
            <WeightType>L</WeightType>
            <WeightAdjusted>N</WeightAdjusted>
        </FreightDetail>
    </FreightDetails>
    <Hazmat>N</Hazmat>
    <InBondShipment>N</InBondShipment>
    <DeclaredValue>0.00</DeclaredValue>
    <QuoteDate>2020-11-15</QuoteDate>
    <QuoteTotal>400.39</QuoteTotal>
    <TotalWeight>1500.0</TotalWeight>
    <TransitDaysTotal>3</TransitDaysTotal>
    <ChargeLineItems>
        <ChargeLineItem>
            <Code>PUL</Code>
            <Description>PICKUP</Description>
            <Zone>LGBLB</Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>DEL</Code>
            <Description>DELIVERY</Description>
            <Zone>A</Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>LTL</Code>
            <Description>LINEHAUL</Description>
            <Zone></Zone>
            <ServiceLevel>3</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>FSC</Code>
            <Description>FSC</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>57.50</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>PUS</Code>
            <Description>PICKUP SURCHARGE</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>7.50</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>060</Code>
            <Description>CLASS 60</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>319.42</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>LHS</Code>
            <Description>STATION SURCHARGE</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>15.97</Amount>
        </ChargeLineItem>
    </ChargeLineItems>
</FAQuoteResponse>

Back to Top



Airport to Airport rate request. This example shows a soap request.

XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<ns2:getQuote xmlns:ns2="http://webservices.shipmentbooking.forwardair.com/">
<user>XXXXXXXX</user>
<password>XXXXXXXXX</password>
<customerId>XXXXXXXXXX</customerId>
<quoteRequest><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FAQuoteRequest>
  <BillToCustomerNumber>1234567</BillToCustomerNumber>
  <ShipperCustomerNumber>1234567</ShipperCustomerNumber>
  <Origin>
    <OriginAirportCode>DFW</OriginAirportCode>
    <Pickup>
      <AirportPickup>Y</AirportPickup>
      <PickupAccessorials></PickupAccessorials>
    </Pickup>
  </Origin>
  <Destination>
    <DestinationAirportCode>ATL</DestinationAirportCode>
    <DestinationZipCode></DestinationZipCode>
    <Delivery>
      <AirportDelivery>Y</AirportDelivery>
      <DeliveryAccessorials></DeliveryAccessorials>
    </Delivery>
  </Destination>
  <FreightDetails>
      <FreightDetail>
         <FreightClass>70</FreightClass>
         <Weight>500</Weight>
         <WeightType>L</WeightType>
         <Pieces>2</Pieces>
         <Description>Equipment</Description>
      </FreightDetail>
  </FreightDetails>
  <Hazmat>N</Hazmat>
  <InBondShipment>N</InBondShipment>
  <DeclaredValue>0</DeclaredValue>
  <ShippingDate>2020-11-17</ShippingDate>
</FAQuoteRequest>]]></quoteRequest>
</ns2:getQuote>
</soap:Body>
</soap:Envelope>

Response Samples

Zip to Zip rates. Rates shown here are for sample only and do not represent any active contract.

XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FAQuoteResponse>
    <BillToCustomerNumber>1234567</BillToCustomerNumber>
    <ShipperCustomerNumber>1234567</ShipperCustomerNumber>
    <OriginAirportCode></OriginAirportCode>
    <OriginZipCode>90746</OriginZipCode>
    <OriginCountryCode>US</OriginCountryCode>
    <DestinationAirportCode></DestinationAirportCode>
    <DestinationZipCode>48154</DestinationZipCode>
    <DestinationCountryCode>US</DestinationCountryCode>
    <Dimensions>
        <Dimension>
            <Pieces>1</Pieces>
            <Length>40</Length>
            <Width>30</Width>
            <Height>20</Height>
        </Dimension>
    </Dimensions>
    <FreightDetails>
        <FreightDetail>
            <FreightClass>60</FreightClass>
            <Pieces>1</Pieces>
            <Weight>1500.0</Weight>
            <WeightType>L</WeightType>
            <WeightAdjusted>N</WeightAdjusted>
        </FreightDetail>
    </FreightDetails>
    <Hazmat>N</Hazmat>
    <InBondShipment>N</InBondShipment>
    <DeclaredValue>0.00</DeclaredValue>
    <QuoteDate>2020-11-15</QuoteDate>
    <QuoteTotal>400.39</QuoteTotal>
    <TotalWeight>1500.0</TotalWeight>
    <TransitDaysTotal>3</TransitDaysTotal>
    <ChargeLineItems>
        <ChargeLineItem>
            <Code>PUL</Code>
            <Description>PICKUP</Description>
            <Zone>LGBLB</Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>DEL</Code>
            <Description>DELIVERY</Description>
            <Zone>A</Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>LTL</Code>
            <Description>LINEHAUL</Description>
            <Zone></Zone>
            <ServiceLevel>3</ServiceLevel>
            <Amount>0.00</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>FSC</Code>
            <Description>FSC</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>57.50</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>PUS</Code>
            <Description>PICKUP SURCHARGE</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>7.50</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>060</Code>
            <Description>CLASS 60</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>319.42</Amount>
        </ChargeLineItem>
        <ChargeLineItem>
            <Code>LHS</Code>
            <Description>STATION SURCHARGE</Description>
            <Zone></Zone>
            <ServiceLevel>0</ServiceLevel>
            <Amount>15.97</Amount>
        </ChargeLineItem>
    </ChargeLineItems>
</FAQuoteResponse>

Back to Top



Last updated 08/19/2024