Skip to main content

LandIT™ — Duties & Taxes

The LandIT™ API provides landed cost calculations, returning duty and tax estimates based on shipment parameters. It enables users to query tax and duty amounts for international shipments before they are sent, using HS6 commodity codes and product descriptions.

This API is intended for users who have already classified their products with valid HS6 codes prior to making a calculation request. The accuracy of results depends on good product descriptions that match the provided HS6 codes.

note

The shippingValue field should be populated with the shipping rate returned by the APC Rate API prior to making a LandIT™ calculation request.

Authentication

LandIT uses a separate authentication method from the other APC APIs. Include the API key issued to you by APC in the dtKey header on every request.

dtKey: your-base64-encoded-key

POST /api/system/duties-taxes/combined-call-hs6

Returns a landed cost calculation with duty and tax amounts for one or more products shipping to an international destination.

  • URL: https://parcelconnect.apc-pli.com/api/system/duties-taxes/combined-call-hs6

Request

curl -X POST \
-H "Content-Type: application/json" \
-H "dtKey: {{dtKey}}" \
"https://parcelconnect.apc-pli.com/api/system/duties-taxes/combined-call-hs6" \
-d '{
"sourceCountry": "US",
"destinationCountry": "CH",
"destinationIp": "192.168.0.0",
"overrideTranslation": false,
"convertCurrency": true,
"shippingValue": 39.805,
"grossWeight": 14.99,
"sourcePostalCode": "07073",
"firstName": "John",
"middleName": "James",
"lastName": "Doe",
"street": "MIA STURMLIN",
"city": "SEMPACH",
"state": "LU",
"countryCode": "US",
"postalCode": "6204",
"isPostal": false,
"isGift": false,
"ignoreDeminimis": false,
"currentCartValue": 0,
"products": [
{
"hs6Code": "392620",
"description": "Good Game Hoodie (Black) - XLarge / Black",
"originatingCountry": "US",
"value": 174.0,
"qty": 1.0,
"volumeWeight": 700
}
]
}'

Response

note

The amount of detail in the response depends on how your account is configured. Some accounts receive a basic response (landed-cost totals only); others additionally receive per-product duty/tax breakdowns, de-minimis values, and the deniedParties and prohibitedRestricted screening objects shown below. If a field documented below is absent from your response, your account is configured for a lower detail tier — contact APC if you need it changed.

{
"requestId": "eb26e989-af42-40d4-9d4c-2d051aa7e434",
"landedCost": {
"requestId": "3366c0b9-64ba-4ffa-984a-a890eadcba49",
"sourceCountry": "US",
"sourceCurrency": "USD",
"destinationCountry": "CH",
"destinationIP": null,
"destinationCurrency": "CHF",
"convertCurrency": true,
"vwUnitsMetric": true,
"shippingValue": {
"sourceValue": 39.81,
"destinationValue": 31.51
},
"products": [
{
"hs6code": "392620",
"commodityCode": "3926200000",
"sourceCommodityCode": "3926204050",
"percentageDutyRate": 0.0,
"volumetricDutyRate": 0.0,
"itemDutyRate": 0.0,
"additionalDutyRate": null,
"taxRate": 0.081,
"dutyValue": { "sourceValue": 0.0, "destinationValue": 0.0 },
"taxValue": { "sourceValue": 17.32, "destinationValue": 13.71 },
"value": { "sourceValue": 174, "destinationValue": 137.74 },
"apcDescription": null,
"description": "Good Game Hoodie (Black) - XLarge / Black",
"originatingCountry": null,
"productTotal": { "sourceValue": 231.13, "destinationValue": 182.97 }
}
],
"dutyDeminimisValue": { "sourceValue": 6.32, "destinationValue": 5.0 },
"taxDeminimisValue": { "sourceValue": 6.32, "destinationValue": 5.0 },
"totalTax": { "sourceValue": 17.32, "destinationValue": 13.71 },
"totalDuty": { "sourceValue": 0.0, "destinationValue": 0.0 },
"productRawTotal": { "sourceValue": 174, "destinationValue": 137.74 },
"calculatedTotal": { "sourceValue": 231.13, "destinationValue": 182.97 },
"grossWeight": 14.99,
"isError": false,
"errorCode": 0,
"notes": "",
"generatedDate": "2026-03-26T16:17:38Z"
},
"deniedParties": {
"requestId": "87fd5afd-c6c6-4dfe-96dd-5217ba25d143",
"scoreCalculated": 45,
"listsMatched": 5,
"generatedDate": "2026-03-26T16:17:38Z",
"matches": [],
"isError": false,
"errorCode": 0,
"notes": ""
},
"prohibitedRestricted": {
"requestId": "6f5d557a-5fa7-4a8d-b883-46e2d19b5fa5",
"sourceCountry": "US",
"destinationCountry": "CH",
"products": [
{
"hs6code": "392620",
"commodityCode": "3926200000",
"exportCode": [],
"transportCode": [],
"importCode": [],
"description": "Good Game Hoodie (Black) - XLarge / Black"
}
],
"isError": false,
"errorCode": 0,
"notes": "",
"generatedDate": "2026-03-26T16:17:38Z"
},
"totalShippingDutyTax": 57.125,
"totalDutyTax": 17.32
}

Request body parameters

All fields are case-sensitive.

FieldTypeRequiredDescription
sourceCountrystringYesISO 3166 2-character code for the origin country (e.g., US)
destinationCountrystringYesISO 3166 2-character code for the destination country (e.g., CH). Set to "IP" if using destinationIp instead.
shippingValuedecimalYesTransportation cost, without currency symbol. This value should be the shipping rate returned by the APC Rate API. In destination currency by default, or source currency if convertCurrency is true.
productsarrayYesArray of product objects. See Product Fields below.
grossWeightdecimalNoTotal consignment weight in grams, excluding reusable packaging. Required for Switzerland.
destinationIpstringNoIP address of the customer in the destination country. If used, destinationCountry must be set to "IP".
overrideTranslationbooleanNoIf true, system assumes all descriptions are in English and skips translation. Defaults to false.
convertCurrencybooleanNoIf true, all monetary values are assumed to be in the source country's currency. Defaults to false (destination currency).
ignoreDeminimisbooleanNoIf true, de minimis threshold is ignored. Overrides currentCartValue. Defaults to false.
currentCartValuedecimalNoCurrent cart value for de minimis purposes. Only used when ignoreDeminimis is false.
sourcePostalCodestringConditionalPostal code of the origin. Mandatory for United Kingdom (error code 90 if missing).
postalCodestringConditionalDestination postal code. Mandatory for USA, Canada, Spain, and United Kingdom (error code 90 if missing).
countryCodestringNoISO 3166 2-character origin country code. Used for denied party screening.
firstNamestringNoFirst name of the person being screened.
middleNamestringNoMiddle name(s) of the person being screened.
lastNamestringNoLast name of the person being screened.
streetstringNoStreet address of the person being screened.
citystringNoCity of the person being screened.
statestringNoState or county of the person being screened.
isPostalbooleanNotrue = Postal, false = Courier. Defaults to false.
isGiftbooleanNoWhether items are a gift. May raise de minimis threshold. Only applicable to postal services.

Product fields

Each object in the products array accepts the following fields:

FieldTypeRequiredDescription
hs6CodestringYes6-digit HS commodity code. A matching description must also be provided.
descriptionstringYesPlain-text product description. A matching hs6Code must also be provided.
valuedecimalYesUnit price, without currency symbol. Currency follows convertCurrency setting.
qtydecimalNoQuantity of items. Defaults to 1.
originatingCountrystringNoISO 3166 2-character code for where the item was manufactured. Overrides sourceCountry for duty rate calculations on this item.
volumeWeightdecimalNoWeight in grams or volume in milliliters, for destinations where duty is volumetric. Note: for shipments to Switzerland this value is currently overridden to 1 by the API.

Response fields — top level

FieldTypeDescription
requestIdstringUnique identifier for this calculation. Required for daily reporting.
landedCostobjectContainer for all landed cost calculation details.
deniedPartiesobjectDenied party screening results. Contains matches against international sanctions and export control lists.
prohibitedRestrictedobjectProhibited and restricted goods screening results per product.
totalShippingDutyTaxdecimalTotal duty and tax including shipping value, in the source currency.
totalDutyTaxdecimalTotal duty and tax on products only (excluding shipping), in the source currency.

Response fields — landedCost object

FieldTypeDescription
requestIdstringUnique identifier for the landed cost sub-request.
sourceCountrystringOrigin country code (echoed from request).
sourceCurrencystringCurrency code of the source country (e.g., USD).
destinationCountrystringDestination country code (echoed from request).
destinationIPstring | nullResolved destination IP, if provided.
destinationCurrencystringCurrency code of the destination country (e.g., CHF).
convertCurrencybooleanWhether currency conversion was applied.
vwUnitsMetricbooleanWhether volume/weight units are metric.
shippingValueobjectShipping cost with sourceValue and destinationValue.
productsarrayArray of per-product calculation results.
dutyDeminimisValueobjectDe minimis threshold for duty: sourceValue and destinationValue.
taxDeminimisValueobjectDe minimis threshold for tax: sourceValue and destinationValue.
totalTaxobjectTotal tax amount: sourceValue and destinationValue.
totalDutyobjectTotal duty amount: sourceValue and destinationValue.
productRawTotalobjectSum of raw product values: sourceValue and destinationValue.
calculatedTotalobjectTotal calculated cost (products + duties/taxes): sourceValue and destinationValue.
grossWeightdecimalGross weight echoed from request.
isErrorbooleanfalse on success.
errorCodeinteger0 on success. Non-zero indicates an error.
notesstringAdditional notes or warnings from the calculation engine.
generatedDatestringISO 8601 timestamp of when the calculation was generated.

Response fields — products[] (response)

FieldTypeDescription
hs6codestringThe HS6 code used for calculation.
commodityCodestringFull commodity code resolved from the HS6 code (destination country).
sourceCommodityCodestringFull commodity code resolved from the HS6 code (source country).
percentageDutyRatedecimalAd valorem (percentage-based) duty rate applied.
volumetricDutyRatedecimalWeight or volume-based duty rate applied.
itemDutyRatedecimalPer-item duty rate applied.
additionalDutyRatedecimal | nullAny additional duty rate, if applicable.
taxRatedecimalTax rate applied to the product.
dutyValueobjectCalculated duty for this product: sourceValue and destinationValue.
taxValueobjectCalculated tax for this product: sourceValue and destinationValue.
valueobjectProduct unit value: sourceValue and destinationValue.
apcDescriptionstring | nullAPC-standardized description, if available.
descriptionstringProduct description echoed from request.
originatingCountrystring | nullCountry of origin used in calculation.
productTotalobjectTotal cost for this product including duties/taxes: sourceValue and destinationValue.

Response fields — deniedParties object

FieldTypeDescription
requestIdstringUnique identifier for the denied party screening sub-request.
scoreCalculatedintegerHighest match score across all screened lists.
listsMatchedintegerNumber of sanctions/export-control lists that returned potential matches.
matchesarrayArray of individual match objects with details such as scoreCalculated, nameMatch, addressMatch, listsMatched, and matchType.
isErrorbooleanfalse on success.
errorCodeinteger0 on success.
generatedDatestringISO 8601 timestamp.

Response fields — prohibitedRestricted object

FieldTypeDescription
requestIdstringUnique identifier for the prohibited/restricted screening sub-request.
sourceCountrystringOrigin country code.
destinationCountrystringDestination country code.
productsarrayArray of product objects with hs6code, commodityCode, exportCode, transportCode, importCode, description, and apcUUID.
isErrorbooleanfalse on success.
errorCodeinteger0 on success.
generatedDatestringISO 8601 timestamp.

Value objects

Used across multiple monetary fields:

FieldTypeDescription
sourceValuedecimalAmount in the source country's currency.
destinationValuedecimalAmount in the destination country's currency.