Skip to end of metadata
Go to start of metadata

For business owners

What are limitations of test OT API Key?

  • 5 000 calls / 24 hours limit.
  • Only one type of search on Taobao.
  • No images of configurations and weight.
  • No additional modules.
  • No safety guarantee of settings.

How do I get a test key?

Сontact operators on the website or managers in your Skype chat to get a test key.

What do I need to work with API Key?

  1. CMS (website) where you were planing to integrate OT API Key or hosting + domain

  2. OT API Key
  3. Develop module for coordination of third-party applications and OT API. OT API Key should be added into this module, so that information on goods was available on your website.

We don't have modules for different CMS except those provided by Partners, therefore you will need to develop module/make integration yourself or hire a developer.

Why do I need a developer (programmer)? 

You can use our Documentation and make integration yourself if you have enough knowledge how to develop module to process API. In this case programmer will simply save your own time and speed up your website start. 

In another case you'd better hire a professional developer (programmer) to do it for you. He will save your time and offer you the best solution.

You can evaluate your knowledge by Questions for developers and Documentation. You don't need a developer if information there is clear for you. 

What knowledge should a developer (programmer) have to integrate OT API Key?

  1. Work on the programming language used on your website.
  2. Work with SOAP (or know how to send http-requests).
  3. Be familiar with xml.

These are minimum skills which will allow programmer succeed with OT API integration.

Any examples of OT API Key work?

Excellent example of using OT API Key is Taobao/tmall goods, their descriptions and search are uploaded to this website via OT API. 

What are calls and how many of them do I need? How to choose OT API Key? 

All data from providers (goods, prices, descriptions, etc.) are received through our services.

 Call is each request to these services. For example, user opens product page, site requests information about this product, counter defines it as 1 call. The more searches he makes, the more cards he opens - the more calls he makes.

Visitor watches on average 10-15 pages a day. There are 1 to 4-5 calls from one page. after you start your website number of calls don’t usually exceed 10 000 per day, but this number is very individual.

Paid calls are those that give information from providers (search, categories, product card)

Admin calls will be also paid if they relate to data from services.

All other information is free - users, shopping cart, orders, backend.

Calls statistics is available in backend (admin mode).

It's very easy to choose OT API Key:


  • K1 will be enough if you have up to 500-700 visitors.
  • It won’t be enough if visitors’ number is from 1 000 to 1 400 and it’s better to choose K2.

  • K3 is better if you have more that 1 400 visitors.

See price-list and other information on OT API.

Note! Number of calls may vary depending on programmer’s settings. For example, if the task is not only to load the first product a client is looking but also the next two (since the site statistics show that customers often watch straight first 2-3 products), number of calls will be greater.

For developers

Which parameter to use to pull the data?

instanceKey - your key if you buy it, or test key for tests (Сontact operators on the website or managers in your Skype chat to get a test key).
language - "en" or empty, or another language, if it necessary
sessionId - leave empty
itemId - id of product which you want to get
blockList - can be leave empty for begin, later you can add blocks here for getting it by one request

Where can I check examples of xmlParameters?

Here you can see examples xmlParameters 

Is there an example of library?

Here is an example how to get orders for users 1,2,3

include ('otapilib.php');
$otapilib = new OTAPIlib();
$data = $otapilib->AuthenticateInstanceOperator($login, $pass);
if (isset($data['SessionId'])) {
$sid = (string)$data['SessionId'];
$_SESSION['sid'] = (string)$data['SessionId'];
$GLOBALS['sid'] = (string)$data['SessionId'];
} else {
die(""Auth fail"");

$userIds = array(1,2,3);
$xml = new SimpleXMLElement('<OrderSearchParameters></OrderSearchParameters>');
$xml->addChild('UserIdDelimitedList', implode(';', $userIds));
$xml->addChild('OrderBy', implode(';', array('CreationDate:Asc', 'TotalAmount:desc')));
$xml = trim(str_replace('<?xml version=""1.0""?>', '', $xml->asXML()));

$limit = 500;
$offset = 0;
$orders = $otapilib->SearchOrders($sid, $xml, $offset, $limit);

What is the processing speed of requests to your service?

In normal situation it is 1-4 seconds beside cache, 0.05-0.4 seconds when hit cache. This spread occurs because it often includes other calls besides Taobao.


Is there a language option to translate?

You can use GetLanguageInfoList to get available languages
It also need to setup in admin panel
If you want translated titles in search result...
Add <IsClearItemTitles>false</IsClearItemTitles> to search parameters

How many goods can be requested in one connection?

200 by default.

GetProviderSearchMethodInfoList is responsible for this value. There is MaximumFrameSize value.

Where can I check calls statistics?

Calls statistics is available by this address:

It is possible to get calls report in your Key backend (admin mode): Report -> Service statistics. There is calls detalization.

Does website language matter (count) for OT API integration?

Website language does not matter (count) for OT API integration. You can integrate it into any CMS (Content management system).

How often information for categories tree update in your database?

2 weeks if we talk about Taobao tree. 

Any period if you make it yourself. If you import and change it then it won't change until you do it.

How cache works?

Goods have cache for 24 hours (product itself, card, price, discounts, etc.).

Search has cache for 48 hours.

for example, someone opened product for the first time at 10 a.m. it means product won't refresh on website until 10 a.m. next day no matter how much and who opened it again (other visitors or the owner or someone else). for example, if price was 100$ at 10 a.m. (first opening) and changed at Taobao later it won't change at your website until 10 a.m. next day

How can I differentiate in which methods are from Key backend (admin mode) and which from provider ?

All paid methods are marked by $ and potentially work with provider, for example, Taobao:

Admin calls will be also paid if they relate to data from services

All other information is free - users, shopping cart, orders, backend

Where can I get price with discount?

In search Price is basic price (for example, BatchSearchItemsFrame method), PromotionPrice (if available) is price with discount.

There is separate section Promotions in BatchGetItemFullInfo with the list of discounts necessary to request in blockList parameter.

Basic methods

Get description of goods

BatchGetItemFullInfo - reception of full information on goods, simultaneously with additional blocks

Add Description,DeliveryCosts,Promotions to blockList parameter:

Search by word


search will be done by word if such parameter is sent in xmlParameters

Categories tree

GetRootCategoryInfoList / GetCategorySubcategoryInfoList

Get category and subcategory name of each product

Product info


Popular/recommended products


Goods list


Also GetProviderSearchMethodInfoList — information on accessible ways of search

Get list of brands with IDs

GetBrandInfoFullList - get full list of brand including hidden ones

GetBrandInfoList - get list of brands

GetBrandInfoListFrame - get partial list of brands

Information on weight, size, colors, promotions


Search on all goods (Taobao and TMall) — universal

BatchSearchItemsFrame — Global (universal) search of goods, simultaneously with additional blocks. Works on Taobao by several ways. Main is TMall.

Blocks description:

SubCategories - get all subcategories if search by category

SearchProperties - get filters by characteristics/properties

RootPath - get path to root if search by category

Vendor - get information on seller if search by seller

Here you can see the example how to find vendor<SearchItemsParameters><VendorId>%26%23x5E15%3B%26%23x68EE%3B%26%23x65D7%3B%26%23x8230%3B%26%23x5E97%3B<%2FVendorId><UseOptimalFrameSize>true<%2FUseOptimalFrameSize><%2FSearchItemsParameters>&framePosition=0&frameSize=20&blockList=SubCategories%2CHintCategories%2CVendor%2CBrand%2CCategory%2CRootPath%2CSearchProperties%2CAvailableSearchMethods&instanceKey=XXXXXXXXXXXXX (just use your sessionId и instanceKey)

Brand - get information on brand if search by brand

Category - get information on category of search by category

HintCategories - get appropriate categories for title if search by text

AvailableSearchMethods - get list of appropriate matching data for search methods parameters and all information on them

Search on all goods (Taobao and TMall) — extended


Information on seller's sales and rating

BatchSearchItemsFrame and BatchGetItemFullInfo

Sales count in FeaturedValues, if available

Seller rating in VendorRating


in this link rating is 1-20 (1 min 20 is maximum) amount of goods in stock

Use BatchGetItemFullInfo (ConfiguredItems element) method to get product stock quantity.

For 1688 we support only filter by minimum first lot (minimum quantity for order product)
It is MinFirstLotQuantity parameter in search parameters
If  you already built xml for search parameters just insert <MinFirstLotQuantity>1</MinFirstLotQuantity> to it, and you'll get products which can be buy by 1 (retail quantity).

How to get weight 1688

Weight we take from node ActualWeightInfo (method The meaning of this field is taken from setting, and it can be changed in demo admin panel (Сontact managers in your Skype chat).

  • No labels