Tiki API

Vietnam's marketplace as JSON, priced in dong and pinned to the right seller

The Tiki API turns tiki.vn, Vietnam's home-grown e-commerce marketplace, into clean JSON in nine actions.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Tiki endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
T
/tiki/v1

9 active endpoints, on 0, 1 and 2 credit tiers.

  • POST/tiki/v1/search
  • POST/tiki/v1/category
  • POST/tiki/v1/brand
  • POST/tiki/v1/seller
  • POST/tiki/v1/product
  • POST/tiki/v1/product/variants
  • POST/tiki/v1/product/reviews
  • +2 more

What Tiki endpoints does ReefAPI ship?

9 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

9 endpoints

search

2 cr

Search Tiki the way a Vietnamese shopper does and get the product grid.

required
query
optional
page, sort, price_min, price_max, min_rating, category_id, brand_id, seller_id

category

2 cr

Walk one Tiki category page by page, with the same filters as search and the same product rows.

required
category_id
optional
page, query, include_facets, sort, price_min, price_max, min_rating, category_id, brand_id, seller_id

brand

2 cr

One brand's whole Tiki shelf, paged and filterable exactly like a category, plus the brand's…

required
brand_id
optional
page, query, sort, price_min, price_max, min_rating, category_id, seller_id

seller

2 cr

One merchant's whole Tiki shelf plus the merchant's own profile.

required
seller_id
optional
page, query, sort, price_min, price_max, min_rating, category_id, brand_id

product

1 cr

The full Tiki product record.

required
product_id
optional
seller_product_id

product/variants

1 cr

Every colour, size or pack of one product with ITS OWN price, strikethrough price, discount,…

required
product_id
optional
seller_product_id

product/reviews

1 cr

The customer reviews Tiki publishes for a product.

required
product_id
optional
seller_product_id, page, stars, sort

suggest

0 cr

Tiki's own autocomplete for a partial query.

required
query
optional

categories

0 cr

Tiki's category tree, one level at a time, each category with its id, name, URL, depth, wheth…

required
optional
parent_id, query

Every parameter, every allowed value →

Tiki API

4 of 9 endpoints, ready to run

View docs ↗

Tiki products for a Vietnamese keyword: price_vnd, original_price_vnd, the real discount, rating and review count, units sold, the seller, and both ids you need to read the product — plus Tiki's own match count for the query.

2 credits1 required · 3 optional
POST/tiki/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Tiki API works

Tiki is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 280 engines.

02
Call
POST /tiki/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
0 or 1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Track a Vietnamese price without picking up the wrong merchant's number

Tiki prints two prices, sells one product id through several merchants at different prices, and pages a price sort by band rather than in order. Four calls keep all of that straight.

01search
POST/tiki/v1/search
{"query": "nồi chiên không dầu"}

40 products with product_id AND seller_product_id, price_vnd, original_price_vnd, discount_percent, rating, units sold and the seller — plus Tiki's own count for the query, 620 on this one.

02product
POST/tiki/v1/product
{"product_id": "278628812", "seller_product_id": "278630772"}

Apple iPhone 17 Pro at 30,990,000 dong from Tiki Trading, with the spec table, 11 images, warranty terms, the seller's store link and any rival offers. Both ids together name one offer; the product id alone would let Tiki choose the merchant.

03category
POST/tiki/v1/category
{"category_id": "1789", "include_facets": true}

107 products in Phones and Tablets, with Tiki's own filter counts beside them: 17 brands, 14 sellers, ROM and camera bands, and the rating and price bands — so the next call is narrowed by a real number, not a guess.

04reviews
POST/tiki/v1/product/reviews
{"product_id": "106863963", "stars": 1}

The 74 one-star reviews out of 7,046, with text, verified-buyer flag, delivery rating and photos — and the full histogram alongside, so the average is checkable rather than taken on trust.

A Vietnamese price you can defend: the charged price and the strikethrough held apart and matching the figures Tiki publishes on its own product pages 10 times out of 10, each one pinned to the merchant that actually sells it rather than whichever offer Tiki's buybox picked, a category sized by Tiki's own filter counts instead of an estimate, and the 74 one-star reviews sitting behind a 4.8 average.

request
curl -X POST https://api.reefapi.com/tiki/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "tiki",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

Which number is the price, and why the seller id belongs in the call

Tiki prints two prices on a product and a Tiki product id can carry several merchants' offers at different prices. The API publishes both prices under unambiguous names and pins the record to the offer you asked for. Measured on 2026-09-23 against the figures Tiki publishes on its own product pages.

Tiki productprice_vndoriginal_price_vnddiscount_percent
Nồi Chiên Không Dầu BlueStone AFB-58561442000299900052
Sách Đắc Nhân Tâm (Tiki Trading offer)10425013900025
Sữa rửa mặt Mistine Acne Clear VitC6240010900043
Giày Nam Đúc Liền Khối Siêu Nhẹ12850016900024
Apple iPhone 17 Pro30990000309900000

price_vnd is what that merchant charges and original_price_vnd is Tiki's strikethrough; they are equal when there is no discount, which was the case on 214 of 280 product rows measured, and in all 214 the two numbers agreed exactly. discount_percent is Tiki's own figure and discount_percent_computed is worked out from the two prices, so a disagreement is visible rather than absorbed; on the 12 products audited they agreed 12 out of 12. Pass seller_product_id with a product lookup whenever you have one - every row and every URL this API returns carries it. Without it Tiki answers with whichever offer its own buybox picks: on 30 products measured, 2 came back with a different merchant and a different price, the widest being 104,250 dong against 73,000 for the same book. When no seller_product_id is given the record says so in offer_is_buybox.

Which price, which seller, which reviews, and what Tiki does not publish

tiki.vn only — one marketplace, one currency. Measured on 2026-09-23 across 89 calls covering six categories, ten products verified against Tiki's own published figures, and 280 product rows counted field by field. All 89 succeeded. Five of these lines go against us.

One market: Vietnam, prices in dong

This engine reads tiki.vn, Vietnam's home-grown marketplace. Every price is VND as a whole number, because the currency has no minor unit. There is no country parameter, because there is no other storefront behind it.

Two prices, never confused

price_vnd is what that merchant charges and original_price_vnd is Tiki's strikethrough; they are equal when there is no discount, which was the case on 214 of 280 rows measured, and in all 214 the two numbers agreed exactly. Checked against the figures Tiki publishes on its own product pages for 10 products across 5 categories: 10 of 10 matched on the price, 10 of 10 on the strikethrough price and 10 of 10 on the seller name.

The seller is part of the question

A Tiki product id can carry several merchants' offers. Pass seller_product_id with a product lookup and you get that merchant's price; every row and URL this API returns carries it. Without it Tiki answers with its own buybox pick — on 30 products measured, 2 came back with a different merchant and a different price, the widest 104,250 dong against 73,000 for the same book — so the record sets offer_is_buybox when it had none. The other_sellers block lists every rival offer with its own price, and was non-empty on 2 of 12 products checked.

Search in Vietnamese, or the answer is quietly thin

Tiki matches the words printed in a product title and does not translate. điện thoại returns over 10,000 results and phone returns 92; tã bỉm returns 7,635 and diaper returns 2. Diacritics are passed through exactly as sent and never normalised, because the accent-free form is a different query: giày returns 4,608 and giay 8,802, sharing 1 row in 40. A query with no diacritics comes back with a query_note saying so.

Paging stops at 2,000 rows per query

Forty products a page, up to page 50. total_results is the exact number when Tiki publishes one and null when it publishes the ceiling text 10000+ instead, which the API never converts into an invented integer; total_results_text always carries Tiki's own words. Reviews are the exception and page far deeper — 7,046 over 353 pages on one product.

Filters bite, and Tiki's own counts prove it

On the search iphone, 3,399 unfiltered: 124 under 50,000 dong, 77 in a 1 to 15 million band, 842 rated 4 plus, 705 rated 5, 3 in one category, 3 for one brand and 4 from one seller. On category 1789, 107 unfiltered: 84 in the price band, 30 rated 4 plus, 19 from one seller, 5 for one brand and 3 for a keyword. On one product's reviews, 7,046 unfiltered against 74, 63, 135, 726 and 6,048 by star. Filters that Tiki accepts but ignores are not offered at all, and an unknown sort is rejected rather than silently dropped.

Availability, not a stock count

in_stock and inventory_status come from Tiki's own status for the offer. The quantity field Tiki publishes was the identical value 1,000 on all 19 products checked across 7 categories — a per-order cap rather than inventory — so it is returned as max_order_qty and min_order_qty under the meaning it actually has, and never as stock. Variants carry availability but no per-variant count, because Tiki publishes none.

Fields that are not always there

Counted across six categories of forty rows each, not assumed. Books carry no brand at all: brand_id and brand_name were absent on 40 of 40 book rows and present on 40 of 40 rows everywhere else, so the brand action cannot cover books. rating is null on most rows because most products have no reviews yet — 6 of 40 book rows and 9 of 40 shoe rows carry one — while review_count is still returned as 0, which is a real answer. quantity_sold is absent on 124 of 280 rows, and origin ranges from 40 of 40 on nappies to 7 of 40 on books. Id, name, both prices, discount, seller, SKU, image, category and availability were 40 of 40 in all six categories.

A price sort is re-ordered for you

Sorting by price selects a price band that moves as you page — on sách, page 1 spans 9,500 to 14,000 dong, page 2 spans 14,000 to 25,000, page 10 spans 40,000 to 41,000 — but Tiki returns the forty rows newest-listing-first inside that band. This API sorts the page by price and sets page_reordered, and price_band_vnd reports the page's real span so the occasional just-listed product outside the band stays visible: 3 of 40 on laptop, 0 of 40 on four other queries.

What is not published

No questions-and-answers feed, no price history, no stock by delivery area, no order data. Facets are a category feature, so include_facets does nothing on a keyword search. Tiki's meta title and description fields are empty on every product measured and are not returned. The search row's name and the product record's name can differ because Tiki publishes both — 9 of 10 matched, 1 differed — and each action returns the name its own source publishes.

Clean strings

Product descriptions, review bodies and brand descriptions arrive as markup and are returned as plain text. 5,523 strings were scanned across every action's output on 2026-09-23 and none carried an HTML tag or entity.

What people build with Tiki

The jobs this data is most often used for.

9

endpoints

0/1/2

credits per call

01

Track Vietnamese retail prices in dong with the charged price and the strikethrough kept in separate fields, so a campaign is never mistaken for the list price.

02

Watch every merchant selling the same product: the seller behind the offer plus every rival offer with its own price, on one product call.

03

Size a category before you commit to it, using Tiki's own filter counts for brand, seller, price band and rating rather than an estimate.

04

Follow variant-level pricing on fashion and homeware, where one listing is a dozen colour and size combinations each priced and stocked separately.

What Tiki data costs

The cheapest call here is 0 credits, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 280 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/tiki/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/tiki/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Tiki.

Get a free key →
Do I have to search in Vietnamese?

For full coverage, yes, and the API tells you when you have not. Tiki matches the words printed in a product title and does not translate, so an English term returns a small, off-topic set with no error at all: điện thoại returns over 10,000 results and phone returns 92; tã bỉm returns 7,635 and diaper returns 2, one of which is a book. Diacritics are passed through exactly as you send them and are never stripped, because the accent-free spelling is a different query rather than the same one - giày returns 4,608 results and giay returns 8,802, and the two share only 1 row in 40. Any query with no Vietnamese diacritics comes back with a query_note saying this.

Why do I need seller_product_id as well as product_id?

Because one Tiki product id can carry several merchants' offers, and the two ids together name one offer. Give the API both and you get that merchant's price. Give it only the product id and Tiki answers with whichever offer its buybox picks - measured on 30 products, 2 came back with a different merchant at a different price, the worst 104,250 dong against 73,000 for the same book. Every product row and every product URL this API returns carries the right seller_product_id, and if you paste a tiki.vn URL that has one, it is used automatically. When it is missing, the record returns offer_is_buybox true so you always know which case you are in. The other_sellers block on the product record lists every rival offer with its own price.

How deep can I page, and what is total_results?

Forty products a page, up to page 50, so 2,000 rows per query however large the match count is. total_results is the exact number when Tiki publishes one and null when it publishes the ceiling text 10000+ instead - the API never invents an integer out of that, and total_results_text always carries Tiki's own words while total_results_capped tells you which of the two you are holding. Reviews page far deeper: 7,046 reviews over 353 pages on one product, twenty a page.

Does sorting by price actually work?

Yes, and the API does the part Tiki leaves out. Sorting by price genuinely selects a price band that moves as you page - on the query sách, page 1 spans 9,500 to 14,000 dong, page 2 spans 14,000 to 25,000 and page 10 spans 40,000 to 41,000 - but Tiki hands the forty rows back newest-listing-first inside that band rather than in price order. This API re-orders the page by price and sets page_reordered so you know it did, and price_band_vnd reports the page's real span so the occasional just-listed product that lands outside the band stays visible instead of being hidden. Unknown sort values are rejected rather than silently ignored.

Is there real stock data?

There is a real availability signal and no real stock number, and the API does not pretend otherwise. in_stock and inventory_status come from Tiki's own status for the offer. Tiki also publishes a quantity field on every product, but it was the identical value 1,000 on all 19 products checked across 7 categories - it is a per-order cap, not inventory - so it is returned as max_order_qty and min_order_qty, under the meaning it actually has, and never as stock. Variants carry their own availability status but no per-variant count, because Tiki does not publish one.

Which fields are not always there?

Four, all counted rather than assumed, across six categories of forty rows each. Books carry no brand at all - brand_id and brand_name were absent on 40 of 40 book rows and present on 40 of 40 rows in every other category - so the brand action cannot cover the book catalogue. rating is null on most rows because most Tiki products have no reviews yet: 6 of 40 book rows and 9 of 40 shoe rows carry one, and review_count is still returned as 0 because zero reviews is a real answer. quantity_sold is absent when Tiki does not publish it, on 124 of 280 rows. origin is filled on 34 to 40 of 40 rows in most categories but only 7 of 40 on books. Everything else - id, name, both prices, discount, seller, SKU, image, category and availability - was 40 of 40 in all six categories.

Can I filter reviews by star rating?

Yes, and only that filter is offered, because it is the only one that works. Asking for one through five stars really narrows the set: on a product with 7,046 reviews the counts come back as 74, 63, 135, 726 and 6,048, and the returned pages carry only that rating. Several other review filters that Tiki appears to accept change nothing at all, so this API does not expose them. Note that Tiki publishes three different review counts for the same product - 6,153 on the product record, 7,046 on the review stream and a histogram summing to 7,029 - and the API returns all three under separate names rather than picking one.

What does this API not cover?

There is no questions-and-answers feed, no price history, no stock by delivery area and no order data - Tiki does not publish them. Facets are a category feature, so include_facets has no effect on a keyword search. Tiki's own meta title and description fields are empty on every product measured, so they are not returned. And the search row's product name and the product record's name can differ, because Tiki publishes both: on 10 products checked, 9 matched and 1 differed, where the listing carried the full seller title and the record carried a shorter one. Each action returns the name its own source publishes rather than one being silently overwritten.

What is the Tiki API?

Tiki API is a ReefAPI endpoint group for vietnam's home-grown marketplace: prices in vnd with the strikethrough kept apart, per-seller offers, variants and reviews with the star histogram. It returns live JSON through POST requests under /tiki/v1.

Is the Tiki API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Tiki calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Tiki login or account?

No login to Tiki is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Tiki data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Tiki API use?

Tiki actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Tiki from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call tiki actions with the same key, credit pool and JSON envelope used by normal REST requests.

116 E-commerce & Marketplaces APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Tiki, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 279 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-23.