{
  "openapi": "3.0.1",
  "info": {
    "title": "Taobao & 1688 Checker: Fake Brand Flag, Landed Cost & Sizes",
    "description": "Buy, check or avoid verdict for Taobao, Tmall and 1688 products from any scraper dataset, CSV or Sheet: counterfeit brand flag, seller trust score, English summary, US/UK/EU sizes and estimated delivered cost. No scraping. Charged per product checked. Agent-ready: MCP.",
    "version": "0.1",
    "x-build-id": "XLxRl3UyAguhXdjTg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nerolabs~china-buy-check/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nerolabs-china-buy-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nerolabs~china-buy-check/runs": {
      "post": {
        "operationId": "runs-sync-nerolabs-china-buy-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nerolabs~china-buy-check/run-sync": {
      "post": {
        "operationId": "run-sync-nerolabs-china-buy-check",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "title": "Dataset",
            "type": "string",
            "description": "The dataset of a Taobao, Tmall or 1688 scraper run (pizani, scrapesage, zen-studio, memo23, tortuga, sian.agency and others all work). Every original column is kept and the verdict columns are added. Title, price, shop, ratings, sales, sizes and weight are found automatically. In an integration set it to {{resource.defaultDatasetId}}."
          },
          "fileUrl": {
            "title": "File or Google Sheet URL",
            "type": "string",
            "description": "A public link to a CSV, Excel, JSON or JSON Lines file with one product per row (a scraper export or your own sourcing sheet). A normal Google Sheets link works when shared as 'Anyone with the link can view'."
          },
          "fileFormat": {
            "title": "File format",
            "enum": [
              "auto",
              "csv",
              "tsv",
              "json",
              "jsonl",
              "xlsx"
            ],
            "type": "string",
            "description": "Leave on 'Detect automatically' unless the link has no file extension.",
            "default": "auto"
          },
          "sheetName": {
            "title": "Excel sheet name",
            "type": "string",
            "description": "Which sheet to read from an Excel workbook. Defaults to the first sheet."
          },
          "data": {
            "title": "Product rows",
            "type": "array",
            "description": "Product rows as JSON objects, for a quick run or an AI agent call, e.g. [{\"title\": \"...\", \"price\": 59, \"shopName\": \"...\", \"url\": \"https://item.taobao.com/item.htm?id=...\"}]."
          },
          "destinations": {
            "title": "Deliver to",
            "type": "array",
            "description": "Where to estimate the total delivered cost: US (in USD), UK (in GBP), EU (in EUR).",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "UK",
                "EU"
              ],
              "enumTitles": [
                "United States",
                "United Kingdom",
                "European Union"
              ]
            },
            "default": [
              "US",
              "UK",
              "EU"
            ]
          },
          "quantity": {
            "title": "Quantity per product",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "How many pieces you plan to order. If the seller's minimum order is higher (common on 1688), the minimum is used and the row says so.",
            "default": 1
          },
          "agentFeePercent": {
            "title": "Shopping agent fee (%)",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "Service fee your shopping agent charges on the item price. Agents charge about 0 to 10%.",
            "default": 5
          },
          "domesticShippingCny": {
            "title": "China shipping to agent (¥)",
            "minimum": 0,
            "maximum": 1000,
            "type": "number",
            "description": "Shipping from the seller to the agent's warehouse in China, used when the row has no shipping fee.",
            "default": 8
          },
          "defaultWeightKg": {
            "title": "Weight per piece if unknown (kg)",
            "minimum": 0.01,
            "maximum": 100,
            "type": "number",
            "description": "Used when the row has no weight. Packed shoes are often 1 to 1.5 kg.",
            "default": 0.5
          },
          "shippingUsdPerKgUS": {
            "title": "Shipping to US ($ per kg)",
            "minimum": 0,
            "maximum": 200,
            "type": "number",
            "description": "Typical agent economy line rate to the US.",
            "default": 12
          },
          "shippingUsdPerKgUK": {
            "title": "Shipping to UK ($ per kg)",
            "minimum": 0,
            "maximum": 200,
            "type": "number",
            "description": "Typical agent economy line rate to the UK.",
            "default": 10
          },
          "shippingUsdPerKgEU": {
            "title": "Shipping to EU ($ per kg)",
            "minimum": 0,
            "maximum": 200,
            "type": "number",
            "description": "Typical agent economy line rate to the EU.",
            "default": 11
          },
          "usDutyPercent": {
            "title": "US duty (%)",
            "minimum": 0,
            "maximum": 300,
            "type": "number",
            "description": "US import duty on the item price. The small-parcel exemption is suspended, so every China parcel pays duty; about 25 to 40% covers most consumer goods. Set your product's own rate if you know it.",
            "default": 30
          },
          "ukVatPercent": {
            "title": "UK VAT (%)",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "UK import VAT on goods plus shipping. Goods up to £135 pay no customs duty.",
            "default": 20
          },
          "euVatPercent": {
            "title": "EU VAT (%)",
            "minimum": 0,
            "maximum": 50,
            "type": "number",
            "description": "Import VAT in your EU country (17 to 27%).",
            "default": 21
          },
          "euItemDutyEur": {
            "title": "EU flat duty per item type (€)",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Flat EU customs duty on goods up to €150, in force since 1 July 2026.",
            "default": 3
          },
          "titleField": {
            "title": "Title field",
            "type": "string",
            "description": "Only if detection picks the wrong column: the field holding the product title (nested fields use a dot, e.g. 'productInfo.title')."
          },
          "priceField": {
            "title": "Price field",
            "type": "string",
            "description": "Only if detection picks the wrong column: the field holding the price, e.g. 'priceCny' or 'price.min'."
          },
          "priceCurrency": {
            "title": "Price currency",
            "type": "string",
            "description": "Only if the rows have no currency column: the currency of the price field (CNY for Taobao, Tmall and 1688)."
          },
          "keep": {
            "title": "Rows to keep",
            "enum": [
              "all",
              "ok",
              "not_avoid",
              "buy"
            ],
            "type": "string",
            "description": "Which rows to write. 'All rows' keeps every input row, including ones that could not be checked.",
            "default": "all"
          },
          "keepOriginalFields": {
            "title": "Keep original columns",
            "type": "boolean",
            "description": "Keep every column from your scraper next to the new ones. Turn off for a compact table.",
            "default": true
          },
          "exportFormats": {
            "title": "Also save as a file",
            "type": "array",
            "description": "Also save the results as CSV or Excel in the run's key-value store (charged once per file).",
            "items": {
              "type": "string",
              "enum": [
                "csv",
                "xlsx"
              ],
              "enumTitles": [
                "CSV",
                "Excel (xlsx)"
              ]
            }
          },
          "outputDatasetName": {
            "title": "Also append to a named dataset",
            "type": "string",
            "description": "Name of a dataset to append the results to, for keeping a running sourcing list across runs."
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many rows.",
            "default": 50000
          },
          "concurrency": {
            "title": "Parallel AI requests",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many batches of 4 products are read at once.",
            "default": 4
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}