Track API Request

Prev Next

The following details how to track a package with Mercury via an API request.

Usage Note

The Track Request API should be used to look up tracking information for individual shipments on an ad-hoc basis. Each package may be tracked once per hour (24 times per day). If you need updates for multiple shipments at once, please use the tracking file.

Overview

The protocol is based on XML data exchange with HTTP used as a transport. A non-validating parser is used and hence no internal or external DTD needs to be specified. The data must be well formed and all validation is handled at the application (not parser) level. Error handling will be done by always including the <Errors> container in the response. The Errors element will not be returned if no errors are found.

Connection

To connect to the site use the following HTTPS URL via regular POST method with the parameter RQXML=<your xml document> https://api.landmarkglobal.com/v2/Track.php

Encoding

Mercury uses UTF-8 for character encoding. If your system outputs in an encoding other than UTF-8, please include an encoding flag in your XML header. 

     Example: <?xml version="1.0" encoding="UTF-8"?>

     Example: <?xml version="1.0" encoding="ISO-8859-1"?>

Test Mode

When first given access to the API, the client will be placed in Test mode. Requests made while in test mode will not act on live data. After approval has been received to go live from Landmark, all requests are active unless the <Test> flag is passed.  During a test API call, orders will not be cancelled but errors will be reported when appropriate.

During a test API call, validation will be very basic, focusing on fields being required and passing sane values. Assuming the request passes the basic validation, responses are randomized. Some requests will succeed and some will fail with different error messages. This is done so that the programmer has an opportunity to see a wide variety of responses and can be prepared to handle many potential results.

TrackRequest

<TrackRequest>

     <Login>

          <Username>demoapi</Username>

          <Password>demo123</Password>

     </Login>

     <Test>true</Test>

     <ClientID>218</ClientID>    <!-- Required if more than one client under user, otherwise Optional -->

     <!-- Reference OR TrackingNumber OR PackageReference is required, but not all three -->

     <Reference/>                            

     <TrackingNumber>LTN123121</TrackingNumber>

     <PackageReference/>

     <RetrievalType>Historical</RetrievalType>     <!-- Optional Node. Will return all tracking statuses for a packages if populated. Will return last tracking status if empty or node not present -->

</TrackRequest>



TrackResponse

<TrackResponse>

     <Errors> <!-- Only if Error(s) occur is this element included-->

          <Error>

               <ErrorCode>Invalid</ErrorCode>

               <ErrorMessage>No shipment found</ErrorMessage>

          </Error>

     </Errors>


     <Result>

          <Success>true</Success>

          <ShipmentDetails>

               <EndDeliveryCarrier>Canada Post</EndDeliveryCarrier>

          </ShipmentDetails>

          <Packages>

               <Package>

                    <TrackingNumber>1Z123971A4</TrackingNumber>

                    <LandmarkTrackingNumber>LTN123121</LandmarkTrackingNumber>

                    <PackageReference/>

                    <Events>

                         <Event>

                              <Status>Delivered</Status>

                              <DateTime>10/21/2025 6:48 AM</DateTime>   <!-- YYYY-MM-DD HH:MM:SS 24h format in America/Chicago time per the IANA TimeZone Database https://www.iana.org/time-zones -->

                              <Location>Windsor, ON</Location> <!-- If available-->

                              <EventCode>500</EventCode> <!-- Only included if the request RetrievalType = "Historical" -->

                              <EventSubCode>5000</EventSubCode> <!-- Only included if available and if the request RetrievalType = "Historical" -->

                         </Event>

                    </Events>

               </Package>

          </Packages>

     </Result>

</TrackResponse>


Landmark Tracking Codes and Subcodes

Note: The following are general explanations of the meaning of each status code; the text of actual status updates may differ. It is also possible to receive other statuses not shown here, depending on your destination and service type.

Click for LGI Codes Table

Description

Code

Mercury EN Label

Comment

Shipment Information Transmitted To Carrier

100


Can be used to map when we submit data to the final mile carrier.

Customs Payment Update

110



Customs Transmitted

120


Can be mapped in case the carrier is also the customs broker.

Customs Cleared

125


Can be mapped in case the carrier is also the customs broker.

Customs Issue

135


Can be mapped in case the carrier is also the customs broker.

Arrival At Airport

200

Shipment has arrived at depot

Departure Scan

225

Shipment has departed from depot/airport OR Incoming/outgoing scan at facility

Departure To Airport

250

Shipment has departed from depot

Item Touched By Carrier

275

Parcel processed by carrier


Item Out For Delivery

300

Parcel in delivery


Attempted Delivery

400

Attempted delivery


Item At Pickup Location

410

Parcel available for pick-up


Item Redirected To New Address

450

Parcel redirect to new address


Item Successfully Delivered

500

Parcel delivered


Proof Of Delivery Received

510

Proof of delivery


Claim Issued

800


Usually comes from the carrier.

Delivery Refused

900

Consignee refused parcel


Click for LGI Subcodes Table

Description

Mercury Code

Mercury Subcode

Mercury EN Label

Payment Denied

110

1101

Customs Payment Denied

Payment Received

110

1102

Customs Payment Received

Payment Requested

110

1103

Customs Payment Requested

Arrival at airport

200

N/A

Shipment has arrived at depot

Incoming Scan at facility

225

2250

Incoming Scan at facility

Outgoing Scan at facility

225

2251

Outgoing Scan at facility

Departure from depot

225

2000

Shipment has departed from depot

Arrival at depot

225

N/A

Shipment has arrived at depot

Departure from airport

250

2000

Shipment has departed from airport

Departure Scan

275

2000

Parcel departed

Shipment On Hold

275

2001

Parcel on hold

Shipment Has Customs Issue

275

2002

Parcel has customs issues

Shipment Available For Pickup

275

2003

Parcel ready for pick-up

Shipment Scheduled For Return

275

2004

Parcel will be returned

Corrected Address May Be Delayed

275

2005

Parcel may be delayed for address correction

Weather Delay

275

2006

Parcel may be delayed due to weather

Carrier Network Delay

275

2007

Parcel may be delayed

Remote Area Delay

275

2008

Parcel may be delayed for remote area

Delay For Customer Update

275

2009

Parcel delayed - need customer update

Mechanical Failure Delay

275

2010

Parcel may be delayed - mechanical failure

Shipment On Hold For Incorrect Address

275

2011

Parcel on hold for incorrect address

Shipment On Hold Needs Info For Customs

275

2012

Parcel on hold for missing customs information

Shipment On Hold For Missing Apt

275

2013

Parcel on Hold, missing apartment

Shipment On Hold For Incorrect Street

275

2014

Parcel on hold for incorrect Street

Shipment On Hold For Incorrect City State

275

2015

Parcel on hold for incorrect City/State

Shipment On Hold For Incorrect Postal

275

2016

Parcel on hold for incorrect Zip

Bulky Shipment Delay

275

2017

Bulk Shipment may be delayed

Shipment Repacked

275

2018

Parcel reconditioned

No Time For Delivery

275

2019

No time for delivery

Sorting Scan

275

2020

Parcel sorted

Origin Package Handoff

275

2021

Parcel handed off

No Space At Pickup Location

275

2022

No Space at pick-up location

Dangerous Goods Shipment Delay

275

2023

Parcel may be delayed - Dangerous Goods

Customer Dropped Off At Postal Facility

275

2024

Customer drop-off at postal facility

Pickup Location Assigned

275

2025

Pick-up location assigned

Package Damaged

275

2750

Parcel damaged

Notification Send To Receiver

275

2751

Notification sent to consignee

Package With No Info Scanned

275

2753

Package scanned - no information

Bad Address Returning To Sender

400

4001

Failed delivery - incorrect address, parcel will be returned to sender

First Unsuccessful Attempt

400

4002

First delivery attempt

Second Unsuccessful Attempt

400

4003

Second delivery attempt

Final Unsuccessful Attempt

400

4004

Final delivery attempt, parcel will be returned

Other Unsuccessful Attempt

400

4005

Failed delivery attempt

Attempt Refused

400

4007

Attempt Refused

Consignee Not Present

400

4008

Consignee Not Present

Business Not Open

400

4009

Business Not Open

Shipment Delivered To Pickup Location

400

4101

Failed delivery attempt - parcel delivered to pick-up point

Incorrect Sort

275

4501

Parcel incorrectly sorted

Delivered To Signatory

500

5000

Parcel delivered to signatory

Delivered To Front Door

500

5001

Parcel delivered at front door

Delivered To Side Door

500

5002

Parcel delivered at side door

Delivered To Back Door

500

5003

Parcel delivered at back door

Delivered To Garage

500

5004

Parcel delivered in garage

Delivered To Superintendent

500

5005

Parcel delivered to superintendent

Delivered To Parcel Box

500

5006

Parcel delivered to parcel box

Delivered To Lock Box

500

5007

Parcel delivered to lock box

Delivered To Neighbor

500

5008

Parcel delivered to neighbour

Picked Up Held Package

500

5009

Parcel delivered - Collected at pick-up point

Delivered Inbound To Landmark

500

5010

In transit- handed over to Landmark

Imminent Delivery

500

5011

Parcel ready for imminent delivery to consignee- Untracked mail

Return Delivered To Sender

900

9000

Parcel returned to sender

Addressee Not At Address

900

9001

Failed delivery, consignee absent, parcel will be returned to sender

Shipment Undeliverable

900

9002

Failed delivery, parcel will be returned to sender

Shipment Unclaimed

900

9003

Parcel not collected by consignee

Return Pending

900

9004

Parcel will be returned to sender

Failed To Forward To New Address

900

9005

Failed delivery, cannot be routed to new address, parcel will be returned to sender

Seized By Customs

900

9006

Parcel seized by customs

Shipment Stolen

900

9007

Parcel stolen and undeliverable

Did Not Order

900

9008

Consignee did not order, parcel will be returned to sender

Cancelled Order

900

9009

Oder cancelled, parcel will be returned to sender

Duplicate Order

900

9010

Duplicate order, parcel will be returned to sender

Late Delivery

900

9011

Late delivery, parcel will be returned to sender

Refused Damaged

900

9012

Consignee refused parcel for damage, will be returned to sender

Import Restricted

900

9013

Restricted import, parcel will be returned to sender

Wrong Label

900

9014

Parcel undeliverable, label to be reprinted

Possible Errors

This table lists all errors that may be returned by the Track API endpoint. [Brackets] in the ErrorMessage are used to represent to the value passed for the related element. An example is provided when an ErrorMessage is variable.

Related Element(s)

ErrorMessage

Details/Action

General Errors

User, API

User [username] does not have permissions to this API


Failure authenticating user


User is not available. Check your username/password


N/A

Unable to parse characters

Ensure that special characters are properly encoded and an encoding flag is included in your XML header.

Example: <?xml version=""1.0"" encoding=""UTF-8""?>

Example: <?xml version=""1.0"" encoding=""ISO-8859-1""?>

<Login> Errors

Login

Required element Login not found

Provide login credentials and verify the XML can be parsed

Login name not provided



User, ClientID

Request is missing client ID


Unable to authenticate the user credentials


Client is inactive


Client has been deactivated. Permission denied


User [username] does not have permissions to client: [clientID]


Unable to determine desired client for this user

If user has access to more than one client, the ClientID is required

Username, password

The username/password combination provided is invalid


The username/password combination provided is disabled


Password not provided


Errors Specific to Track API

Reference

Either Reference, Package Reference or TrackingNumber is required, none were found


N/A

Insufficient data provided to determine shipment.  Must provide a valid reference or tracking number


Could not find shipment in our system


Duplicate results found. Shipment could not be tracked


No data available for shipment


For more information on tracking, please see the Tracking Overview.