Apinoa Docs

Categories

List one level of TikTok Shop's category tree.

View raw .mdx
GET | POST /v1/tiktokshop/categories

Send parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.

Parameters

ParameterTypeRequiredNotes
categoryIdstringOmit for the root departments; give a category id to list its children.
regionstringBuyer country as ISO 3166-1 alpha-2; sets availability, shipping and price.

Request

curl "https://gateway.apinoa.com/v1/tiktokshop/categories" \
  -H "x-api-key: $APINOA_API_KEY"

Response

Returns CategoryList in data. A real response, shortened: arrays keep their first entries and long text is cut.

{
  "success": true,
  "data": {
    "marketplace": "tiktokshop",
    "path": [],
    "categories": [
      {
        "id": "605196",
        "name": "Automotive & Motorcycle",
        "hasChildren": true,
        "browsable": true
      },
      {
        "id": "602284",
        "name": "Baby & Maternity",
        "hasChildren": true,
        "browsable": true
      }
    ]
  }
}

Errors

StatusCodeMeaning
400INVALID_PARAMSA parameter is missing, unknown or out of range. The message names it.
401UNAUTHORIZEDThe x-api-key header is missing, or the key is revoked or unknown.
402INSUFFICIENT_BALANCEThe balance does not cover this call. Top up in the dashboard.
404NOT_FOUNDThe category does not exist.
429MARKETPLACE_SATURATEDToo many concurrent calls. Retry after the Retry-After seconds.
502UPSTREAM_ERRORThe platform answered with something unusable. Retry with backoff.

Every code is listed in Errors. Failed calls are not billed.

Pricing

Price $0.001 per call. List price; the rate steps down above 1,000 calls a day.

Notes

  • Omit categoryId for the 28 departments. Pass one to list its children and get its own path.
  • Every id it returns is accepted by Browse.

On this page