Login shipforwarder.com and get API key in User center->My account(top right)->API
Develop with test account: test@qq.com password: 123456
Need more custom functions or API? contact : jiang@shipforwarder.com
2026-07-21 updated, Add webhook
| URL | https://www.shipforwarder.com/api/readwaybill.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/readwaybill.php?key=*&id=* |
| Request parameter |
key (Required. The API key you can get in user center)
ID (Required. The waybill ID that create by shipforwarder system
|
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter |
| URL | https://www.shipforwarder.com/api/readwaybills.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/readwaybills.php?key=*&st=* |
| Request parameter |
key (Required. The API key you can get in user center)
st (Required. 1-Pending,20-Arrived warehouse,21-combining,22-splitting,25-combined,26-split,30-submit to ship, 40-shipping, 41-shipped, 5-received)
page (Required. 0,1,2,3... Result usually have more than 1 page. So this reference tell us which page result you need to feedback )
|
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter |
| URL | https://www.shipforwarder.com/api/readwaybill2.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/readwaybill2.php?key=*&localtrack=* |
| Request parameter |
key (Required. The API key you can get in user center)
localtrack (Required. The local tracking number that you want to search )
|
| Note | If the shipping label barcode is damaged and cannot be scaned, it will fail to search even parcel is in system. Usually >99% is scanable |
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter {"status":511} -- Cannot find this local tracking number |
| URL | https://www.shipforwarder.com/api/getwaybillship.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/getwaybillship.php?key=*&id=*&countrycode=* |
| Request parameter |
key (Required. The API key you can get in user center)
id (Required. Waybill ID)
countrycode (Required. Such as "United state"-> "US" The country ISO code )
|
| Note | This API will use the country code you now provide to calculate shipping quote, will not use the address data in this waybill |
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter {"status":522} -- Cannot find this order {"status":530} -- The shipping method you request do not support the country or the weight range {"status":533} -- Can not find the country code |
| URL | https://www.shipforwarder.com/api/getship.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/getship.php?key=*&countrycode=*&wei=*&len=*&wid=*&hei=*sen=* |
| Request parameter |
key (Required. The API key you can get in user center)
countrycode (Required. Such as "United state"-> "US" The country ISO code )
wei (Required. Weight /g )
len (Optional. Lenth cm )
wid (Optional. Width cm )
hei (Optional. Height cm )
|
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter {"status":522} -- Cannot find this order {"status":530} -- The shipping method you request do not support the country or the weight range {"status":533} -- Can not find the country code |
| URL | https://www.shipforwarder.com/api/getshiprate.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/getshiprate.php |
| Request parameter |
key (Required. The API key you can get in user center)
|
| Note |
This is all the orginal shipping rate data from our SQL database
You can save in your own database, and get any shipping cost from your own server. We don't usually change the data, so you update it over 30 days a time should be OK. cBut it's not easy to understand how to calculate |
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter |
| PHP Example code to calculate a shipping cost |
| URL | https://www.shipforwarder.com/api/readmessage.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/readmessage.php?key=*&id=* |
| Request parameter |
key (Required. The API key you can get in user center)
id (Required. waybill ID)
|
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter |
| URL | https://www.shipforwarder.com/api/sendmessage.php |
| Method | GET |
| Request example | https://www.shipforwarder.com/api/sendmessage.php?key=*&id=*&message=* |
| Request parameter |
key (Required. The API key you can get in user center)
id (Required. waybill ID)
message (Required. Content of the message to remind something of this waybill to our worker )
|
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter |
| URL | https://www.shipforwarder.com/api/shipwaybill.php |
| Method | GET |
| Request example |
https://www.shipforwarder.com/api/shipwaybill.php?key=*&id=*&shid=*&recipient=*&company=*&street=*&city=*&state=*&countrycode=*&zipcode=*&phone=*& declarenamecn[0]=*&declarenameen[0]=*&unitvalue[0]=*&qty[0]=*&declarenamecn[1]=*&declarenameen[1]=*&unitvalue[1]=*&qty[1]=*...cc |
| Request parameter |
key (Required. The API key you can get in user center)
id (Required.)
shid (Required, The ID of shipping way. The shipping way list is shown below . System API appendices->shipping method)
recipient (Required)
company (Optional)
street (Required)
city (Required)
state (Required)
countrycode (Required, Such as "United state"-> "US" The country ISO code list is shown at System API appendices->country)
zipcode (Required)
phone (Required)
declarenameen[] (Optional. The English name for custom declaration)
declarenamecn[] (Optional. The Chinese name for custom declaration)
qty[] (Optional. The quantity of the product for custom declaration)
unitvalue[] (Optional. $ USD , The unit value of the product for custom declaration)
|
| Note | The address and shipping methed ID you filled will cover and replace the exist one in waybill |
| Success return example | |
| Fail return example |
{"status":500} -- Other error
{"status":501} -- API key is not correct {"status":505} -- Miss required parameter {"status":510} -- Balance is not enough. Make sure your account balance >=5 CNY {"status":522} -- Cannot find this waybill or this waybill still not ready to be shipped {"status":530} -- The shipping method you request do not support the country or the weight range {"status":533} -- Can not find the country code |

|
Note: All webhook will click your URL by POST method.
{your URL}+ POST data (json format) |